Tech Blog

Library Search Assistant Plugin – an open-source Google Chrome extension for Exlibris Primo Libraries

Leiden University Libraries have developed a Chrome plugin that allows users to reach and search the Library’s Primo catalogue (and other services like Google Scholar, and WorldCat) without having to navigate to the Catalogue website first.

The plugin originated by the desire to integrate the Catalogue and its resources deeper into the user’s workflow, by speeding up the actions needed to discover and access Leiden University’s resource.

An explainatory video is available here:


A user clicks on the Chrome plugin button, types the desired search-term and, by either pressing “enter” or clicking on the “search” button, is taken to the Leiden University Library Catalogue search results.

Moreover, a contextual menu is offered: users can highlight text with their mouse, and after right-clicking, search using the options offered by the Leiden Search Assistant. This functionality will work also on PDFs, as long as Chrome is the default program for opening this type of files.

During testing users reported difficulties in discovering this functionality. To help them, a short video was created, showcasing the way the plugin works. This was uploaded to YouTube and plays when the user is about to install the plugin.

Technical Aspects

The plugin is composed by HTML, CSS, and Javascript. The code provided in the open-source version of the plugin is heavily commented to allow quick implementation by other libraries.

The Library Search Assistant plugin currently links to: a generic library catalog, Google Scholar, WorldCat and PubMed. These are the most used search engines at Leiden University.

The Library Catalogue base URL, along with the other search engines URLs, can be modified in options.js

All URLs are presented as a variable. In the variable you will find: Leiden University’s Primo URL to be used as an example; + searchstring + representing the typed search term; and &source=LibrarySearchPluginPublic which can help tracking usage of the plugin in a library’s web analytics service (i.e. Google Analytics.)

var newLibraryURL = '"UBL"%29%2Cscope%3A%28UBL_DTL%29%2Cscope%3A%28UBL_ALMA%29%2Cprimo_central_multiple_fe&vl%28freeText0%29=' + searchstring + '&source=LibrarySearchPluginPublic'

The same logic applies for the other search engines.

These can easily be swapped or replaced by changing the base URLs.


Should a library rather use Google rather than Google Scholar, replace:

var newScholarURL = '' + searchstring;


var newScholarURL = '' + searchstring;

For the contextual menu, the developer will have to edit

var searches = [

Always in options.js

Usage Analysis

The Library Search Assistant allows the use of Google Analytics and Google Tag Manager, should a library desire for a better understanding of how the plugin is being used. As a side note: the implementation Google Tag Manager is not as straightforward as on a normal website and is discouraged by the developers of this plugin. A basic usage monitor is offered by the Google Chrome developer dashboard showing weekly users.

Future developments

The nature of the code written for the plugin allows for wide expansion of functionalities. Leiden University’s plugin will further develop offering notifications when a user visits a website that can be accessed thank to the Library’s subscriptions (Adapting the brilliant code from Utrecht University’s Easy access, also on GitHub, allowing plugin users to quickly get in touch with the Library staff should they need help, and the possibility to reach other important University websites via the plugin itself.


The plugin has been well received by both management and users. It will undergo promotion on Leiden University’s website and on the homepage of the Primo Catalogue once leiden switches to the Primo New UI.

Open-Source code

Leiden University Libraries is delighted to share the code under a GNU General Public License v3.0, allowing other libraries to download, adapt, and share their personalized version of the plugin.

To maximise reusability, the code is heavily commented and helps the developer to adapt the code to another library’s needs.

Leiden University’s own plugin can be installed here:

The open-source code is available on GitHub:


The Library Search Assistant plugin was developed by Giulio Menna (g.menna[ @ ]  and Jan Jouke Tjalsma (j.j.tjalsma[ @ ], Digitale Diensten, Universitaire Bibliotheken Leiden, Universiteit Leiden. They can be contacted for any question concerning the plugin’s functionality and implementation.

Leave a Reply