Update ContentService to store resources in OpenStack-Swift

Description

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.

Attachments

4
  • 23 Jul 2014, 10:05 AM
  • 08 Jul 2014, 10:28 AM
  • 08 Jul 2014, 04:48 AM
  • 17 Jun 2014, 09:20 AM

Activity

Show:

Noah Botimer April 11, 2015 at 8:10 PM

I have updated and tested this patch against master and issued pull request #394. I have not yet tested the Swift implementation. If you have suggestions on the best/easiest way to do so, please share them.

Samuel Holtzkampf April 7, 2015 at 9:15 AM

Hi Sam, I added the Swift implementation on our public Git repo : https://github.com/OpenCollabZA/sakai-openstack-swift

Sam Ottenhoff April 2, 2015 at 10:07 AM

Hi any update on this KNL ticket?

Sam Ottenhoff January 16, 2015 at 5:13 PM

Hi Samuel, Okay, sounds good. If you can contribute the Swift implementation, I will build an S3 implementation based on the Swift implementation.

Samuel Holtzkampf January 13, 2015 at 7:46 AM

Hi Sam. Jaques is not working on the project anymore. The code is not running in production yet. The project is only scheduled to go to production towards the middle of the year.

It would be great if you can get this into trunk. The Swift implementation is not hosted on a public repo but I will attach the source on the Jira.

Fixed

Details

Priority

Fix versions

Components

Assignee

Reporter

Labels

Created June 17, 2014 at 8:12 AM
Updated April 25, 2018 at 3:34 PM
Resolved May 27, 2015 at 8:29 PM