Rapid Holdings for Alma
Uploading your holdings from Alma into Rapid is an automated process using OAI (Open Archives Initiative Protocol for Metadata Harvesting – OAI-PMH). Once it is set up initially, your Rapid holdings are updated automatically on a monthly basis with the latest Alma data. The process includes three main steps:
- Getting the OAI Harvesting URL
- Configuring OAI integration
- Creating a “publishing profile”
OAI Harvesting URL
The OAI Harvesting URL is the link Rapid accesses to harvest the holdings sets you create. You will find this URL when setting the OAI integration profile under “Repository Base URL”. For example: https://na03.alma.exlibrisgroup.com/view/oai/EXLDEV1_INST/request?verb=ListSets
Email us at firstname.lastname@example.org to send us the URL. Once this is set up, there is no need send it with future uploads unless something changes.
Setting up OAI integration requires someone with the General Administrator role in Alma and is a straightforward process. This step allows Rapid to access your holdings report.
What is OAI?
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.
Configuration steps in Alma
Step 1: Create the OAI integration profile
For instructions on how to create a new integration profile, click here.
As part of the OAI configuration you can choose whether to open this up to the entire I.P. universe or restrict it to specific lending partners.
If you decide to go with the latter option, it is required to set all of the following I.P. addresses:
Step 2: Create sets
In this step you are defining the set of records to be published to Rapid.
It is recommended that you publish all your inventory, not just the lendable inventory. Rapid uses this to match your patron requests and make sure they are not owned by your institution.
When creating sets in Alma, use the following guidelines:
- Create a lendable and a non-lendable set for each holdings type (journals or books) and each holdings format (print or electronic).
- If separate sets based on lendability are not created, Rapid uses the following defaults:
- Print journals and print books holdings are set to LendableInternational.
- Electronic journals and electronic books are set to LocalOnly.
The common values for LendableStatus are:
- LendableInternational: You are able to fill lending requests from any other Rapid libraries around the world. This is typically the Lendable value used for print materials that you want to make available in Rapid.
- LendableCountry: You are able to fill lending requests only from Rapid libraries in your country. This is typically the Lendable value used for electronic materials.
- LocalOnly: You are not able to fill lending requests from other Rapid libraries, however these items are still available to fill your local patrons’ borrowing requests.
Only configure sets if they actually contain data. For example, if you do not supply any print journals then you should NOT define a set for 'Rapid_Journals_Print_LendableInternational'.
|Print books – lendable||Books Print LendableInternational||Physical Titles where Title (Has inventory equals "Yes" AND Material Type equals "Book" AND Tag Suppressed (Title) equals "No" AND Current location equals ((Lendable locations)))|
|Print books – not lendable||Books Print LocalOnly||Physical Titles where Title (Has inventory equals "Yes" AND Material Type equals "Book" AND Tag Suppressed (Title) equals "No" AND Current location equals ((non Lendable locations)))|
|ebooks – lendable||Books electronic LendableCountry \ LendableInternational||Electronic Titles where Title (Has inventory equals "Yes" and Material Type equals "Book" and Tag Suppressed (Title) equals "No") AND Electronic Portfolio (Availability (Electronic Portfolio) equals "Available") AND collection name equals ((Lendable collections)))||If you do not lend eBooks, you can skip this set|
|ebooks – not lendable||Books electronic LocalOnly||Electronic Titles where Title (Has inventory equals "Yes" and Material Type equals "Book" and Tag Suppressed (Title) equals "No") AND Electronic Portfolio (Availability (Electronic Portfolio) equals "Available") AND collection name equals ((Non lendable collections)))|
|Print journals – lendable||Journals Print LendableInternational||Physical Titles where Title (Has inventory equals "Yes" and Material Type equals "Journal" and Tag Suppressed (Title) equals "No") AND Current location equals ((Lendable locations)))|
|Print journals – not lendable||Journals Print LocalOnly||Physical Titles where Title (Has inventory equals "Yes" and Material Type equals "Journal" and Tag Suppressed (Title) equals "No") AND Current location equals ((Non lendable locations)))|
|ejournals – lendable||Journals electronic Lendable International \ LendableCountry||Electronic Titles where Title (Material Type equals "Journal") and Electronic Portfolio (Availability (Electronic Portfolio) equals "Available") AND collection name equals ((Lendable collections)))|
|ejournals – not lendable||Journals electronic LocalOnly||Electronic Titles where Title (Material Type equals "Journal") and Electronic Portfolio (Availability (Electronic Portfolio) equals "Available") AND collection name equals ((Non lendable collections)))|
For electronic titles, if you need to enter a specific list of collections, you need to use one of the following workarounds, since we do not support multiple selections for collection names.
Workaround 1: Using itemized sets
In this workaround, you create a set specifying the allowed collections. The set will have to be recreated every time an update is needed.
- Create a set with the list of collection names using a Boolean OR between them.
- Create a set with the other conditions (such as Electronic Titles where Title has inventory equals Yes, Material Type equals Book, and Tag Suppressed (Title) equals No)).
The set conditions should include the following conditions:
- Tag Suppressed (Title) equals No
- Title has inventory equals true
- Availability (Electronic Collection) equals Available
- Availability (Electronic Portfolio) equals Available
This is in addition to the Material Type Condition, which is ‘equals Book’ for the books set and ‘equals Journal’ for the journals set.
- Create a third set that combines both sets using AND. The combined set is an itemized set and must be manually recreated before refreshing any Rapid ILL holdings.
The results of this is an itemized set, which means you will need to create a new itemized set every time you need to add \ remove collections. We are working on an alternative solution that will remove this current limitation and will update this guide as soon as we can.
Workaround 2: Using logical sets
In this workaround, you can manage the list of lendable collections by adding a searchable identifying text on each collection's internal description, in order to identify it as a lendable collection. Every lendable collection will have to be updated with that identifying text.
Use the collection level "internal description" field to manage a note such as ”lendable_international".Internal description
Use this note on every collection that you may lend internationally.
When defining the set of internationally lendable collections, define it with the attribute "Contains Keywords" set to 'lendable_international'.Internal description applied to set
This will result in a set that can be automatically used for republishing the information, without requiring to recreate the itemized set before every republish.
Step 3: Create publishing profiles for sets
A publishing profile needs to be created for each set from step 2. To make this process simple, we created out of the box templates for each publishing profile. These template publishing profiles are available in the Community Zone. To localize the profiles and activate them in your institution, follow the following steps:
- Navigate to Resource Configuration Menu > Publishing Profiles.
- Click Community and search for profiles matching the description EXL profile for Rapid ILL.
- Do the following for each of the profiles:
- Create a local copy of each profile using the Copy row action.
- In the Publishing Profile Details details page, do the following:
- In the Profile Details tab, assign the relevant set you defined in step 2 to the publishing profile.
- For electronic inventory profiles, in addition to the sets, in the Data Enrichment tab, update the Link Resolver Base URL field to your own link resolver base URL:
- For Primo, use the following format and insert your institution’s information where indicated:
https://[Primo server host:port]/openurl/[Primo_institution_code]/[Primo_view_code]?
- For Primo VE, use the following format:
- Set the scheduling parameter to run the publishing job according to your preferred schedule, and confirm that the profile is active.
Only use publishing profiles if they have sets that actually contain data. For example, if you do not supply any print journals then you should NOT define a publishing profile for 'Rapid_Journals_Print_LendableInternational'.
Holdings Without Items
If you have holdings that have a summary holdings statement in subfield $a of the 866 field, but the holdings records have no items, use the following to have the summary holdings statement published to Rapid.
In the relevant Rapid publishing profiles (the Physical profiles), in the Data Enrichment tab, set up the Physical Holdings Enrichment as follows:
This causes information from the holdings record to be published to Rapid, including:
- Library – 852$b
- Location – 852$c
- Call Number – 852$h (or other relevant subfields)
- Summary holdings – 866$a
In addition, set up a normalization rule such as the following, to make sure that the published record uses information from the holdings record only if there are no physical items.
rule "if there is a 954 and a 955 then delete the 955"
(exists "954.m.*" ) AND (exists "955.m.*" )
rule "change 955 to 954 if there is a 955 and there is not a 954"
(not exists "954.m.*" ) AND (exists "955.m.*" )
changeField "955" to "954"
For more information on setting up normalization rules see the following links:
- Working with Normalization Rules
- Presentations and Documents – Rules
- How to Implement a Normalization Rule
The result is a record that has either:
- 954 fields based on the physical items, with each item in a separate 954 field that has all of the q,t,r,m subfields
- 954 fields based on the holdings record, with each holdings split into two 954 fields that have the same $8
Set the normalization rule in the Data Enrichment tab of the publishing profile. See the following example:
We recommend that you indicate that you used this setup when notifying email@example.com about your readiness to upload the records. (See step 4 below).
Step 4: Schedule publishing profiles
After a publishing profile is created, the job is scheduled to run incrementally once a month.
The first time the job is run, it must be run in full mode. To run in full mode, proceed as follows:
- Go to Resource configuration menu -> publishing profiles.
- Select the job (search for the “rapid” profiles) and from the row action choose “Republish”.
- Select the ‘Rebuild Entire Index’ option Note: you may want to test the ListSets URL to make sure all is created successfully.
See more information on potential OAI errors in this link.
Email us at firstname.lastname@example.org to let us know and we will begin reviewing and processing the data.