Giter Site home page Giter Site logo

ic-primo-ve's Introduction

This repository contains the front-end customization code for Ithaca College Library's hosted Ex Libris Primo implementation.

The code herein assumes that you are using the primo-explore-devenv from @ExLibrisGroup.

Our main point of entry for Primo is a search box on the library home page. The code for the search box is available on CodePen.

On Back-End Compatibility

You'll see many lines in the custom JS in this repository that look something like this:

this.location = this.parentCtrl.result.delivery.bestlocation.subLocationCode;

Lines like these may need to be modified to match the data structure provided by your ILS. If you try to implement this code and see problems, console.log the variable and see if it contains what you think it should. If not, you'll probably need to modify the data path. To find the right path, console.log(this); within the directive that you're working on. This will log an object to the console and you can drill down through that to find the value you need.

Acknowledgements

Much of the code here was inspired by, if not copied outright from posts to PRIMO-DISCUSS-L and the IGeLU/ELUNA SIWG Slack channel, both from Ex Libris developers and from my fellow librarians. Material type icons were designed by @dtaylor4444. Thanks to @michaeldoran for the LC call number sorting functions, @alexei for sprintf.js, and Abby Juda (Science Librarian, Ithaca College) for many contributions to the code.

The Customizations

Icons for Material Types

The material type icons included in the img directory were designed by @dtaylor4444. His PrimoIcons repository includes an Adobe Illustrator file for the icons as well as the pngs included here.

Report a Problem

We added a "report a problem" action using the prmSearchResultAvailabilityLineAfter directive and primo-explore-custom-actions. This links to a form on the IC Library website. The code in this repository provides no functionality, just the link.

EBSCO / Google Scholar / WorldCat Links

We added "Try my search in ..." links for these services to the search results page. These open in a new window. These links do not replicate every aspect of the current search--they just get the main search terms into the service. An enthusiastic programmer who is familiar with the intricacies of the search URLs in these services could probably make them more precise.

Stack Maps

This is by far the most complex of the customizations. The code relating to the maps is anything but plug-and-play. Some of the details and challenges of implementing a stack map system in Primo are addressed here. The functions for manipulating LC call numbers in js/3-call_number_functions.js are JavaScript translations of sortLC by @michaeldoran. These functions in turn depend on sprintf-js by @alexei.

ic-primo-ve's People

Contributors

rgilmour70 avatar

Stargazers

Eric avatar Coral Sheldon-Hess avatar Ken Wierzbowski avatar Matt Davis avatar Andy Tang avatar Michael K Pate avatar Jay L. Colbert avatar  avatar  avatar Jason T. Mickel avatar

Forkers

sprklinginfo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.