developer chicago 1-2 feb 2010 ken herold hamilton college
TRANSCRIPT
Developer Developer
Chicago 1-2 Feb 2010Ken Herold
Hamilton College
Patron customizations
o Personal information data view modifiedo Forms pre-filled with the patron barcodeo Patron charged items separated by item
types to isolate ILL borrowso Charged item display data addedo Voyager ILL items linked, with a renewal
optiono Requests pending data display changed
2Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Personal information data view
Issue: Want to add barcode and mail-to link for patron corrections
Method: External xml source document is needed to match on available data, the full patron name string
Note: XML file location (/m1/..) also web pageOption: Can deliver any matched dataWish: Query xml in Oracle directly??
3Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
4Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
5Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
userlist.xmlNightly build, as with ezproxy user list<patrons> KEY…<patron MATCH patID="1552" patName="Ken R. Herold“ USEpatBC="20000XXXXX" VALUE-OF SELECTpatGroup="FC" /> …</patrons>
6Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
cl_personalInfo.xsl<xsl:variable name="patFN" select="page:page//page:element[@nameId='page.header.logout.link']/page:preText[1]"/>
<xsl:key name="patrons" match="patron" use="@patName" />
Barcode:<xsl:for-each select="document('/m1/../userlist.xml')">
<xsl:variable name="patronBC"><xsl:value-of select="key('patrons', $patFN)/@patBC" />
</xsl:variable> <xsl:value-of select="$patronBC"/>
</xsl:for-each>
7Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Forms pre-fill with patron barcode
Issue: Patron is already logged-in, do not require additional authentication
Method: Same external lookup: userlist.xmlNote: Alternate document location (http)Option: Could use cookie, but not guaranteed
point of login/securityWish: ExL would offer privacy options to patrons
in Preferences
8Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer 9
cl_requestForms.xsl <xsl:variable name="patFN" select="page:page//page:element[@nameId= 'page.header.logout.link']/page:preText[1]"/>…<xsl:key name="patrons" match="patron" use="@patName" /> <xsl:template name="doField"> …<xsl:when test="@isPassword='Y'">
<xsl:for-each select="document('http://<host:port>/userlist.xml')"> <xsl:variable name="patronBC">
<xsl:value-of select="key('patrons', $patFN)/@patBC" /> </xsl:variable>
<xsl:attribute name="type">text</xsl:attribute> <!-- to make visible --> <xsl:attribute name="id"></xsl:attribute> <xsl:attribute name="value">
<xsl:value-of select="$patronBC"/> </xsl:attribute>
</xsl:for-each></xsl:when>… </xsl:template>
10Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Patron charged items for ILL
Issue: Items from other libraries cannot be managed in the default display, i.e. renewals and due dates
Method: Replicate template and test for item type (ILL borrow)
Note: very local in practiceOption: Could test other available xmlWish: ExL would make all display fields,
columns, labels selectable variables
11Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
12Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
13Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
cl_myAccount.xslWithin <xsl:for-each select="page:item"> loops:
displayChargedItems template:<xsl:variable name="iT" select="page:itemType"/>
<xsl:if test="$iT != 'ILL borrow'">…does regular display…
displayILLBorrows new template:<xsl:variable name="iT" select="page:itemType"/>
<xsl:if test="$iT = 'ILL borrow'">…does custom display without checkboxes
14Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Charged item display data added
Issue: Bug Report 16384-4289 and Customer Incident 16384-89210; only item title showing
Method: Pseudo web service using PHPNote: No local performance problems—could
bury large/other sites??Option: Do we really want to be doing this? Wish: ExL would open display options to full
range of item data available
15Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
16Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
17Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
cl_myAccount.xslWithin charged item and ILL borrows templates:
<xsl:variable name="wsill">http://<host:port>/itemid.php?<xsl:value-of select="page:itemId"/></xsl:variable>
<td id="tableCell" headers="cellChargedItem"> <xsl:value-of select="page:title"/> <xsl:value-of select="document($wsill)"/>
</td>
18Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
itemid.php…SELECT DISTINCT
item_barcode.item_barcode, mfhd_master.display_call_no,
mfhd_item.item_enum…$answer .= ' ' . OCIResult($iStatement,$i);…// Build the xml output
$xml_output = "<?xml version=\"1.0\"?>\n";$xml_output .= "<result>\n";$xml_output .= $answer . "\n";$xml_output .= "</result>";echo $xml_output;
…19Ken Herold Hamilton College 1-2 Feb 2010
ExLibris Chicago Developer - Developer
Voyager ILL items linked
Issue: Can we provide Voyager ILL data for patrons at the Web Voyage patron page?
Method: Write link to PHP page sourced by MS Access database, keyed by patron_id
Note: Non-secure hiding of patron_id Option: Could load patron_id as PIN in Ariel to
retrieve from FTP document delivery siteWish: ExLibris include VoyILL in vwebv APIs
20Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
VoyagerILL Data
• Hosted on Windows 2003 R2 server• MS Access 2003 database• Cliodata.mdb copied nightly: Borrows table • System DSN Data Source: cliodata_copy.mdb• Borrows table structure includes patron_id• Weeded nightly to latest 90 days • Existing PHP reporting
21Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Patron lookup in VoyagerILL, using PHP
22Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
myAccount
23Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
24Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
cl_myAccount.xsl<xsl:key name="patrons" match="patron" use="@patName" />
<xsl:template name="displayILLData">... <xsl:for-each select="document('/m1/…/userlist.xml')">
<xsl:variable name="patronID"><xsl:value-of select="key('patrons', $patFN)/@patID" />
</xsl:variable> <form action="http://<serverIP>/../alex2clio.php" method="post" target="_blank"> <input type="hidden" name="glomf" value="{$patronID}" /> <input type="submit" name="sendit" value="VIEW" /> </form>
</xsl:for-each>…</xsl:template>
25Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Requests pending data display
Issue: Bug Report 16384-6769 and Customer Incident 16384-125640; statuses and dates not accurate or updating
Method: PHP modifies ‘page:status’Note: Title info insufficient to matchOption: Want to report full citation, tooWish: ExL would further integrate Voyager ILL
and Tomcat Web Voyage
26Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
myAccount Page – Requests Pending
• Not displaying full status information, only an expire date
• Copy and Loan requests from ILL are correctly populating with some data
• When Copy requests are satisfied, they are not moving to Requests Available section
• Loan requests correctly move to the Charged Items section when charged
• Statuses for Copy and Loan requests are not being reported other than an expire date
27Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer 28
Would like to add selected fields below to bare title; full citation for articles, books, book chapters—
no xml is available on which to match
29Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer
cl_myAccount.xsl<xsl:template name="displayPendingRequests"> …<xsl:variable name="ws3"> http://<host:port>/statusfix.php?st= <xsl:value-of select="page:status"/></xsl:variable> …<td id="tableCell" headers="cellRequestStatus">
<xsl:value-of select="document($ws3)"/>  <!--xsl:value-of select="page:status"/> -->
</td> …</xsl:template> …
Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer 30
statusfix.php<?
$entry = $_GET['st'];
$bad1 = '/Expires/';$bad2 = '/12:00:00/';
$answer = preg_replace($bad1,'',$entry);$answer = preg_replace($bad2,'',$answer);$answer = preg_replace('/:/','',$answer);
// Build the xml output$xml_output = "<?xml version=\"1.0\"?>\n";$xml_output .= "<result>\n";
$xml_output .= $answer . "\n";
$xml_output .= "</result>";
echo $xml_output; ?>
Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer 31
…exit;
// Thank You!
Ken Herold Hamilton College 1-2 Feb 2010 ExLibris Chicago Developer - Developer 32