1 / 43

Creating a Customized HIP for Reference Staff

Creating a Customized HIP for Reference Staff. Phil Feilmeyer Hennepin County Library CODI 2005. Backdrop. HIP 3.06a, Windows 2003 Horizon 7.3.3 HCL is a single library with 26 branches Each branch has a HIP profile, but they are essentially identical

csilla
Télécharger la présentation

Creating a Customized HIP for Reference Staff

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. Creating a Customized HIP for Reference Staff Phil Feilmeyer Hennepin County Library CODI 2005

  2. Backdrop • HIP 3.06a, Windows 2003 • Horizon 7.3.3 • HCL is a single library with 26 branches • Each branch has a HIP profile, but they are essentially identical • Decision-making aspects of customization are centralized • Experience with XSLT, SQL, Web design/graphics, Web Application development • Previous CODI presentations on customizing XSL stylesheets available at: http://www.hclib.org/extranet and http:www.hclib.org/extranet/MorePresentations.html

  3. Backdrop • Migration from Dynix with extensively customized HIP to Horizon, September 2004 to August 2005

  4. Backdrop • Evaluation of the client search interface • Catalog interface much different for staff and public • Team identified essential functionality for Reference Desk interface • Blurry line between Ref and Circ Desk tasks • Reduce introduction of bad data by untrained and/or creative staff • Perceived reduction in level of customer service

  5. Horizon Migration • Evaluation of the client search interface • Catalog interface much different for staff and public • Team identified essential functionality for Reference Desk interface • Blurry line between Ref and Circ Desk tasks • Reduce introduction of bad data by untrained and/or creative staff • Perceived reduction in level of customer service

  6. Searching/Display Item detail Update item status Special indexes Borrower records* View details Reset PIN Update address/phone Requests View title request list Change pickup location Place request* Cancel request* Shuffle queue Convert item-specific to any-copy *Login to My Account without barcode or PIN Reference Desk Tasks not covered in HIP

  7. Public Basic Search

  8. Staff Basic Search

  9. Item Details - Public

  10. Item Details - Staff

  11. Update Item Status

  12. Access to My Account

  13. Access to My Account

  14. Change pickup location

  15. Change pickup location

  16. Separation of Staff and Public • Each branch has two HIP profiles, one for public and one for staff • Staff profile code same as public preceded by an underscore • Public: ap • Staff: _ap • Staff profiles don’t require a PIN • Profile codes used to differentiate between Staff and Public in the XSL stylesheets • Same XSL stylesheets used for both

  17. $isStaffProfile In each of the root stylesheets <xsl:variable name="isStaffProfile"> <xsl:if test="starts-with(//profile, '_')">true</xsl:if> </xsl:variable> To implement a difference between Staff and Public <xsl:choose> <xsl:when test="$isStaffProfile = 'true'"> [code for staff catalog] </xsl:when> <xsl:otherwise> [code for public catalog] </xsl:otherwise> </xsl:choose>

  18. Types of Customizations • All require customizing the XSL stylesheet to change source HTML based on $isStaffProfile • Adding data elements to the XML using the HIP Admin tool • Adding data elements NOT available through the Admin tool and XML • Link to custom web applications that interact directly with Horizon database

  19. HIP Admin tool – Item details

  20. HIP Admin tool – Item details

  21. HIP Admin + XSL Customization <td> <xsl:value-of select="$status"/> <xsl:if test="$isStaffProfile = 'true'"> <br/> <xsl:value-of select="$status_set"/> </xsl:if> </td>

  22. Data not available from the XML

  23. Data not available from the XML Borrower ID, but no barcode number in the XML

  24. Data not available from the XML • Custom java function in the XSL Processor that pulls in content from a web page • written by Casey Durfee, Seattle Public Library • http://extranet.spl.org/rss-0.5.zip • Instructions: getURL.txt • Code: Utils.jar (in the optional folder) • Create a custom web application to deliver the desired information • Perl CGI and/or ColdFusion • Use SQL to pull data from Horizon database

  25. Data not available from the XML getbbarcode.cfm <cfparam name="borrowerID" default=""> <cfquery datasource="Horizon_Staff" name="getbbarcode"> select bbarcode from borrower_search_cf_view where borrower## = #borrowerID# </cfquery> <cfoutput query="getbbarcode">#bbarcode#</cfoutput>

  26. Data not available from the XML

  27. Data not available from the XML toolbar2.xsl <td> <xsl:value-of select="//security/name"/> <xsl:if test="$isStaffProfile = 'true'"> <xsl:variable name="url"> http://hzapps:8080/getbbarcode.cfm?borrowerID= <xsl:value-of select="//security/patronid"/> </xsl:variable> <br/> <xsl:value-of select="Utils:getURL($url)"/> </xsl:if> </td>

  28. Data not available from the XML Taking this technique to extremes… getSummaryViewData?bibID=1099918&loc=rd numRequests=24+checkedIn=here+refRent= all~509~ref~0~bsx~0~onorder~0~+reqData= 491~491+onOrder=0+ldr06=a+ldr07=m+desc00=+desc01=+desc04=+fixed21= +fixed23= +URL= +niceTitle=Harry Potter and the half-blood prince

  29. Data not available from the XML numRequests=24 checkedIn=here copies=all~509~ref~0~bsx~0~onorder~0 reqData=491~491 onOrder=0 ldr06=a ldr07=m desc00= desc01= desc04= fixed21= fixed23= URL= niceTitle=Harry Potter and the half-blood prince getSummaryViewData?bibID=1099918&loc=rd

  30. Link to Custom Web Applications • Direct link via <a href=…> • Form submission via <form action=…>

  31. Direct link via <a href=…>

  32. Direct link via <a href=…> getrequests.cfm?bib=1088720

  33. Direct link via <a href=…> getrequests.cfm <cfparam name="bib" default=""> <cfquery datasource="Horizon_Staff“ name="getHolds"> SELECT * FROM request WHERE bib## = #bib# and request_status not in (3,6) ORDER BY bib_queue_ord </cfquery>

  34. Direct link via <a href=…> fullnonmarcbib.xsl <a> <xsl:choose> <xsl:when test="($requests &gt; 0) and ($isStaffProfile = 'true')"> <xsl:attribute name="class"> <xsl:value-of select=“$css_small_bold_anchor"/> </xsl:attribute> <xsl:attribute name="href"> http://hzapps:8080/getrequests.cfm?bib= <xsl:value-of select="$bibkey"/> </xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="class"> <xsl:value-of select="$css_bold_black_font1"/> </xsl:attribute> </xsl:otherwise> </xsl:choose> Current Requests: <xsl:value-of select="$requests"/> </a>

  35. Form submission via <form action=…>

  36. Form submission via <form action=…> <form name=“ipac”> [code for regular HIP login form] </form> <form name=“NameToBarcodeLookup” action=“http://hzapps:8080/barcodeLookup.cfm”> [custom code for name keyword lookup form] </form>

  37. Security • Separation of staff and public catalogs, helper services • public, universally available • staff, restricted to secure internal network • separate HIP servers • separate database users/permissions for custom applications

  38. Security • Authentication • Staff Catalog cookie • must be from a staff workstation with an internal IP address • username/password • Javascript added to the five root XSL stylesheets to check for the cookie • Tests for cookie (“onLoad”) • Pass, on to the catalog • Fail, redirect to the public catalog

  39. SQL Help • Use Horizon client in debug mode to see the SQL used for a task • Ctrl-Alt-Shift-D

  40. SQL for Change Pickup Location 01-LCH.GUI: 01-LCH.GUI: Nov 6, 2005 06:39:58 01-LCH.GUI: Client version 7.3.200.14 01-LCH.GUI:'HZDEBUG = Comment, DbCommand 01-LCH.GUI:'HZPHASE = GENERAL 01-LCH.GUI: begin tran 01-LCH.GUI: select request#, item#, borrower#, request_date, request_status, hold_exp_date, comment, on_hold_date, expire_date, fill_date, fill_location, pickup_location, reactivate_date, copy_request, timestamp /* kludge */ from request where request# = 402463 for browse 01-LCH.GUI: update request set pickup_location = "ap" where (bib# = 494574) and (bib_queue_ord = 5) and tsequal(timestamp, 0x00010000a62a5e95) 01-LCH.GUI: select distinct table_name, keyCols = convert (varchar (255), null), dbServerColsBkt = convert (int, null) from synch_table where enabled = 1 order by table_name 01-LCH.GUI: commit tran

  41. Change Item Variables (CIV)

  42. Change Item Variables (CIV)

  43. Creating a Customized HIP for Reference Staff Phil Feilmeyer, Hennepin County Library http://www.hclib.org/extranet pfeilmeyer@hclib.org http://www.hclib.org/catalog CODI, November 2005

More Related