Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

rest_oai_pmh

765 sites Security covered
View on drupal.org

Basic Overview

This modules exposes entities as Dublin Core in an OAI-PMH endpoint using Views, REST, and a metadata mapping module of your choice.

OAI-PMH Endpoint

The endpoint uses Drupal's core REST module. If you have the REST UI module enabled, the REST resource can be found at /admin/config/services/rest/resource/oai_pmh/edit. However, this should not be necessary, as you should not need to alter any of the core REST settings.

Sets and Records

To create OAI-PMH sets, you can use Drupal's core Views module to create one or more Views with an "Entity Reference" display. No other View display types (e.g. block, page, REST Export, etc) are supported.

  • For Views with a contextual filter to an entity reference field, the entities referenced by the respective field will be used as the sets. With this approach, one View could expose multiple sets to the OAI-PMH endpoint
  • For Views with no contextual filter, the View display's display ID will be the setSpec, and the View display's label will be the setName.

You will then be able to select which View(s) in your system to expose to OAI-PMH in this module's configuration form (located at /admin/config/services/rest/oai-pmh). You can associate as many Views as are defined in your system with OAI, and can select both Views with and without contextual filters to show in OAI-PMH.

You will also be able to disable OAI "set" functionality in this module's config form, but will still need to use Views to tell the OAI endpoint which entities should be exposed.

Metadata Field Mapping

The Dublin Core field mappings can be provided by any one of the following methods:

  • Drupal's core RDF module: you will need to add Dublin Core field mappings in an RDF config file for the entity type(s) (e.g. node, taxonomy_term) that are exposed to OAI-PMH.
  • Metatag Dublin Core or Dublin Core Advanced: you will need to use Metatag's UI at /admin/config/search/metatag to add Dublin Core mappings for the entity type(s) that are exposed to OAI-PMH
  • Custom module or theme overriding hook_rest_oai_pmh_metadata_template_alter
  • Other modules may be supported by creating an issue

Metadata Formats

Provided by rest_oai_pmh

  • Dublin Core
  • MODS

Additional formats

Similar projects

  • Views OAI-PMH: Views OAI-PMH leverages Views' functionality to expose the OAI-PMH endpoint; all of the OAI-PMH settings are conveniently located in a single View admin interface. However, Views OAI-PMH does not support sets. Also, mapping fields to Dublin Core is specific to the module, so other Drupal functionality may not be able to leverage the field mapping, which could result in duplicate effort for the site administrator.

Activity

Total releases
6
First release
Aug 2025
Latest release
1 month ago
Release cadence
40 days
Stability
83% stable

Release Timeline

Releases

Version Type Release date
2.2.1 Stable Feb 23, 2026
2.x-dev Dev Feb 19, 2026
2.2.0 Stable Feb 19, 2026
2.1.1 Stable Dec 8, 2025
2.1.0 Stable Dec 8, 2025
2.0.3 Stable Aug 7, 2025