General Information

Introduction

The icat.oaipmh component provides an interface for OAI-PMH. For this purpose, once it is deployed in Payara, it listens for requests at a dedicated endpoint URL. It then connects to ICAT as a normal client to gather the information needed to answer those requests.

Accessing ICAT

The component will disseminate all relevant information from ICAT. This can be regulated using the normal ICAT access rules: The user that icat.oaipmh connects as must have read permission for all relevant ICAT objects. It shouldn't be given read access to any private information, and no write permissions. For instance, one might configure icat.oaipmh to connect as the anonymous user.

Flexibility

The major value of this component is the ability to provide flexibility on both ends:

  • Each facility uses ICAT differently. Hence, the relevant information needed to reply to OAI-PMH requests may be found at different places in the ICAT schema for different facilities.
  • OAI-PMH is designed to serve metadata in different formats (Dublin Core, DataCite etc.). Thus, the content and the structure of the reply may need to be different depending on what the harvester is able to digest or wants to see.

In order to overcome this challenge, icat.oaipmh in a fist step compiles the information from ICAT into a generic XML format. The information that gets into this XML file can be controlled using the various "data.*" directives in run.properties (see installation notes). One may tweak these directives according to where the relevant information is to be found in ICAT.

In a second step, icat.oaipmh transforms the generic XML file into the metadata format requested by the harvester using XSLT. For each metadata format which a facility wants to support, a corresponding XSLT stylesheet must be created. These stylesheets will also depend on the way the information is stored in the ICAT schema.