OAI-PMH Configuration
Overview
OAI-PMH is an XML based protocol for metadata exchange using HTTP as the transport layer. An OAI-PMH system consists of two parts, a repository on the one and the harvester on the other end. The repository is an HTTP accessible server that exposes metadata to its client, the harvester.
OAI-PMH repositories will be accessed using URLs of the form:
<OAI-PMH server> + <OAI-PMH mount point> + <OAI-PMH Repository>
Step 1: Configure the URL of the OAI-PMH server
The property to configure the OAI-PMH server URL can be found in
etc/org.opencastproject.organization-mh_default_org.cfg
:
prop.org.opencastproject.oaipmh.server.hosturl=http://localhost:8080
Step 2: Configure the OAI-PMH mount point
The property to configure the OAI-PMH mount point can be found in etc/custom.properties
:
org.opencastproject.oaipmh.mountpoint=/oaipmh
Step 3: Configure the OAI-PMH default repository
In case the repository is not included in the URL, the OAI-PMH default repository will be selected.
The property to configure the OAI-PMH default repository can be found in
etc/org.opencastproject.oaipmh.server.OaiPmhServer.cfg
default-repository=default
Step 4: Allow access to OAI-PMH mount point
Make sure that the OAI-PMH mount point is accessible. For example, if the OAI-PMH mount point has been set to /oaipmh, the following two lines
<sec:intercept-url pattern="/oaipmh/**" method="GET" access="ROLE_ANONYMOUS"/>
<sec:intercept-url pattern="/oaipmh/**" method="POST" access="ROLE_ANONYMOUS"/>
should be present in etc/security/mh_default_org.xml
.
Note that the OAI-PMH specification demands both GET and POST requests and that it does not feature any access restrictions. If you need to restrict access to OAI-PMH consider using Spring security or an iptables approach.