Category Archives: Open Source Software

dspace plugin for Europeana Semantic Elements

Source code and instructions in order to enable Europeana Semantic Elements support in dspace 1.5.2. Last update: 2012-05-01.

The problem

The vanilla dspace installation supports exporting Dublin Core metadata through the OAI-PMH protocol. For instance, the dspace installation of Veria Central Public Library OAI-PMH interface is:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=oai_dc

The problem is that if we want to share our metadata with Europeana, we have an incompatibility because Europeana does not support Dublin Core but Europeana Semantic Elements (ESE), an application profile which is based on Dublin Core.

Until the current version of  dspace (1.5.2) ESE is not supported. Below, a procedure is outlined which is essential in order to modify dspace in order to export ESE metadata. This goal is achieved through the inclusion of a OAI plugin, which is used to export ESE metadata. After following the procedure below, the result will be like this:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=ese

Procedure

First of all, the Europeana Metadata Schema and the appropriate europeana elements must be present in your dspace repository.

The following procedure has been performed in CentOS Linux 5.4 and Debian Linux 5. Prerequisites: Linux, Sun Java JDK, Apache Maven 2, Apache Ant, DSpace version 1.5 or newer. Warning! This plugin does not function in older versions of DSpace.

The procedure is comprised of two steps:

  1. Compile java-oai.jar with ESE support.
  2. Configure the current dspace installation in order to enable ESE support in the new java-oai.jar.

Compile java-oai.jar with ESE support

The file java-oai.jar is part of the dspace package. It is not required to compile the whole dspace package but only the module which is responsible for the OAI interface.

  1. Download from: http://sourceforge.net/projects/dspace/files/ the file dspace-1.5.2-src-release.tar.bzip2 and untar it to a local folder.
    • tar xjf dspace-1.5.2-release.tar.bzip2
  2. Download file ESECrosswalk.java and move it to the folder: dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai
    • mv ESECrosswalk.java dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai
  3. Using the linux shell, go to the folder: dspace-1.5.2-src-release/dspace-oai/dspace-oai-api and run mvn package. If everything works OK, the system will compile the software and after a lot of messages, the text BUILD SUCCESSFULwill appear on the console. If an error occures, some of the prerequisite files such as Sun Java JDK and Apache Maven are not installed correctly.
    • cd dspace-1.5.2-release/dspace-oai/dspace-oai-api/
    • mvn package
  4. Given that all the previous steps have been performed according to the plan, the file dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/target/dspace-oai-api-1.5.2.jar must have been created.

Configure the current dspace installation in order to enable ESE support

  1. First of all, we backup the current dspace installation.
    • tar cvjf /backup/dspace-backup.tar.bzip2 /dspace
  2. Shut down Tomcat
    • /etc/init.d/tomcat stop
  3. Copy the newly created dspace-oai-api-1.5.2.jar from our compilation and replace file /dspace/webapps/oai/WEB-INF/lib/dspace-oai-api-1.5.2.jar in the current dspace installation.
    • mv dspace-1.5.2-src-release/dspace-oai/dspace-oai-api/target/dspace-oai-api-1.5.2.jar /dspace/webapps/oai/WEB-INF/lib/dspace-oai-api-1.5.2.jar
  4. Modify dspace configuration file /dspace/config/oaicat.properties and append the following text entry Crosswalks.ese=org.dspace.app.oai.ESECrosswalk
  5. Start Tomcat.
    • /etc/init.d/tomcat start

Plugin features

The ESE Plugin modifies OAI-PMH output of dspace and adds some new elements in each record:

  • europeana:type valid values: TEXT, VIDEO, SOUND, IMAGE
  • europeana:provider e.g. Veria Central Public Library
  • europeana:object thumbnail URL (if any). This field is generated automatically if it is not set by the dspace administrator in each record. The plugin check automatically if there are any THUMBNAIL Dspace Bitstream Bundles for each item and if true, gets the URL of the first one of them. e.g. http://medusa.libver.gr/retrieve/7033/GRVER_000000000000000025.jpg.jpg
  • europeana:isShownBy Item URL, e.g. http://medusa.libver.gr/handle/123/920

Verification

In order to verify that your dspace library supports ESE, check out the following example:

Dublin Core Metadata of the Veria Central Public Library:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=oai_dc

A single record: Dublin Core Record.xml

ESE Metadata of the Veria Central Public Library:

http://medusa.libver.gr/oai/request?verb=ListRecords&metadataPrefix=ese

A single record: ESE Record.xml

The created ESE metadata have been verified successfully using the Europeana Content Checker Tool.