Skip to content

Primo new UI directive that adds HathiTrust availability for public domain content

License

Notifications You must be signed in to change notification settings

UMNLibraries/primo-explore-hathitrust-availability

Repository files navigation

primo-explore-hathitrust-availability

Features

When search results are displayed, a record's OCLC numbers are passed to the HathiTrust Bib API. If at least one item with free full-text access is found, a link to the HathiTrust record is appended to the availability section.

Screenshot

screenshot

Install

  1. Make sure you've installed and configured primo-explore-devenv.
  2. Navigate to your template/central package root directory. For example:
    cd primo-explore/custom/MY_VIEW_ID
    
  3. If you do not already have a package.json file in this directory, create one:
    npm init -y
    
  4. Install this package:
    npm install primo-explore-hathitrust-availability --save-dev
    

Usage

Once this package is installed, create a file 'custom.module.js' and add hathiTrustAvailability as a dependency for your custom module definition, and then add the hathi-trust-availability directive to the prmSearchResultAvailabilityLineAfter component. For example:

var app = angular.module('viewCustom', ['hathiTrustAvailability']);

app.component('prmSearchResultAvailabilityLineAfter', {
    template: '<hathi-trust-availability></hathi-trust-availability>'
  });

Note: If you're using the --browserify build option, you will need to first import the module with:

import 'primo-explore-hathitrust-availability';

The idea here is to allow multiple custom components to be added to the prmSearchResultAvailabilityLineAfter rather than attempting to redefine it.

Customizing the Availability Message

The default availability message is "Full Text Available at HathiTrust". You can override this by setting the msg attribute:

<hathi-trust-availability hide-online="true" msg="WOW, HathiTrust! Lucky you!"
></hathi-trust-availability>

Selectively Suppressing Full-text Links

By default, the component will display full-text links for any resource. If you want it avoid looking for full-text availability on records for which you already have an online copy, you can add a hide-online=tue attribute to the component:

<hathi-trust-availability hide-online="true"></hathi-trust-availability>

As of version 2.6 you can optionally suppress full-test links for journals:

<hathi-trust-availability hide-if-journal="true"></hathi-trust-availability>

Ignoring Copyright Status (version 2.4+)

If you want to display full-text links to any HathiTrust record, regardless of copyright status, use the ignore-copyright attribute:

<hathi-trust-availability ignore-copyright="true"></hathi-trust-availability>

If you're a partner institution and you want the availability links to use HathiTrust's automatic login, add your SAML IdP's entity ID:

<hathi-trust-availability 
    ignore-copyright="true" 
    entity-id="https://shibboleth.umich.edu/idp/shibboleth"
></hathi-trust-availability>

Notes

  • If you have custom ccs give it a name other than 'custom1.css' so it is not overwritten.
  • See instructions in primo-explore-devenv on running locally
  • To deploy: run gulp create-package to create a primo compatible package and upload your view in the interface.

Development

Running tests

  1. Clone the repo
  2. Run npm install
  3. Run npm test

About

Primo new UI directive that adds HathiTrust availability for public domain content

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published