Services page

Discovery system provides the UI for Alma Link Resolver services for searches that were initiated in an outside bibliographic database (such as EBSCO, Google Scholar, etc.). The result of these searches is a dedicated page called the Services Page. This page usually contains the bibliographic information of the resource, as well as a link to ‘view’ electronic version, and / or  ‘get’ a physical version.
The communication is done based on the OpenURL standard.

The following diagram illustrates the workflow:

The Discovery system receives an OpenURL request from an outside bibliographic database (such as EBSCO, Google Scholar, etc.).
Typically, the OpenURL includes the following:
  • rfr_id – indication about the original source in which the resource was requested (e.g. google).
  • Context object – i.e. metadata identifying the record.

The Discovery system should forward the OpenURL request to Alma. The OpenURL that will be sent from the discovery system to Alma is called ”Request for Services OpenURL”.

Request for Services OpenURL

The following table describes the parameters that should be sent as part of the Request for Services OpenURL:

Parameter nameDescription
rfr_idThe original source – the rfr_id of the request from the outside bibliographic database (e.g. google)
sidThe original source – the rfr_id of the request from the outside bibliographic database (e.g. google)
user_ipIP of the user which originated the request
Context objectmetadata identifying the record, as received
rft.mms_idThe specific MMS ID.
<base URL>?
Alma tries to find a matching record: If multiple titles are found, Alma tries to de-dup them. If there are multiple titles, Alma selects “the best” match.
Alma then returns an XML which includes:
  • Context object, including mms_id and other bibliographic information added by Alma.
  • full_text_indicator – true/false indication if full text exists.
  • A link which redirects to the actual resource (in a <resolution_url> field)
  • List of available_services:

viewit: in case electronic/digital services are available
getit: in case physical services are available

Example of the returned xml:

<uresolver_content xmlns="http://com/exlibris/urm/uresolver/xmlbeans/u">
      <key id="full_text_indicator">true</key>
      <key id="available_services">viewit</key>
      <key id="available_services">getit</key>
      <key id="rft.auinit">W</key>
      <key id="rft.jtitle">Il Nuovo cimento.</key>
      <key id="rft.atitle">Singular hypersurfaces and thin shells</key>
      <key id="rft.spage">1</key>
      <key id="rft.epage">14</key>
      <key id="rft.object_type">JOURNAL</key>
      <key id="rft.mms_id">99122636890001021</key>
      <key id="rft.inventory_id">21378267430001021</key>
      <key id="rft.inventory_id">21378267270001021</key>
      <key id="rfr_id">google</key>
      <key id="inventory_id">21378267430001021</key>
      <key id="inventory_id">21378267270001021</key>


The discovery system receives the returned XML and may display metadata information, and the relevant options – view it / get it / both – according to the available_services fields.

Following is an example of a services page:

Once a user clicks on one of the viewit/getit options, an OpenURL call should be sent to Alma in order to request the specific service.

Request for specific service OpenURL

Request for Specific Service can be for:
  • View it: with parameter svc_dat=viewit
  • Get it: with parameter svc_dat=getit
The request for a specific service OpenURL should include all the keys which were returned from Alma as a response to the Request for Services OpenURL. In the above example:
<base URL>?
rft.jtitle= Il Nuovo cimento&
rft.atitle= Singular hypersurfaces and thin shells&
rft.object_type= JOURNAL
& rft.mms_id=99122636890001021&
rfr_id= google&

In order to receive viewit / getit HTML in specific language, the following parameter should be added to the Request for specific service OpenURL: rft_dat = language=[language code]. Example: rft_dat=language=eng

In order to support multiple views, an institution can define multiple views in Alma, with different CSS. This is configured in Alma under Gerenal configuration – Delivery System Skins.
The appropriate view should be sent as part of the Request for specific service OpenURL:<skin code>
As a response to the Specific Service OpenURL, Alma will return HTML, representing the mashup of the requested service. The discovery system should display the returned mashup in an iFrame.

For more information about Request for Specific Service see Fulfillment services.

Base URL

If you are a multi campus institution:
<Alma delivery domain>/view/uresolver/<institution_code>/openurl-<campus code>?
<Alma delivery domain>/view/uresolver/<institution_code>/openurl?

Important Note: The OpenURL integration is intended for integrating Alma with third party discovery systems. Using it for other workflows is not supported.