Tag Archives: primo

Primo Workflow Testing with Cypress #anzreg2019

Taskforce – Primo Workflow Testing with Cypress
Nishen Naidoo, Macquarie University

Special interest working group on interoperability has restructured with a focus on taskforces focusing on specific community issues.  First one has been Primo Workflows – Lee Houghton is project leader, 18 people involved. Working on:

  • workflow requirements gathering (documentation)
  • workflow testing implementation (coding for automatic testing)

Manual testing takes time – there’s more and more to test, more and more often, and less and less time. This means we’re forced to only test the most vital things while other things slip off the radar – especially accessibility.

What if we remove the “manual” from testing, using cypress.io? Cypress is intended for testing web applications – uses JavaScript for writing tests and popular testing frameworks under the hood (Mocha and Chai). With Cypress Scenario Recorder you can do your test in a web browser and record it, like a macro.

Cmd.exe. You need Node.js installed. Then in empty directory
> npm install cypress
> npx cypress open
This sets up example files and tests. Four folders in the cypress directory: fixtures (static config files, eg Primo url, username/password etc), integration (example tests), plugins (for extending functionality), and support (commands – lets you package up steps in a task).

Looking at integration tests – to run something just click and it goes and runs a whole series of tests at lightning speed. Test sets up context which groups everything together. BeforeEach() gets triggered before each test (eg to open a fresh Primo page). it() is a test with a bunch of actions eg type content into a field and test that it’s there, click on different parts of the page, get specific parts of the DOM. If we don’t get what we expect, Cypress tells you the test failed.

As well as just saving you time because it’s so fast, you can schedule it to run in the background and just notify you if something’s broken.

cy.get(“searchBar”).type(“economics journal”);  //types economics journal into the search bar
cy.get(“div.search-actions”).click(); //clicks the search button

After running it (and seeing the result) you can ‘time-travel’ to hover on each command and see at what the browser looked like at that stage.

One downside is you can’t change out of one domain – this is a big problem with testing single sign on which relies on a lot of transitions between domains – gets a cross origin error. Makes it hard to test things that rely on a user being logged in. How single sign-in works:

Identity Provider <—-pre-configured certificates—> Service Provider (Primo PDS)

All communication between the two goes through the user so we can simulate that using Cypress Request Agent. Fixtures with urls and passwords. Before() runs before all tests (is the login), then beforeEach() (goes to a new Primo page, then function to test if the username shows in the menu.

Q: Aim to share these tests with the community?
A: Yes. 🙂

Central Discovery Index #anzreg2019

Central Discovery Index Working Group
Erin Montagu on behalf of Sonja Dunning, University of Western Australia

CDI is to replace both PCI and Summon Index. Hundreds of millions of records. Will be integrated into Alma so activation workflows simplified, faster update cycles, merged records and new search algorithm. UWA library hopes to gain enhanced discovery and operational efficiencies – hoped joining working group would let them influence development and avoid pitfalls.

Moving from one system to another not always one-to-one. Testing to make sure CDI activations covered all Alma activations to start with; later to make sure search/discovery works as expected. Findings:

  • local collections weren’t mapped – may have to change how these are set up in Alma
  • duplicate collections – Ex Libris is investigating
  • some collections not in CDI – hopefully addressed by final rollout
  • inaccurate result counts – hopefully addressed by final rollout

More testing in progress re search/ranking/full-text rights/record display. Then analysis and development of maintenance guidelines.


  • A new facet for CDI search activation; CDI info displaying on collection record.
  • Can “(De)Activate for Search in CDI” in electronic collection view – much easier, but lots of information eg about what the collection contains won’t be migrated which will make troubleshooting harder. (Have provided this feedback but haven’t heard a response.)
  • Can search on CDI fulltext rights, linking etc.
  • CDI tab added to collection record with activation status.
  • In Primo, “multiple sources exist” becomes a merged record.
  • More records in search results due to “improved” search algorithm – don’t know how this works
  • More resource types (including data_sets) (more info on Knowledge Centre: “Resource types in CDI“)
  • More features to be added

Individual switchover Mar-Jun 2020, general switchover (of all remaining customers) July.

For more info from working group: cdi_info@exlibrisgroup.com

Wrangling Primo Resource Recommender #anzreg2018

Resource wrangling : An implementation of Primo Resource Recommender service at State Library Victoria
Marcus Ferguson, SLV

Principles: find best way to present recommendations; control number of resources recommended; clearly identify subscription vs free. Include: databases, websites, research guides, custom types (collection pages, exhibition pages), ‘more to explore’ (originally things like library hours, now repurposed libguides for subjects) 488 resources – with 10,500+ tags. Maintaining this either through Back Office or spreadsheet upload was going to be difficult.

Built a spreadsheet with columns: list of keywords; database1..database5; website1..website3 etc; with dropdown menus to populate these. But then need to convert this. VLOOKUP wouldn’t work so needed custom function. Found a VBA function via Google. This operates on a new sheet to create a list of databases and all the tags used by it, plus a list of ‘other tags’ added manually for each one. Final sheet pulls it all together into the format Primo expects.

Finally also assigned icons to improve visual effect – found from vendor branding pages; website; or social media. Looks bad if a resource has none, so assign a default logo in that case.

Subscription database use ‘Login to access’ as URL text; free ones have title as URL text.

Added rr_database_icon_check as a keyword so can search for Primo for all of these and check that they’re still valid – mostly they’re pretty stable. If that changes, will grab them and store locally.

Final step is VBA macro to save export version and backup.

Looking forward: – need to assess impact of the May release “tag enrichment”; extend spreadsheet to include research guides; apply additional error checking; investigate ways to allow other librarians to work with the tags while managing change control.

Primo out of the box #anzreg2018

Primo out of the box: Making the box work for you
Stacey Van Groll, UQ

Core philosophy – maintain out-of-the-box unless there’s a strong use case, user feedback, or bug. Focus on core high-use features like basic search (rather than browse) and search refinement (rather than my account). Stable and reliable discovery interface; quick and seamless resource access.

Said yes to:

  • UQ stylesheet – one search scope, oneview, one tab, their own prefilters on library homepage (a drop-down menu – includes some Primo things like newspaper search, some non-Primo things)

Said no to:

  • Journals A-Z
  • Citation linker
  • Purchase requests
  • main menu
  • Featured Results
  • Collection Discovery
  • Tags & Reviews
  • Database search (for now)
  • Newspaper search (for now)
  • Resource recommender (for now)

Dev work for some things – eg tweaked the log out functionality to address an issue; then Primo improved something, which broke their fix; fixed the fix; next release was okay; next release broke it again; so have reviewed and gone back to out-of-the-box. An example of the downsides to making tweaks.

But sometimes really need to make a change – consider the drivers, good use cases, who and how many people experience the problem, how much work it is to make/develop the change and how much work to maintain it? Is there existing functionality in the product or on the Roadmap? How do you measure success?

Does environmental scans – has bookmarks of other Primo NewUI sites to see what else other people do and how.

Data analysis – lots of bugs in My Account but also very low usage. So doesn’t put much work in, just submits a Salesforce case then forgets.

Evaluates new releases – likes to piggyback on these eg adding OA and peer-reviewed tags to institutional repository norm rules.

User feedback – classify by how common the complaint is and try to address most common.


  • first goes to Knowledge Centre Feedback feature and includes email address which forces a response
  • second listserv
  • third Salesforce, and then escalation channels if needed

Lessons learned: A good salesforce case has a single problem, include screenshots, explain what behaviour you desire.

Ex Libris company / product updates #anzreg2018

Ex Libris company update
Bar Veinstein, President Ex Libris

  • in 85 of top 100 unis; 65million api calls/month; percentage of new sales that are in cloud up from 16% in 2009 to 96% in 2017; 92% customer satisfaction
  • Pivot for exploration of funding/collaboration https://www.proquest.com/products-services/Pivot.html
  • aim to develop solutions sustainably so not a proliferation of systems for developing needs
  • looking at more AI to develop recommendation eg “high patron demand for 8 titles. review and purchase?”, “based on usage patterns, you should move 46 titles from closed stacks to open shelves?”, “your interloans rota needs load balancing, configure now?”, “you’ve got usage from vendors who provide SUSHI accounts you haven’t set up yet, do that now?”, algorithms around SUSHI vs usage.
  • serious about retaining Primo/Summon; shared content and metadata
  • Primo VE – realtime updates. Trying to reduce complexity of Primo Back Office (pipes etc – but unclear what replaces this when pipes are “all gone”)
  • RefWorks not just for end user but also aggregated analytics on cloud platform. Should this be connected/equal to eshelf on Primo?
  • Leganto – ‘wanting to get libraries closer to teaching and learning’ – tracking whether instructors are actually using it and big jumps between semesters.
  • developing app services (ux, workflow, collaboration, analytics, shared data) and infrastructure services (agile, multi-tenancy, open apis, metadata schemas, auth) on top of cloud platform – if you’ve got one thing with them very quick to implement another because they already know how you’re set up.
  • principles of openness: more transactions now via api than staff direct action.
  • https://trust.exlibrisgroup.com/
  • Proquest issues – ExL & PQ passing the customer service buck, so to align this. Eg being able to transfer support cases directly across between Salesforce instances.

Ex Libris prodct presentation
Oren Beit-Arie, Ex Libris Chief Strategy Officer

  • 1980s acquisitions not part of library systems -> integrated library systems
  • 2000s e-resource mgmt not part of ILS -> library services platform (‘unified resource mgmt system’)
  • now teaching/learning/research not part of LSPs -> … Ex Libris’s view of a cloud ‘higher education platform’
  • Leganto
    – course reading lists; copyright compliance; integration with Alma/Primo/learning management system
    – improve teaching and learning experience; student engagement; library efficiency; compliance; maximise use of library collections
    – Alma workflows, creation of OpenURLs…
  • Esploro
    – in dev
    – RIMs
    – planning – discovery and analysis – writing – publication – outreach – assessment
    – researchers (publish, publish, publish); librarians (provide research services); research office (increase research funding/impact)
    – [venn diagram] research admin systems [research master]; research data mgmt systems [figshare]; institutional repositories [dspace]; current research information systems [elements]
    – pain points for rseearchers: too may systems, overhead, lack of incentive, hard to keep public profile up to date
    – for research office – research output of the uni, lack of metrics, hard to track output and impact, risk of noncompliance
    – next gen research repository: all assets; automated capture (don’t expect all content to be in repository); enrichment of metadata
    – showcase research via discovery/portals; automated researcher profiles; research benchmarks/metrics
    – different assets including creative works, research data, activities
    – metadata curation and enrichment (whether direct deposit, mediated deposit, automatic capture) through partnerships with other parties (data then flows both ways, with consent)
    – guiding principles: not to change researchers’ habits; not to create more work for librarians; not to be another ‘point solution’ (interoperable)
    – parses pdf from upload for metadata (also checks against Primo etc). Keywords suggested based on researcher profile
    – deposit management, apc requests, dmp management etc in “Research” tab on Alma
    – allows analytics of eg journals in library containing articles published by faculty
    – tries to track relationships with datasets
    – public view essentially a discovery layer (it’s very Primo NewUI with bonus document viewer – possibly just an extra view) for research assets – colocates article with related dataset
    – however have essentially ruled research administration systems out of scope as starting where their strength is. Do have Pivot however.