Primo Explore Integrations with Talis Aspire

Introduction and Videos

This article outlines an integration submitted by Tim Graves of the University of Sussex. 

There are two reasons to integrate Talis Aspire into your Primo Explore user interface:

  1. To show which reading lists the item being viewed might appear on.
  2. To add a 'Bookmark This' style link to allow easy bookmarking directly from Primo Explore.

There are two videos made by Tim Graves which give more information on what the integrations do:

  • This video gives a brief demonstration of how the changes look in Primo. This has no technical details it just illustrates what the integration achieves.
  • Tim Graves spoke at Talis Insight Europe 2017 providing a tour of the code and background to the processes involved. This is more technical but will be useful to anyone planning on implementing or adapting the code. Tim Graves explains the process, especially some of the areas that may be a little more cryptic!

Access the sample code

All the code for adding the two Aspire APIs to the new Primo UI is freely available at:

https://github.com/alfi1/primo-aspire-api

There are two alternative files to choose from:

  • getAspireLists.js shows which reading lists feature the item in question
  • getAspireLists_bookmarklet.js adds an extra line to the above script to allow users to click directly through into Aspire, taking all the bibliographic information with them

Implementing the changes in Primo

It should be straightforward for other Talis Aspire Reading Lists customers using Primo Explore to implement this code for themselves.

The code relies on the Alma MMSID being held in the Talis Aspire tenancy as Local Control Number.  Talis recommend the use of MMSID as the primary identifier to use for linking back to Alma/Primo, and think the majority of their Alma customers will be doing so. Any items that are in Primo but not in Alma will not have an MMSID.

  • Go to the Github repository and choose a version of getAspireLists*.js If your instance of Primo Explore is using Angular 1.6, you will need to make sure you use the appropriate script and add your tenancy URL as an allowed URL.
  • Put the contents of that chosen file into the custom.js file in your Primo view
  • Edit the references to the Sussex Aspire tenancy (https://sussex.rl.talis.com) to point to your own tenancy. You should use the HTTPS version of your tenancy URL. If you need to know what this is, please contact Talis Support.
  • Re-zip the customisation package and upload it to Primo

By way of example, the University of Sussex custom.js file is included at:

https://github.com/alfi1/primo-aspire-api/blob/master/custom-js-Sussex

Sheffield Hallam University has also added the Talis Aspire integration links to their Primo Explore interface and are happy for their custom.js to be seen at:

https://github.com/alfi1/primo-aspire-api/blob/master/custom-js-SheffieldHallam

Primo customisation package

Details on loading customisation packages are in the Primo new UI cookbook (https://docs.google.com/document/d/1z1D5II6rhRd2Q01Uqpb_1v6OEFv_OksujEZ-htNJ0rw/mobilebasic#h.hhtj93l3rqix), and the standard Ex Libris documentation.

The Primo development environment

Sussex used the primo-explore-devenv development environment to work on this, and would strongly encourage anyone else to do so. It took a while to get set up but must have saved many laborious hours of testing time.

primo-explore-devenv was well worth every minute I spent installing it, and is available at: https://github.com/ExLibrisGroup/primo-explore-devenv

ELUNA/IGeLU Primo New UI Hackathon

The Hackathon in December 2016 produced several videos that Tim Graves found critical in beginning to approach Primo:

https://www.youtube.com/playlist?list=PLr6LDe01r7vIyLiA-Wre6QDoGcSxymdoD

Tim Graves would advise these (particularly Days 1 and 2) to anyone wanting to customise the Primo interface.

Have more questions? Submit a request

1 Comments

  • Avatar
    Simon Mcleish

    Hi,

    We found that this didn't quite work when there are reading lists with "&" in their titles; it's rendered "&amp". To fix, change "{{listname}}" in the HTML snippet inserted by the javascript to "".

    Cheers,
    Simon

Please sign in to leave a comment.