Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device.
Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
It was recently discovered that the option toggle “printRecordsIntegrationEnabled” is not actually working! It is defaulted to “true” but if you try to make this “false” at the moment it will not actually turn this off. This feature allows you to isolate your print-only records from any LibKey integration. Most libraries prefer this to be “true” ( on ) as it allows users who may be viewing a print record to know that there is an electronic version available. We will be updating our code soon to allow the “false” option to work as expected and will remove this notice when we do so. There will be nothing a library needs to do on their end when we deploy that fix.
These instructions are for the NDE version of Primo. If you are instead using Primo/Primo VE please see the appropriate instructions for setup in that interface here. When you are ready to move to NDE, you can use the same API Key previously issued to your library in NDE and can use it in NDE and your current version of Primo at the same time. This will not cause any conflicts in operation for either interface.
Migrating an existing Primo VE integration? If your library is moving from Primo VE to Primo NDE and uses the LibKey OpenURL fallback, you'll likely need to update your Primo link resolver base URL to use your new NDE view code. See How to Find Your Primo Link Resolver Base URL for details.
Unsure where your API Key and Library ID are? You can find them in your CURRENT Primo integration configuration code which will be listed within the script in this manner: …. libraryId: "XXXXX",
apiKey: "XXXXXXXXX",
….
Key aspects of this Primo community-informed integration of LibKey into Primo include:
One-click to PDF and/or HTML articles from hundreds of publishers and aggregators
Extending BrowZine cover images to display in the citation record
Link from the citation record to the full journal issue in BrowZine
This guide is intended for Primo/Alma administrators who have a basic familiarity with Alma but with little programming/scripting experience or knowledge, or for those simply want a quick way to complete an integration.
For advanced users, you are welcome to access this github repository to see how the integration works.
Step 1: Contact Third Iron Support
Please contact support@thirdiron.com to let us know you are a Primo library and would like to integrate LibKey. In response, we will send your your library’s BrowZine Library ID and BrowZine API Key needed for Step 2.
If you already have an API Key for an old version of Primo and are upgrading, you can continue to use that one and skip this step.
Step 2: Customizing the JSON configuration file
There are two decisions to make for your integration:
Choose your View Option
Choose your Feature Options
The first thing to decide is which View Option makes the most sense for your library and its users. This is a new option available in Primo NDE which was not available in the Primo VE integration. We did this in recognition of the new design language that Ex Libris introduced with NDE (what we call below “The Stack” - meaning the drop down of content access links that appears within the interface).
We provide three basic view options that affect the LibKey button arrangement:
"Stack + BrowZine Link"
This version fully embraces the new “Stack” concept of link minimization in NDE by putting the “one click” link front and center with additional linking options available in the drop down arrow. LibKey Links would take precedent over Alma QuickLinks whenever they may both exist. The BrowZine View Issue Contents link appears separate since it serves a different purpose then immediate content access.
Set in the config JSON file with: "viewOption": "stack-plus-browzine",
"Single Stack"
This version puts all LibKey and Alma generated links under a single stack. Effectively the only difference between this and the above option is that the BrowZine View Issue Contents appears with the links to content.
Set in the config JSON file with: "viewOption": "single-stack",
"No Stack"
With this arrangement we recommend turning off the link resolver when LibKey can create links as leaving it on can result in duplicate linking since Alma will generate a “stack” of links via a drop down menu off to the right which could be confusing.
Set in the config JSON file with: "viewOption": "no-stack",
As you’ll see in step 3 there is a small JSON file that needs to be created in a text editor.
Now, choose your Feature Options. We’ve highlighted below templates for each of these for the JSON file for your convenience. You can of course edit it to make totally different options to suit your organizational needs, but we’ve found that one of these five is typically appropriate. Under each Option you’ll see the JSON configuration codes listed three times to reflect the different View Options that have the specified features enabled or disabled.
Feature Option 1
This is our recommended, most accessible option as it presents all formats (PDF and Article Links when available)
Configuration name
Best format link presented (PDF preferred) or all formats presented
Link to View Complete Issue for serendipitous discovery in BrowZine?
Minimize duplicate links?
Show link resolver if LibKey link available?
Display Unpaywall non-version of record option?
Configuration name
Best format link presented (PDF preferred) or all formats presented
Link to View Complete Issue for serendipitous discovery in BrowZine?
This configuration removes display of links to non-version of record copies. Commonly used by corporate libraries and hospitals who often prefer displaying only the version of record.
Configuration name
Best format link presented (PDF preferred) or all formats presented
Link to View Complete Issue for serendipitous discovery in BrowZine?
Minimize duplicate links?
Show link resolver if LibKey link available?
Display Unpaywall non-version of record option?
Configuration name
Best format link presented (PDF preferred) or all formats presented
Link to View Complete Issue for serendipitous discovery in BrowZine?
Unpaywall Email Address (this can be any email - generic for your library or an individual staff member)
Change any boolean configuration values if desired for further customization.
Save this file as:
libkey_nde_config.json
or similar - it does NOT have to be this file name, but it DOES have to be a text file that has a .json suffix. If you are multi-campus/multi-view organization, you will need to save a unique .json file for EACH CAMPUS (ensuring there is a unique Library ID and API Key in each file that corresponds to that campus/view) and thus add the add-on multiple times for each view you are supporting and ensure the correct JSON file is attached to the view, so making these file names obvious to line up with each view is recommended! (More on multi-campus customization is discussed below)
Step 3: Creating and Configuring the Add-on
New for NDE, Ex Libris has added an official “Add-on” area to simplify the installation and maintenance of integrations designed for Primo NDE. To find this area, follow these breadcrumbs after logging into your Alma administrator area:
The resulting Edit Add-on Configuration screen prompts you to input a few key details to enable the add on.
1 = Defaulted to checked, this will allow the add-on to turn on immediately after you complete the needed fields and click the save button in the upper right hand corner. Come back to edit your add on and uncheck if you want to temporarily disable it.
2 = Select which view(s) in Primo you want to apply the integration into. The default is “All”.
3 = Provide the Add-on Name: LibKey
You must use the name “LibKey” to ensure proper function of the add on! This name is CASE-SENSITIVE (i.e. “libkey” will not work)
Advanced: If you have forked github repo and created your own variant of course you’ll want to use that deployed URL here instead.
5 = Click the folder icon to search your filesystem for the JSON format Add-on Configuration file you created in the previous step. Once selected, click “Upload” to upload it.
If all went well you’ll get a positive blue message indicated that you uploaded successfully. To complete the setup make sure you hit SAVE.
Pro Tip: Store the configuration file for the LibKey Add-on in a safe place. Unlike in Primo VE once you upload that file to Alma you can’t “get it back” to see the configuration again very easily. So if you want to make changes down the line, you can save yourself time by having a copy of that file saved on your local/shared drive.
Step 4: Test!
Visit Primo NDE in a view that you enabled the add-on for and observe that there are LibKey generated links present on article records. If your initial search does not yield good results, make sure to limit to “articles” or try a more “scholarly” topic as LibKey is focussed on DOI bearing materials.
If you run into any trouble, please reach out to our support team at support@thirdiron.com for assistance!
Customizing & Localizing Link Labels (includes Video)
The LibKey Add-on’s textual labels can be fully customized or localized as desired. If you are content with the default English language labels and don’t need any other languages supported, this is an optional step is nothing further is required.
If you are a single campus organization with a single view for your users for NDE (you can have multiple views for testing purposes provided all the LibKey settings are the same) then you can use this attached template Excel document to upload the labels to the various attributes in a variety of supported languages found below:
To add custom labels, do the following:
Download the Above Excel document. Change any text you would like in the “Description” column. This will be the text then your users will see!
Navigate in Alma to Configuration → Discovery → Labels
Search in the list of labels for “NDE Custom Defined Labels”. This is the recommended home for these labels as its designed for additional labels for custom functionality like this LibKey add-on.
In the more actions menu on this row click “Edit”
Choose Import and attach the Excel document. It will verify and then upload the document. Be sure to click SAVE in the top right hand corner to apply it to Alma.
Then, you can edit the English labels or add translations for other supported languages in your Alma system. Remember always to click SAVE after making changes.
Finally, test in Primo to make sure this worked as expected. Changes made in Alma should have immediate effect in Primo after a page refresh.
Multi-campus/Multi-View organization
If you are a multi-campus organization or single campus but who uses multiple unique views you will integrate the LibKey Add-on multiple times - once for each view you are supporting. You can also make changes to labels (as well as add localization) by adding the VIEW NAME as a prefix to the labels. This will then OVERRIDE the default English labels LibKey is using.
If you are happy with the English language defaults you do not need to do ANYTHING further and the defaults will simply appear!
For example, if you have three views/campuses established that have these view names:
Campus_A
Campus_B
Campus_C
And you want ALL the campuses to have just “PDF” instead of “Download PDF” within Primo following the single campus instructions as shown above will override that label for ALL VIEWS:
LibKey.articlePDFDownloadLinkText → PDF
However, if instead only Campus_A wants this label and Campus_B and Campus_C want to keep the existing default label you can add additional specificity by adding the View as a prefix:
Campus_A.LibKey.articlePDFDownloadLinkText → PDF
The same approach for altering all views or specific views can be used for translations as well!
Detailed descriptions of all configuration elements
Element Name
Type
Description
Element Name
Type
Description
apiKey
API Key
Required API Key provided by Third Iron. Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
libraryId
number
Assigned by Third Iron, whole number of 1->5 digits.
viewOption
string
View option discussed in detail in this section. Possible values:
stack-plus-browzine
single-stack
no-stack
unpaywallEmailAddressKey
email address
Email address required by Unpaywall to use the live call unpaywall feature. This can be any email from your library (general email, specific contact) should Unpaywall wish to reach out to you about anything.
journalCoverImagesEnabled
boolean
true will show journal cover images on journal and article records from BrowZine. false will suppress this.
journalBrowZineWebLinkTextEnabled
boolean
true will show a link to the current issue of the journal in BrowZine (default text “View Journal Contents”) on Journal records. false will suppress this.
articleBrowZineWebLinkTextEnabled
boolean
true will show a link to the article in its originally published context in an issue in BrowZine (default text “View Issue Contents”) on Article records. false will suppress this.
articlePDFDownloadLinkEnabled
boolean
true will show a link to the PDF (default text “Download PDF”) when a PDF link is available on article records. false will suppress this.
articleLinkEnabled
boolean
true will show a link to the article page (default text “View Article”) when an article link is available on article records. false will suppress this.
printRecordsIntegrationEnabled
boolean
true will cause an article record to enhance even if the type and source of that record is print only. This helps to make users aware of electronic copies. false will suppress this - recommended if the desire is to NOT show electronic options on records that are strictly print in sourcing.
showFormatChoice
boolean
true will display both the PDF Download Link and Article Link whenever possible on an article record, allowing a user to choose which format choice they would like. false will suppress this behavior so that LibKey will prefer PDF links over Article links. If a PDF link is not available, the Article link will be provided.
showLinkResolverLinkOnArticles
boolean
true will not suppress the Alma provided link resolver link on article records. false will suppress the Alma link resolver link on any records where LibKey is providing a link to the content. Has no effect on records that LibKey does not enhance.
showLinkResolverLinkOnJournals
boolean
true will not suppress the Alma provided link resolver link on journal records. false will suppress the Alma link resolver link on any records where LibKey is providing a link to the journal via its BrowZine links. Has no effect on records that LibKey does not enhance.
enableLinkOptimizer
boolean
true will automatically suppress the appearance of Ex Libris Quick Links if a Quick Link would appear for that article to minimize duplicative links. false will suppress this behavior, resulting in potentially duplicate links. Has no effect on records that LibKey does not enhance.
articleRetractionWatchEnabled
boolean
true will show the signposting of retractions from retraction watch, pubmed, crossref and more sources on article records. false will not signpost retraction.
articleExpressionOfConcernEnabled
boolean
true will show the signposting of publisher expressions of concern on article records. false will not signpost retraction.
problematicJournalEnabled
boolean
true will show the signposting of a Third Iron Problematic Journal warning on article records. false will not signpost this warning. True option only works with a valid subscription to this add-on service.
documentDeliveryFulfillmentEnabled
boolean
true will show the availability of a article via Research Solutions Article Galaxy Scholar service as configured by the library. false will not signpost this availability. True option only works if the library has configured AGS to work with LibKey.
articlePDFDownloadViaUnpaywallEnabled
boolean
true will allow a live API lookup to Unpaywall for PDF version of record if LibKey does not find any available linking options. false will prevent the display of any links of this type from being provided.
articleLinkViaUnpaywallEnabled
boolean
true will allow a live API lookup to Unpaywall for Article link version of record if LibKey does not find any available linking options. false will prevent the display of any links of this type from being provided.
articleAcceptedManuscriptPDFViaUnpaywallEnabled
boolean
true will allow a live API lookup to Unpaywall for an Accepted Manuscript Article PDF if LibKey does not find any available linking options. false will prevent the display of any links of this type from being provided.
true will allow a live API lookup to Unpaywall for an Accepted Manuscript Article Link if LibKey does not find any available linking options. false will prevent the display of any links of this type from being provided.
Troubleshooting FAQ
When I click on “Other Online Options” I sometimes am taken directly to the resource and other times I am taken to the full list of sources. What is happening?
If this is happening, you have Direct Linking turned on in Alma and you are on an item with only one known source to Alma. Direct linking thus automatically chooses that source. By clicking on the article title you can ALWAYS get to the record detail view regardless of your setting for Direct Linking. To toggle direct linking on or off you need Alma Admin permissions and you can find it here: Alma Configuration → Fulfillment → Discovery Interface Display Logic → Direct Linking.
I think I did the instructions right but I see no LibKey integration? What’s wrong?
It’s possible that you will need to include: *.thirdiron.com in the “allowed list additions” of the CSP Header Configuration (to default-src, object-src, worker-src, script-src and connect-src areas).
This can be found here:
Configuration > General > CSP Header Configuration