Ready to Learn?Ex Libris products all provide open APIs

  • Primo resources
  • Alma resources
  • Rosetta resources
  • Leganto resources
  • bX resources
  • SFX resources
  • Aleph resources
  • Voyager resources

Tech Blog


Alma - RAPID OAI Setup and Configuration

Laura Guy on March 16th, 2017

Brief Intro

The purpose of the document is to provide setup and configuration assistance for implementing OAI (Open Archives Initiative Protocol for Metadata Harvesting - OAI-MH) that will allow a more automated harvesting of holdings.  If you are interested in setting this up, contact the fine folks at RAPID, first.

Also note that you can right click on any of the images that follow and click on "View Image" to see the screenshots clearly.

The Goal is in part to eventually provide the folks at RAPID with two URLs that they need to set up the harvest of Alma holdings:

The Request URL

which is the link used to harvest holdings sets created by this process.

And the Alma URL

Which is the Alma link-resolver link that takes you to a specific journal in the collection.  This is an openurl link.


The following documents the RAPID OAI harvesting configuration for Mines in hope this will help other customers.  First written and put into production: November 2016.  LG.

It is presumed you have some understanding of integration profiles and publishing profiles in Alma.

The Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) is a low-barrier mechanism for developing and promoting interoperability standards that aim to facilitate the efficient dissemination of content across repositories. Data Providers are repositories that expose structured metadata through OAI-PMH. Service Providers then make OAI-PMH service requests to harvest that metadata. OAI-PMH uses six request types (“verbs”) that are invoked within HTTP. Using this functionality, Alma can publish metadata (as a Data Provider) which can then be harvested by external tools/repositories (Data Harvesters) like RAPID.


To Do List In brief:

Create OAI integration profile

Create Sets

Create publishing profiles for sets

Schedule publishing profiles (first run full, then incrementals)

Test and Get URLs send to RAPID


Work Log:


Add the OAI Publishing Profile (from: Integration Profiles)


General Configuration Menu > Integration Profiles > OAI_DEFINITION > Actions tab


OAI Definitions



OAI Config



Note IP setup above.  Your setup may vary.




Next, Create your sets (first example is for ejournals, second is for physical journals) 

Name of ejournal set: Rapidd-ILL-eJournals

Note search attributes used below:


E-Journals set. 


Create a Publishing Profile for ejournals, from: Resource Management Configuration Menu > Publishing Profiles > Rapid-ILL-eJournals



We used this Services URL as per advice  (our openURL or link resolver base).  See below:


This is from our Primo Back office.  Displays Base URLs.  We (as mentioned) use the Primo one marked with purple


Set up your OAI publishing profile:


Publishing Profile for ejournals (note the first time you run it, it will be Full, then set to incremental.



Data Enrichment for ejournals as above  – includes link resolver base URL as specified in the earlier Back Office screenshot.



Run FULL Publishing profile

Test the ListSets URL you see below to make sure it is successful.

Example of test:


Test URL displays your sets.  Initially only the first set was displayed (we didn’t do a screenshot at that time, so you see both electronic and physical here -- apologies!)




Test your data:

Example URL:

This test renders ejournals set data.




Schedule, (or run manually) Incremental from this point forward:


Resource Configuration Menu --> Publishing Profiles


This was done.  Weekly incremental set up.  This was discussed with RAPID and the schedule was approved by them.


We had a naming issue initially and that was fixed.  The above screenshot shows the first two full and the first two incremental publishing jobs. All are good. As mentioned we run these incrementals weekly – every Sunday at 5am.  That schedule was approved by RAPID.



(The above has been changed to Incremental Scheduling see screenshot at bottom of document)




Repeat all of the above for print journals.

Create a Set: Rapid-ILL-pJournals as you see below.  Note the search attributes:


Create Publishing Profile: Rapid-ILL-pJournals



Print journals publishing profile.  Run once as full then change to Incremental.




Print data enrichment needs to be set up.  See the above screenshot and the following one.

Print enrichment as per advice received.



Run the publishing profile in FULL > then set to Incremental and Schedule as per the ejournals.

Test set availability with ListSets (example):


Same as previous example. Displays available sets, now with two.


This test displays print journal data (example):




And Finally:


After all this work at the very end these are the two URLs that RAPID needs (other customers’ will look different):