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.
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.
The major value of this component is the ability to provide flexibility on both ends:
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.