Skip to main content
ExLibris
Ex Libris Knowledge Center

Alma Holdings Harvest for RapidILL

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:

  1. Getting the OAI Harvesting URL
  2. Configuring OAI integration
  3. 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 rapidill-holdings@exlibrisgroup.com to send us the URL. Once this is set up, there is no need send it with future uploads unless something changes.

OAI Integration

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:

  • 192.80.206.206
  • 66.151.14.129
  • 216.147.209.194

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'.

Set Type SetSpec Condition Comment
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.

  1. Create a set with the list of collection names using a Boolean OR between them.

    Step 1.png

    All E-Journals
  2. Create a set with the other conditions (such as Electronic Titles where Title has inventory equals YesMaterial Type equals Book, and Tag Suppressed (Title) equals No)).

    Step 2.png

    Lendable Collections

    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.

  3. 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.

    Combined_Set.png

    Combined Set

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.

For example:

  1. Use the collection level "internal description" field to manage a note such as ”lendable_international".

    2020-06-18_15-21-03.png

    Internal description

    Use this note on every collection that you may lend internationally.

  2. When defining the set of internationally lendable collections, define it with the attribute "Contains Keywords" set to 'lendable_international'.

    2020-06-18_15-35-21.png

    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:

  1. Navigate to Resource Configuration Menu > Publishing Profiles.
  2. Click Community and search for profiles matching the description EXL profile for Rapid ILL.
  3. Do the following for each of the profiles:
    1. Create a local copy of each profile using the Copy row action.
    2. 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:
  4. 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:

physical_holdings_enrichment.png

Physical Holdings Enrichment

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"

when

(exists "954.m.*" ) AND (exists "955.m.*" )

then

removeField "955"

end

 

rule "change 955 to 954 if there is a 955 and there is not a 954"

when

(not exists "954.m.*" ) AND (exists "955.m.*" )

then

changeField "955" to "954"

end

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

    OR

  • 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:

data_enrichment_tab.png

Data Enrichment Tab

We recommend that you indicate that you used this setup when notifying rapidill-holdings@exlibrisgroup.com about your readiness to upload the records. (See step 4 below).

Suppressing Physical Locations
If you have suppressed locations, you can remove them from the Rapid publishing by using a normalization rule on the publishing profile. For example, if LOC_A,LOC_B and LOC_C are the codes of locations that you do not want to include in the export to Rapid, you can use a rule such as the follows:
rule "remove suppressed location"
when
(TRUE)
then
removeField "954" if (exists "954.{*,*}.r.LOC_A")
removeField "954" if (exists "954.{*,*}.r.LOC_B")
removeField "954" if (exists "954.{*,*}.r.LOC_C")
end
This will effectively remove all these locations from the Rapid file.
For more information on setting up normalization rules see the following links:

Step 4: Schedule publishing profiles

After a publishing profile is created, the job is scheduled to run incrementally once a week.

The first time the job is run, it must be run in full mode. To run in full mode, proceed as follows:

  1. Go to Resource configuration menu -> publishing profiles.
  2. Select the job (search for the “rapid” profiles) and from the row action choose “Republish”.
  3. Select the ‘Rebuild Entire Index’ option Note: you may want to test the ListSets URL to make sure all is created successfully.

Test sample: https://na02.alma.exlibrisgroup.com/...?verb=ListSets 

See more information on potential OAI errors in this link.

Email us at rapidill-holdings@exlibrisgroup.com to let us know and we will begin reviewing and processing the data.

  • Was this article helpful?