Archive for the ‘Technical’ Category

Greenstone3 Goes Mobile, Ported to Android Platform

Steve Jones. Wednesday, April 1st, 2009.

Would you like to have a Greenstone3 server in your pocket? Now you can with our port of the run-time system to Android. Fire-up Greenstone3 on your mobile phone and then access it just like any other Greenstone server, searching and browsing multimedia collections. You can connect to it over a wi-fi network, an ad-hoc wireless network (device-to-device) or via a USB cable.

You may have read about our earlier success in porting Greenstone2 to Apple devices. We have Greenstone2 running on early (3rd to 5th generation) iPods (see details of our demo) and the iPod Touch (see our paper here). Now Greenstone3, our next-generation digital library software, runs on a mobile handset.

Specifically, it runs on an HTC G1 Android-powered mobile phone. Android is a project of the Open Handset Alliance, and is an open platform for mobile devices.

How does it work?

Collections are built on a desktop computer in the same way as with standard Greenstone3. It is the runtime code that we have ported.

Greenstone3 conventionally runs as web-application of a Tomcat web server. However, it’s not tied to Tomcat, and can be used with an alternative web server such as Jetty . Of course, these and other desktop web servers aren’t going to run on a mobile device. Fortunately the people at Webtide have created i-jetty , a port of Jetty to Android, which solved our mobile web server requirements.

Greenstone3 is written in Java, as are Android applications. Normally though, Greenstone3 uses mg++ for indexing and GDBM as its database. Unfortunately both are written in C/C++ which isn’t much help when a totally Java runtime is needed. However, Greenstone3 supports the use of Lucene (indexing) and JDBM (database), both of which are Java. Using these we can build collections such that only Java is required for a fully functional Greenstone3 server.

However Android Java isn’t exactly the same as desktop Java, so some modification of the Greenstone3 runtime source code was required. This mainly relates to as yet unimplemented aspects of Android Java and its limited supported for XML processing. Some workarounds were required because of the limited memory (192Mb RAM) and processor power (528MHz) available on an actual handset.

The runtime is compiled into a JAR file. This and other necessary Java libraries, along with the standard Greenstone3 ‘web’ directory (which includes the collections) is organised into an i-jetty web application directory structure. i-jetty provides a utility to combine this into a WAR file, with Java classes converted into the byte code required by the virtual machine running on the Android device. This is then transferred to the SD card on the phone.

i-jetty is then launched on the phone with Greenstone3 available as a web application and accessible from a web browser by specifying the phone’s IP address and the webapp context as the URL.

At the moment the code is in pre-alpha release state. It works but needs some further debugging and optimization. When it’s ready we’ll make it available separately from the standard Greenstone3 distribution but eventually we’ll integrate it to the Greenstone3 package.

Any enquiries, technical or otherwise, should be sent to

Acknowledgement: purchase of the G1 handset was supported by the ICT Science Kudos Award 2008.

OAI Metadata Analysis Tool updated

Dave Nichols. Thursday, June 5th, 2008.

The OAI Visualisation and metadata analysis tool has been upgraded with:

  • lists of potential duplicate values for each element (using approximate string matching, i.e. edit distances)
  • lists of records that are missing particular elements
  • better linking to source item records
  • greatly improved stability

This new alpha 2 version is now running at the same URL:

OAI Visualisation Tool online

Dave Nichols. Wednesday, January 23rd, 2008.

A prototype OAI metadata analysis tool - producing statistics and visualisations of repository metadata - is now online.

Usage notes:

  • when clicking on the links of the left of the visualisation
    you may need to configure your browser to allow popups from
  • producing the analysis report does take some time (e.g. the whole of IDEALS at Illinois takes about 20-25 minutes) - so, initially, we suggest using the max records option to limit the number of items processed

There also is a short feedback survey where you can add comments and suggestions for new features.

Remote Building

admin. Thursday, October 27th, 2005.

Building collections on a remote Greenstone server. This scheme allows users to augment and edit collections that are held on a remote Greenstone server. Users work with a modified version of the Greenstone Librarian Interface but do not need to have Greenstone running locally. Multiple users can collaborate on the same collection (though not at the same time). Here are details of an experimental version that you can download (En EspaƱol).