Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Usage Milestone: Time Field for Drupal 8+ Module time_field crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

REST OAI-PMH

707 sites Security covered Drupal 10–11
View on drupal.org

This module provides an OAI-PMH endpoint that exposes Drupal entities as Dublin Core metadata. It uses Drupal's REST module and allows you to define OAI-PMH sets and records using Views. Metadata field mappings can be configured through RDF, Metatag, or custom modules.

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.

Depends on

Dependencies of the latest stable release

  • rest Drupal core
  • views Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
13
Tracked since
Oct 2024
Latest release
4 weeks ago
Releases (12 mo)
9 ▲ from 4
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
2.3.3 Stable 10–11 Aug 2, 2026
2.3.2 Stable 10–11 May 13, 2026
2.3.1 Stable 10–11 May 13, 2026
2.3.0 Stable 10–11 May 13, 2026
2.2.1 Stable 10–11 Feb 23, 2026
2.x-dev Dev 10–11 Feb 19, 2026
2.2.0 Stable 10–11 Feb 19, 2026
2.1.1 Stable 10–11 Dec 8, 2025
2.1.0 Stable 10–11 Dec 8, 2025
2.0.3 Stable 10–11 Aug 7, 2025
2.0.2 Stable 10–11 Nov 7, 2024
2.0.1 Stable 10–11 Oct 28, 2024
2.0.0 Stable 9–10 Oct 28, 2024