We are working on a OpenStack Swift storage solution for Resources.
The idea is to not change anything of Sakai except that instead of files being written to disk/db it is written to Swift.
I completed the initial implementation and would like some input. The change is make in 2 parts, first a change to Kernel to allow a storage handler to be injected with Spring. This will make it easier to swap this out to store to other systems too. The second part is then a implementation that will write to Swift.
Attached is the patch against trunk to update the DbContentService to user handlers for reading and writing files. This patch will change nothing else about the implementation and is just a clean update to allow further development.
Still to do: I want to carry the SiteID through to the handler. This is to add extra reporting on the Swift side.
I will share the Swift implementation (which I did in a separate project so you don't need to package it with Sakai) a little later.
PS. I did make other small updates to the class for coding standards....Bad but I could not help myself.