[ptsefton.com] | [CV & Bio]

Putting web content into a Fedora repository via IMS packages

2007-01-22

USQ now hosts another DEST-funded project operating in the same space as RUBRIC: FRED. That's Federated REpositories for EDucation. No that would be FREED.

Oliver Lucido, a developer I've worked with before has joined the FRED team and started immersing himself in the world of repositories and the e-Framework.

To get him started on the immersion process I asked Oliver to knock out a bit of code to put IMS content packages into a Fedora repository, via ICE. IMS packages are for exchanging courseware, but also turn out to be pretty handy for things like large sets of meeting papers, and packaging theses for web consumption.

Oliver wrote a bit of proof-of-concept code, which I'm sure will be made available by the FRED project under an appropriate license.

It works so well that there's actually nothing to see!

Here's the thesis on my web server so you can see what it looks like. This is a work in progress it is currently missing some emphasis styles and needs a bit of a general tidy up. There are a couple of images, copyright someone else, missing too not sure what I'm going to do about that yet. And the USQ logo will have to go! Or will it? If you are coming in later this may all be fixed up.

Here's a screenshot from the ICE application, showing the crude form for export to Fedora. The Fedora address is pre-populated by the code, so all you have to add is a user name and password. Obviously in a real system that could be hidden too, ICE should be able to identify you to Fedora, which can work out whether to authorize the deposit.

graphics2

And here's a screenshot of the address bar, showing the thesis being served from Fedora on the mac. See how the URL for a page is fedora/get/ followed by the ID of the object that contains all the parts, followed by a datastream ID, which is generated from the item's location in the package run through a hash function to make a usable Fedora ID.

The approach we took here was to break the code down into two parts. There is a generic package uploader on the Fedora side and a custom button, Export to Fedora on the ICE side.

graphics1

Using Java to smash up an IMS package (it's just a fancy zip file) and the SOAP interface to put stuff into Fedora proved easy for Oliver; the basic code was a matter of a few hours. Getting it to work with the version of Fedora I have running with VITAL on my virtual test machine, downgrading it to Java 1.4, and figuring out where to put the .war files has added a few hours to that. Seemed easy, but deployment got tricky. We eventually gave up and just went with Fedora 2.1.2. and Java 1.5. This means that we won't be able to demo the code with VITAL until we have version 3.

I've talked to Nigel Ward of the FRED project about this and it was a conversation starter alright: