1 of 7

How to setup an OAI-PMH endpoint

Introduction & SciCat implementation

This project receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857641

2 of 7

Index

  • What an OAI-PMH is
  • SciCat implementation
  • Step by step deployment of the SciCat OAI-PMH

2

This project receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857641

3 of 7

What an OAI-PMH is

The Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) is a low-barrier mechanism for repository interoperability.

  • OAI-PMH: is a set of six verbs or services that are invoked within HTTP
  • Data Providers: are repositories that expose structured metadata via OAI-PMH. A network accessible server that can process the six OAI-PMH requests.
  • Service Providers: then make OAI-PMH service requests to harvest that metadata.

This project receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857641

4 of 7

What an OAI-PMH is

data catalogue

  • item1
    • resource1
  • item2
    • resource2
  • item3
    • resource3

XML formatting

  • record1
  • record2
  • record3
  • ...

six OAI-PMH verbs

GetRecord,Identify,ListIdentifiers,ListMetadataFormats,ListRecords,ListSets

OAI-PMH data provider

  • icat OAI-PMH
  • SciCat OAI-PMH
  • ...

OAI-PMH service provider

  • datacite
  • B2FIND
  • openAIRE
  • ...

db

process

service

This project receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857641

5 of 7

SciCat implementation

mongoDB, SciCat datacalogue

catanie or the SciCat frontend

catamel or the SciCat backend

POST /Scicat/oai/Publication

SciCat OAI-PMH data provider

mongoDB, OAI-PMH storage

GET /Scicat/oai?verb=OAI-PMH_verb

GET /panosc/oai?verb=OAI-PMH_verb

GET /openaire/oai?verb=OAI-PMH_verb

db

request

service

POST/GET Publication

This project receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857641

6 of 7

SciCat implementation

mongoDB, SciCat datacalogue

catanie or the SciCat frontend

catamel or the SciCat backend

POST /Scicat/oai/Publication

SciCat OAI-PMH data provider

mongoDB, OAI-PMH storage

GET /Scicat/oai?verb=OAI-PMH_verb

GET /panosc/oai?verb=OAI-PMH_verb

GET /openaire/oai?verb=OAI-PMH_verb

db

request

service

POST/GET Publication

XML formatting

This project receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857641

7 of 7

Step by step deployment of the Scicat OAI-PMH *

  1. Clone the SciCat OAI-PMH repository.
  2. Customise the mongo connection parameters here to point to the mongoDB instance to use.
  3. Run npm install+node or the build the Dockerfile image and run it.
  4. Add the key value pair: oaiProviderRoute: '$url:$port/Scicat/oai/Publication' to the module.exports map in the config.local.js file of your catamel service deployment, using the url and port from (3).
  5. Restart the catamel service.

* Still requires few manual steps. Can be simplified by means of docker-compose or helm chart.

This project receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857641