hacking your discovery layer n.
Skip this Video
Download Presentation
Hacking Your Discovery Layer

Loading in 2 Seconds...

play fullscreen
1 / 52

Hacking Your Discovery Layer - PowerPoint PPT Presentation

  • Uploaded on

Hacking Your Discovery Layer. Fri May 2, 10-10:45am - Joillet Randy Oldham University of Guelph Ontario, Canada roldham@uoguelph.ca @ roldham. All About TUG. TUG: TriUniversity Group Consortia University of Waterloo (Waterloo, Ontario, Canada) – 22,400

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Hacking Your Discovery Layer' - trella

Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
hacking your discovery layer

Hacking Your Discovery Layer

Fri May 2, 10-10:45am - Joillet

Randy Oldham

University of Guelph

Ontario, Canada



all about tug
All About TUG
  • TUG:TriUniversity Group Consortia
    • University of Waterloo (Waterloo, Ontario, Canada) – 22,400
    • Wilfrid Laurier University (Waterloo, Ontario, Canada) – 14,800
    • University of Guelph (Guelph, Ontario, Canada) – 22,000
  • Lots of Ex Libris products
  • Hosted Locally:
    • Voyager
    • Primo
  • Hosted Provincially:
    • SFX
generally speaking
Generally Speaking…
  • Locally-hosted
    • More access to files
    • More potential for hacking
  • Vendor-hosted
    • Less access to files
    • Less potential for hacking
    • Terms & Licenses
full disclosure
Full Disclosure
  • This is Matt.
  • Matt is a developer at UG
  • This is Randy.
  • He’s the web guy at UG
  • Also Primo guy at UG
  • Then we had a team of folks from the consortia… Alison, Charles, Dillon, Matt
  • And EX LIBRIS support…
first steps
First Steps…
  • Determine your access to files:
    • Is there backend administration?
    • Can you modify/include CSS?
      • Simple colour changes & hide content
    • Can you modify/include HTML files?
      • Customise headers and footers
      • Include new JS files
    • Can you modify/include Javascript files?
      • More advanced customisations
      • Programmatically changing things
    • Can you modify core files?
      • Carte Blanche!
general customisation notes
General customisation notes
  • We had a general approach to customisations:
    • Avoid customisations to core files when possible
    • Keep it simple…as close to stock as possible
    • Backup…backup…backup
    • Document all changes
    • Share 
determine what to customise
Determine What to Customise
  • Just because you CAN doesn’t mean you SHOULD
  • Remember: Each hack has to be maintained through upgrades
  • Driven by usability testing:
    • What would help users?
    • What would increase their success?
    • What would stop them from asking for help?
tools you ll need
Tools You’ll Need
  • Vendor customisation documentation
  • Access to customise or include files
  • Users
  • Knowledge of either:
    • CSS
    • HTML
  • Firebug addon for Firefox
  • 1 bottle beer*
  • 1 bottle opener*
quick note on firebug
Quick Note on Firebug
  • Extension for Firefox
  • Find div/class names:
    • To hide
    • To change
method one
Method One
  • RTFM
  • Read The Functional Manual
  • Vendors provide limited customisation
  • This is your best bet
  • Vendors support these customisations through upgrades
  • Reduces your upgrade time
facet order
Facet Order
  • Changed Facet Order:
  • WHY Change?
    • Usability testing, Consortia, Analytics



facet order1
Facet Order
  • How to modify FACET ORDER in PRIMO:
    • Login to the Primo back office
    • Click VIEWS WIZARD
    • Click on EDIT to the right of the view
    • Select BRIEF DISPLAY from dropdown
    • Click EDIT TILE to the right of REFINE MY RESULTS
    • Change the order & enable/disable facets here
    • Click Save & Continue, continue, DEPLOY
  • Add tabs (Blended, Primo, Primo Central)
  • AFTER:
  • Why change?
    • Usability testing/staff feedback
  • All through back office
  • Modify your view
  • Go to the TABS section
  • Select your search scopes for the tabs
  • Save & deploy
method 2
Method 2:
  • CSS Override
  • You must have access to edit CSS files
  • Create your own CSS file and include it
  • Use Firebug
  • Determine div/class name
    • Visibility:hidden; to HIDE things
    • Change colours
    • Re-position things
    • Replace some images
versions tab colour
Versions Tab Colour
  • Versions tab too pale:
  • If there are multiple copies of the same item, the records are de-duped and all records are displayed behind a VERSIONS tab
  • Usability testing/comments - users consistently missed this tab… too pale
the goal
The Goal
  • Make the VERSIONS tab stand out more
  • Colour change = CSS override
versions tab colour1
Versions Tab Colour
  • Instructions are on Ex Libris Developers Network
  • Essentially, we do the following:
    • create a new triangle bit
    • change the text colour
    • change the background colour
    • All done with CSS
method 3
Method 3:
  • Inject JS
  • You must have access to an HTML file loaded on each page (footer/header)
  • Create a js file and include it in this
  • Possibilities are nearly endless
  • Be prepared to troubleshoot post upgrades
remove expand
Remove EXPAND…
  • Remove the EXPAND BEYOND facet
  • Why change?
    • Usability testing/staff feedback
remove expand1
Remove EXPAND…
  • It’s a pretty simple one line javascript bit

$(document).ready(function() { $('.EXLFacetContainer h3').filter(function(index) { return $(this).text().trim() === "Expand My Results"; }).parent().hide();


  • No modifications to EXL files!
  • EXLibris Support =
  • Survives upgrades!***
  • Code in Ex Libris Developers Network
add tugdoc tab
Add TUGdoc Tab
  • TUGDoc Request Tab
  • Consortial interlibrary article lending
tugdoc tab
TUGdoc Tab
  • We co-opted the “GetIT! Link 2”… MORE tab
  • Mapping tables: Delivery: GetIT! Link 2:  changed the “link field in PNX” to tugdoc for everything except Remote Search Resource
  • Mapping tables: delivery: templates – mapped tugdoc to the URL template:
  • tugdochttps://insite.lib.uoguelph.ca/primo/tugdoc/index.cfm?bib={{control/sourcerecordid}}&view=GUELPH               link to TUGDoc request
  •  to open the tab in new window: Mapping tables: Delivery - URLs Attributes
  • https://insite.lib.uoguelph.ca/primo/tugdocOpenInNewWindow
  • For the label of the tab: Code tables: Delivery: GetIT! Tab2 – changed name to TUGDoc Request
tugdoc tab1
TUGdoc tab
  • TUGdoc tab shows up on every item
  • We only want folks to use TUGdoc for ARTICLES…not other resource types
  • So we programmatically HIDE the tab for NON-JOURNAL resources using JAVASCRIPT
tugdoc tab2
TUGdoc Tab
  • The code is in Ex Libris Developers Network
  • It’s a pretty simple one line javascript bit

$(document).ready(function() { $('.EXLMoreTab').not('tr.EXLResultMediaTYPEjournal> td > div > div > ul> li').hide();


  • No modifications to EXL files!
  • Vendor Support =
  • Survives upgrades!***
boolean search example
Boolean Search Example
  • Add a boolean search example
  • AFTER:
  • Why change?
    • Staff request
boolean search example1
Boolean Search Example
  • Relatively simple one line of JS
  • $('<div class="TUGSearchFieldRibbonBooleanExample">e.g., king AND shakespeare NOT lear</div>').insertBefore(".EXLSearchFieldRibbonAdvancedSearchLink");
  • We find div on the screen and then insert a div just before it. We give our div a class so that we can style it. We specify the content of the div
new search link
New Search Link
  • New Search Link Added
  • Why Change?
    • Staff request
    • Takes users back to search startpage
    • Requires JSP file modifications
    • Contact me for more information
where is it feature
Where is it feature
  • Patrons/staff said… cool… I have a call number… but where is the thing!?
  • Guelph/Waterloo/Laurier were different
    • Guelph had a CF web app which supported URL var and form input
    • Waterloo had a different CF web app which supported form input
    • Laurier had static floor maps
where is it
Where is it?
  • Primo has the call number…
  • Our consortia has apps (or static maps) that can take call numbers and show building locations for materials…
  • How doth we marry these things!?
where is it1
Where is it?
    • Read in item type
    • Read in location, and call number
    • Do something based on some logic
    • EG:If you find BOOK, then:
      • If UG/UW: create link which submits call number to CF apps via URL
      • If WLU: create static link to floor map of proper call number range
    • EG 2: If you find ANNEX, then always:
      • Display NOTE text instead of LINK.
where is it2
Where is it?
  • Try the Guelph view
where is it3
Where is it?
  • And one with a note…
method 4
Method 4:
  • Edit HTML
  • You must have access to HTML files
  • Add logos, customise headers/footers
  • These are least likely to survive upgrades
  • Be prepared to troubleshoot post upgrades
help doc updates
Help Doc Updates
  • Customised discovery layer = customised help
  • Updated screen caps
  • Updated instructions
  • /exlibris/primo/p4_1/ng/primo/home/system/thirdparty/jbossas/server/search/deploy/primo_library-app.ear/primo_library-libweb.war/static_htmls/
  • SEARCH TIPS: /help/search.html
search box
Search box
  • Add a simple primo search box to Library website
  • AODA…avoid iFRAMES
new books cont
New Books cont..
  • RSS feed integrated
  • Pulls covers in from Google Books
  • Can limit to LC classification range
  • Can limit to library
what about you
What about you?
  • What are some customisations you folks have done?
  • What would you like to see?
  • Will you share on Ex Libris Developers Network?
thank you
  • Thanks for listening!
  • If anything piqued your interest and you’d like some more info, feel free to drop me an email:
  • roldham@uoguelph.ca
  • @roldham