Alma offers the ability to “get” printed material or “view” electronic and digital material.
The workflow described in this article refers to material that was initiated in Alma and harvested in the discovery system. The workflow for other material is described in Services page
The publishing from Alma
to the discovery system contains inventory information. Based on this information, the discovery system can give an indication (in the results page) whether the title is available in print (i.e. it is possible to 'get it') or electronic (it is possible to 'view' it) version.
Once user clicks on one of the viewit/getit options, an OpenURL
request should be sent to Alma in order to request the specific service.
Alma responds with HTML, representing the mashup of the requested service. The discovery system should display the returned mashup in an iFrame.
Example of the viewit mashup:
The viewit mashup contains links to view the requested resource online. The order of the links depends on setup.
Example of the getit mashup:
The getit mashup contains information about physical items, their location and their status. logged-in users can place a hold request. The 'Request' option is displayed only if the title is requestable for the user, based on the fulfillment configuration.
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?
Request for specific service can be for:
- View it: with parameter svc_dat=viewit
- Get it: with parameter svc_dat=getit
The following table describes the parameters that should be sent as part of the Request for specific service OpenURL:
|svc_dat||viewit / getit
private data area of the OpenURL which includes the following:
language - In order to receive viewit / getit HTML in specific language, language code should be sent.
view - 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. Example: view=Myview
This parameter is required in order to get all services that are related to the specific mms_id or portfolio_id, regardless their coverage.
|rft.mms_id||The specific MMS ID
|portfolio_pid||The specific portfolio PID (relevant only for viewit, and can be used only when rft.mms_id is not included)
|Force_direct||To force a redirect to an electronic journal's full text include following parameter: Force_direct=true
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.
See example in Alma's Guest sandbox
Get It for print materials
View It for online materials
Use case: Giving links to E-resources in the results list
Institutions might want to display links of relevant electronic resources as part of their results list page. This can be done as following:
- Electronic inventory should be published from Alma to the discovery system, including portfolio pid
- In the results page, the discovery system should display a list of the electronic resources, according to the published data. Each electronic resource should link to an OpenURL viewit request, with the portfolio_pid parameter (without mms_id) and Force_direct=true. For example: https://alma.com/view/...?svc_dat=viewit&portfolio_pid=...&Force_direct=true
- ‘viewit’ requests based on portfolio pid always return a single service. The single service is returned as a mashup.
Fulfillment services might be allowed only for logged-in users. The authentication between the discovery system and Alma can be done using the following authentication methods:
- SSO via SAML
- Social login
SSO via SAML
In order to enable SSO between an external discovery system and Alma, the following parameters should be included in the request for specific service:
|token||Unique token for identifying the user's session in the discovery system.
Once sent as part of the initial request, it will be saved in Alma's session. During each following request, Alma will compare it with the saved token.
The purpose is to prevent a case when one student has logged out of the Discovery (and SAML), but for some reason is still logged into Alma, and another student using the same browser will receive his Alma session.
In addition, SAML-based IDP should be configured in with Alma. see SAML for more details.
The following diagram illustrates the workflow:
In order to enable Oauth between an external discovery system and Alma, the following parameters should be included in the request for specific service:
|provider||The social provider with which the authentication is done. It can be: google/facebook/twitter
In addition, social login should be configured in with Alma. see Social login for more details.
The following diagram illustrates the workflow:
Important Note: The OpenURL integration is intended for integrating Alma with third party discovery systems. Using it for other workflows is not supported.