Provides support for an Islandora site to be visible via the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH).
Clone or download
Pull request Compare This branch is 61 commits ahead of adam-vessey:7.x.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github Address ISLANDORA-1616; Take avantage of new GitHub functionality and… Mar 17, 2016
transforms Fixed etdms schema URL, per ISLANDORA-1613 Feb 23, 2016
.travis.yml force PHP 5.3.3 to run under Ubuntu Precise Sep 12, 2017 Update Apr 10, 2017
islandora_oai.api.php fixed paths Apr 14, 2014

Islandora OAI Build Status


This module provides an implementation of a data provider according to the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) for an Islandora Fedora repository with a solr index. By implementing the islandora_oai module, you can expose content (its metadata) as an OAI-PMH repository. It will then be accessible by OAI harvesters. For further OAI documentation. For more info, please see this link.

With this module you can:

  • Receive OAI-PMH request of service providers in form of HTTP request (GET or POST)
  • Handle the OAI-PMH request
  • Respond to OAI-PMH request in form of HTTP response (XML) to the service provider


This module requires the following modules/libraries:


Install as usual, see this for further information.


Configure the basic details of the repository in Administration » Islandora » Islandora OAI (admin/islandora/tools/islandora-oai).


Configuration - the next page

If you select "configure" you see the following screens:

Solr and content model config

  • Solr date field - A datestamp to be appended to the metadata via the Solr index.
  • Solr RELS-EXT collection field - Fields entered here establish the object relationship of metadata to be passed on to the harvester.
  • Solr XACML role field - The site's Solr fields defining viewing permissions.
  • Solr hasModel field - The site's Solr field defining an object's content model.
  • Exclude Content Models - A list of content models, defined by their PID, to exclude from harvests. - if you exclude the collection content model, it disables the use of "sets" in OAi, as the name of the set is made by taking the PID of the collection and replacing the colon with an underscore.
  • Exclude objects within the "islandora" namespace
  • Append on dc.identifier.thumbnail to OAI_DC requests? - this only has an effect on OAI_DC output.

Metadata Format

This section allows you to configure the settings for the OAI-PMH's metadata_prefix verb; Islandora uses XSL files to define the method for transforming your site's metadata datastreams into a format compatible with the OAI-PMH. Islandora OAI comes with two XSL files; they convert the MODS datastream of an object to either Electronic Thesis and Dissertation Metadata Standard format or Dublin Core format, which then can be served up to a harvester. You will have to fill out and save this section for each metadata prefix you wish to enable. Below are sample configs for a oai_dc prefix and a mods prefix.

oai_dc setup

mods setup

After you have exposed content types and some fields, your repository is available at /oai2

Some example requests are as follows:

  • */oai2?verb=Identify
  • */oai2?verb=ListMetadataFormats
  • */oai2?verb=ListIdentifiers&metadataPrefix=oai_dc
  • */oai2?verb=GetRecord&metadataPrefix=oai_dc&identifier=PID
  • */oai2?verb=ListRecords&metadataPrefix=oai_dc

Services like WorldCat expect links back to the object such as a Handle URL. If your metadata doesn't have this there are two approaches that can be used. Self transforming XSLTs can be used to add specific elements tailored to individual needs. However, there is options in configuration to append on URL values to the XML output of OAI. Each metadata prefix has an individual set of configuration. If selected, a user can define where the object URL will get appended in the output returned.

Similarily, OCLC's Digital Collection Gateway can take advatange of thumbnail URLs for rendering. This option is only currently available for oai_dc requests. If selected, a URL to the object's thumbnail will be added as a dc:identifier.thumbnail if the object has a thumbnail.

If existing content has already been harvested and/or the url and thumbnail are not mapping in Digital Collection Gateway, you will need to map those manually in the 'Metadata Map' for a given collection/set.


By default the vanilla islandora_oai module provides a very basic output. It is possible to add additional content to the description field of the repository. This includes pointing at other harvesters and repositories, branding information etc. An example of how to implement these can be referenced in the 6.x version of the module.


The original 6.x version of this module was based off of the OAI2ForCCK module located here.

The responses generated by this module have been validated against Open Archives' Validation.


Further documentation for this module is available at our wiki.


Having problems or solved a problem? Check out the Islandora google groups for a solution.


Current maintainers:


If you would like to contribute to this module, please check out In addition, we have helpful Documentation for Developers info, as well as our Developers section on the site.