1 / 22

Enhancing Primo Back Office

Explore how KIT Library improved the usability of Primo Back Office through user interface changes, search features, and AJAX architecture, enhancing the efficiency of managing library resources.

rrountree
Download Presentation

Enhancing Primo Back Office

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. Enhancing Primo Back Office Uwe DierolfKIT-Bibliothek

  2. KIT Library • Oneofthefirst 24h libraries in Europe • Opened in April 2006 • Never closed • > 30.000 visitors per week Uwe Dierolf – KIT-Library

  3. KIT Library • KIT Campus South = Karlsruhe University • KIT Library Campus South • 24h library • Karlsruhe Research Centre • KIT Library Campus North • KIT: University + Research Centre • Distance 12 km • University of Applied Sciences • In thecentreofthecity • Completelymanagedby KIT Library • Not partof KIT Research Centre University University ofApplied Sciences Uwe Dierolf – KIT-Library

  4. Motivation forenhancingtheBack Office • Bad usabilityof Primo Back Office • Lot ofthingscan'tbesearched • BO islike a bigmemorygame, youhavetorememberwhereyouputthings Uwe Dierolf – KIT-Library

  5. Usabilityproblems • Buttons arespreadacrossthewholepage • Cancel / Go back – bottomleftSave / Refresh – bottomright • Edit-buttons on therightforceuserto scroll horizontal • Navigation needs a lotofmouseclicks • Orbookmarklets • Fields areoftentooshort • XPath-namesandotherfieldsare not completelyreadable • Tables • Zebra stripesaremissing • Youcan'tcopycontent • Youcan'tfade out irrelevant lines Uwe Dierolf – KIT-Library

  6. Changingtheuserinterface • Menus insteadofbookmarklets • You find them in everybrowser • Youcanmaintainthemcentrally on theserver • Tableswith zebra-stripedlines • Cloned Edit-buttons • Edit-buttons on theleftsidetoo, youcanhitthemmoreeasily • Importantandheavilyusedbuttonsare on top • Policy: alwaysclone, do not remove original button • Implementation of a searchfeature • Search fortext in mappingtables und normalizationrules • Technique: using Oracle database via JSONP & PHP • Betterusabilitymakesworkingmorecomfortable Uwe Dierolf – KIT-Library

  7. Demo • A pictureisworth a thousandswords … Uwe Dierolf – KIT-Library

  8. Menus Uwe Dierolf – KIT-Library

  9. NormalizationRules – cloned Edit buttons Uwe Dierolf – KIT-Library

  10. Mapping und Code Tables - cloned Edit buttons Uwe Dierolf – KIT-Library

  11. NormalizationRules – larger fields Uwe Dierolf – KIT-Library

  12. Mapping und Code Tables – tablesearch table-search Uwe Dierolf – KIT-Library

  13. Code Tables – changecolumnwidth wider column Uwe Dierolf – KIT-Library

  14. Search feature on the BO homepage Uwe Dierolf – KIT-Library

  15. Searching II Uwe Dierolf – KIT-Library

  16. Realization • UsageofJavascriptlibraryjQuery • Advantage: looselycoupled • Minimal invasive • Onlytwofiles in tilesdirectoryhavetobemodified • headerTile.jspund old_headerTile.jsp • SearchingisusingjQuery's JSONP-Request • Javascriptcalls a PHP scripttosearch in the Oracle database • Why JSONP? • JSONP = JSON withpadding • JSON = JavascriptObject Notation • Wecanuseservicesfromourserver • Circumventcrossdomainrestriction / same originpolicyofthebrowser Uwe Dierolf – KIT-Library

  17. JSONP in jQuery • Client • varjsonUrl = 'http://host/path/script.php?callback=?&p1=v1'; $.getJSON(jsonUrl, jsonCallback); • The ?becomes a randomfunctionnamelikejson123456789 • Server • PHP-Skript returnsJavascriptfunctioncall • json123456789( { jsondata } ); • Think asynchron ! • Wikipedia: http://en.wikipedia.org/wiki/JSONP Uwe Dierolf – KIT-Library

  18. AJAX-Architecture http Oracle Primo-ServerEXL Web-ServerKIT jQuery / JSONP PHP Search in Mapping TablesandNormalization Rules Uwe Dierolf – KIT-Library

  19. Content Delivery Networks (CDN) • Motivation • Permits BO-searchfor different Primo Admins • Important in multitenantenvironments • In general: CDN permitsuserspecificdeliveryofJavascript • EndusersgetminimizedJavascript • Withoutcommentsanddebugstatements • Onlydevelopersgetthedebugversion • Additional functionsonlyforspecialusergroups • Adminsorlibrarians • CDN permitscollaborativedevelopment • Oneprimoinstallation but everydeveloperseeshisJavascriptcode Uwe Dierolf – KIT-Library

  20. Howdoesn CDNwork? • PHP scriptcreates individual Javascriptcode • Exampleat KIT: title statisticslink onlyforlibrarians • Apache mod_rewritewithproxyrulesmakesit invisibleRewriteRule kit_primo.js$ http://server/script.php [P,L] • Browser cachingshouldbeforced • via .htaccess<Files kit_primo.php> <IfModulemod_expires.c>ExpiresActive OnExpiresByTypetext/javascript "access plus 10 minutes" </IfModule></Files> Uwe Dierolf – KIT-Library

  21. Conclusion • Techniqually (almost) everythingispossible • Lose couplingallowsincrementalenhancements • Adaption to Primo V4 shouldbepossible • More featuresareplanned • Resultsof BO-searchas link listwhichleadsdirectlytonormalizationrulesormappingtablerecords • NiceruserinterfacebyusingjQuery UI • Desirefor Ex Libris • More speaking ID andclassnameswithin Back Office astheyuseit in the Primo frontendmakesiteasierto find thingswithin HTML • Code hasbeengivento Ex Libris ! • Perhapsthey will integrateit in futurereleaseof Primo BO Uwe Dierolf – KIT-Library

  22. Thankyou Do youhaveanyquestions? Uwe.Dierolf@KIT.edu+49 721 608 46076 Uwe Dierolf – KIT-Library

More Related