Wednesday, 16 April 2008

Release of alpha-quality web interface framework for Fedora

Just a heads up that I have uploaded the code for the web interface framework for Fedora - the same framework I used at Open Repositories 2008, but cleaned up a bit. (In respect for that, it ships with the same graphics and blurb from the OR08 EPrints repository)

Project Home:
http://code.google.com/p/python-fedoracommons-webarchive/

I am adding documentation as I go along, and it is at an early preview level. E.g. if you can get it up and running (which isn't too taxing) have fun. Please raise any issues or problems on the Google code issue tracker.

One thing I'd like to point out, is that this is very much a framework - you tailor it to how you need it. What it provides is:

- Items can have a content-type, and this predefines how the item is presented - see http://code.google.com/p/python-fedoracommons-webarchive/source/browse/trunk/archive/lib/cmodel_mapper.py and http://code.google.com/p/python-fedoracommons-webarchive/source/browse/trunk/archive/lib/app_globals.py for more in depth details.

- Items support pingback, and trackback out of the box.
- See the URL structures here for more goodness: http://code.google.com/p/python-fedoracommons-webarchive/wiki/DefaultURLScheme

- Oh and the project is most definitely a WIP, so bear with me. It may not all be there at the moment, but I work fast :)

2 comments:

Anonymous said...

sounds interesting! i guess, i would get oai-pmh and fulltext search for free, right?

Ben O'Steen said...

The default setup is to simply index dublin core fields - the underlying search engine can easily cope with full-text search, you just have to index it. Take a look at the BasicSolrFeeder in archive/lib/solrfeeder.py to see an example of howto add fulltext (and use Yahoo's excellent term extraction package in the process)

The OAI-PMH comes from the already existing services for Fedora-commons, such as PROAI or the builtin provider.

So, yes, you get the facilities for free :) But bear in mind this is still a framework - I expect that the default setup is unlikely to suit all your needs, but I have made it as extensible as I can. Check the wiki soon for details on how to handle your own object types, customising the indexing, browse and search functions and other useful tips.