ilib the course book finder and reading list app
Sat, Sep 12, 2009
JISC have come up with a competition to make use of the MOSAIC data that summarises library lending in gigantic XML files, so I thought I’d put the old grey matter to work in my spare time and the result is iLib. It’s a simple application built on Passenger + Rack + Sinatra, and is 100% Ruby and open source. The MOSAIC XML files are quite difficult to deal with as they’re around 200Mb each which precludes DOM handling and SAX on every request is a no-goer. So I built a processing pipeline that converts the MOSAIC XML to native iLib JSON objects. As the XML is essentially static, for the moment anyway, it made sense to run the converter as a cron job once a night to update the JSON and build the UI to work directly with the JSON. It’s fast, lean and pretty darn mean, even if I say so myself! The stack is summarised below:
The application is a basic trawler of MOSAIC lending records, allowing you to search courses and books. For each course, it shows you the lending broken down by year of study and for each book, there are Google and Amazon links, as well as links to other courses the book was used on. You can also create a reading list and add and remove books from it:
The interactivity comes from creating and populating reading lists and you can also share them with other iLib users. There’s also rudimentary password protection on the reading lists with the facility to have a new password generated if you forget it.
I won’t waffle on about how to use iLib as the opening page is a full description of the features and how to use them and I’ve done a small video showing how to use the main features:
The application source is available fom my iLib GitHub project.