1 / 47

Hacking Your Discovery Layer

Hacking Your Discovery Layer. 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 Wilfrid Laurier University (Waterloo, Ontario, Canada) – 14,800

bono
Download Presentation

Hacking Your Discovery Layer

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hacking Your Discovery Layer Randy Oldham University of Guelph Ontario, Canada roldham@uoguelph.ca @roldham

  2. 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

  3. GUELPH

  4. Fan of GOT? 300km (186 miles) Ambassador Bridge

  5. More about TUG • Snapshot of the TUG Software Ecosystem: • Shared ExLibris Voyager ILS • Shared ExLibris Primo (each have our own view) • Ex Libris bX Recommender • Ex Libris Primo Central • Ex Libris SFX

  6. Note • Lots of Ex Libris products • Hosted Locally: • Voyager • Primo • Hosted Provincially: • SFX

  7. Generally Speaking… • Locally-hosted • More access to files • More potential for hacking • Vendor-hosted • Less access to files • Less potential for hacking • YOUR MILEAGE MAY VARY… • Terms & Licenses

  8. 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!

  9. 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 

  10. 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?

  11. Tools You’ll Need • Vendor customisation documentation • Access to customise or include files • Users • Knowledge of either: • CSS • HTML • JAVASCRIPT • Firebug addon for Firefox • 1 bottle beer* • 1 bottle opener*

  12. Quick Note on Firebug • Extension for Firefox • Find div/class names: • To hide • To change

  13. 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

  14. Change Facet Order Complexity level: LOWbackend administration

  15. Facet Order • Changed Facet Order: • WHY Change? • Usability testing, Consortia, Analytics Before: After:

  16. Facet Order • How to modify FACET ORDER in PRIMO: • Login to the Primo back office • Click ONGOING CONFIGURATION WIZARDS • Click VIEWS WIZARD • Click on EDIT to the right of the view • Click SAVE & CONTINUE, CONTINUE, CONTINUE • 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

  17. Add custom tabs Complexity level: Lowbackend administration

  18. Tabs • Add tabs (Blended, Primo, Primo Central) • AFTER: • Why change? • Usability testing/staff feedback

  19. tabs • All through back office • Modify your view • Go to the TABS section • Select your search scopes for the tabs • Save & deploy

  20. 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

  21. Change versions tab colour Complexity level: LowCSS override

  22. 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

  23. The Goal • Make the VERSIONS tab stand out more • Colour change = CSS override

  24. Versions Tab Colour • Instructions are on EL COMMONS CODESHARE • Essentially, we do the following: • create a new triangle bit • change the text colour • change the background colour • All done with CSS

  25. 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

  26. Remove EXPAND MY RESULTS Complexity level: LowJavaScript Addition

  27. Remove EXPAND… • Remove the EXPAND BEYOND facet • Why change? • Usability testing/staff feedback

  28. 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 core files! • EXLibris Support = • Survives upgrades!*** • Code in El Commons

  29. Customise MORE tab Complexity level: Mediumbackend & JS

  30. Add TUGdoc Tab • TUGDoc Request Tab • Consortial interlibrary article lending

  31. 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

  32. 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

  33. TUGdoc Tab • The code is in EL Commons • 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 core files! • Vendor Support = • Survives upgrades!***

  34. Boolean Search Example Complexity level: MediumJavaScript Addition

  35. Boolean Search Example • Add a boolean search example • AFTER: • Why change? • Staff request • Enhance usability

  36. 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

  37. Where is it? integration Complexity level: HIGHJavaScript Addition

  38. 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

  39. 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!?

  40. Where is it? • Some JAVASCRIPT! • 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.

  41. Where is it? • Try the Guelph view

  42. Where is it? • And one with a note…

  43. 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

  44. Customised Help Complexity level: MEDIUMHTML Modification

  45. 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

  46. In Summary • We explored 4 different ways to hack your discovery layer: • RTFM • CSS • JS • HTML • THESE WORK FOR OTHER VENDOR APPLICATIONS TOO! • Can be simple, or more complex, depending on the app and your comfort level

  47. Thank You! • Thank you so much • Twitter me @roldham • Email me at roldham@uoguelph.ca • Questions, requests for me to pronounce Canadian things? • Eh? • About • Out and about • hoser

More Related