Access Keys:
Skip to content (Access Key - 0)
My Area (Access Key - 2)


Toggle Sidebar
Your Rating: Results: PatheticBadOKGoodOutstanding! 3 rates
Labels:
myaccount myaccount Delete
ill ill Delete
advanced advanced Delete
tomcat tomcat Delete
opac opac Delete
perl perl Delete
php php Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

MyAccount - ILL Section for Tomcat WebVoyage

Tags: , , , , , ,
Last Updated: Mar 24, 2010 16:21


  • Description

    The MyAccount patron page includes charged and requested items for customers using Voyager ILL. This project creates a unified table for ILLs on the MyAccount page derived from VoyagerILL's CLIO database, Ariel's Document Delivery, and RapidILL's web service. This method is quite complex and requires high-level access to all servers involved. The patron authentication portion is non-standard and not recommended for all sites, especially the larger. The WebVoyage Enhancer Code Contribution by Ere Maijala may be a good alternative for the patron identification portion.


  • Author: Ken Herold
  • Additional author(s):
  • Institution: Hamilton College
  • Year: 2010
  • License: BSD style
  • Short description: Use, modification and distribution of the code are permitted provided the copyright notice, list of conditions and disclaimer appear in all related material.
  • Link to terms: [Detailed license terms]
  • Skill required for using this code:
    Advanced

State

Stable, planned for production deployment Summer 2010.

Programming language

Perl, PHP, XSLT

Software requirements

VoyagerILL or equivalent data source; Ariel document delivery and RapidILL optional

Screen captures

My Account page (top) illustrating dedicated ILL Requests section, with buttons for 90-day report of Voyager ILL transactions (ILL HISTORY - ASK TO RENEW) and pre-authenticated link to Ariel Document Delivery folder (MANAGE MY DOCUMENT DELIVERY).

My Account page (bottom) illustrating dedicated ILL Requests section, including delivered photocopies, delivered photocopies with live link to available PDF (Get PDF), charged books, and live links to available articles from Rapidill.org (Rapid PDF).

Method

This personalization is based on XML available at the MyAccount page (cl_myAccount.xsl). With Voyager 7 Tomcat, that is the string comprised of the title, firstname, middlename and lastname from the patron table, which appears as page:preText[1] in the page XML. I add the following line in the header of the stylesheet:

<xsl:variable name="patFN" select="page:page//page:element[@nameId='page.header.logout.link']/page:preText[1]"/>

One method to supply the key values necessary to match this patron data is to run a nightly extract (similar to sites using ezproxy) of selected patron data in xml form. The xsl page can then access this data in a lookup fashion comparing the variable patFN. See: patlookup.pl in the Download file list for our script.

The next step is to write new templates (see ill_templates.xsl) and preface them with the following line:

<xsl:key name="patrons" match="patron" use="@patName" />
<xsl:template name="displayILLData"> ...

Then, one can loop through the lookup xml file for the matching key, in this case the patron_id, and save it as a variable:

<xsl:for-each select="document('/m1/voyager/xxxdb/.../userfile.xml')">
<xsl:variable name="patronID"><xsl:value-of select="key('patrons', $patFN)/@patID" /></xsl:variable> ...

The remainder of the method consists of Perl and PHP scripts using these patron or request key values to perform SQL searches and return XML results for display. One calls the new templates at the appropriate locations in cl_myAccount.xsl and suppresses or customizes the rest of that page accordingly.

Access to the Voyager ILL database is crucial. I schedule an hourly task which copies the BorrowingRequests table along with a copy of the Voyager patron table to a separate MS Access database called cliodata_copy, made into its own Data Source. I then weed entries to the most recent rolling 90 days. Since ILL borrows are polled directly from the Clio database, we suppress their appearance in the Charged Items section through an xsl test.

The ILL History page has an SMTP mail widget for sending citation data directly to an ILL email account to request renewals. We use our local server, but sites will have to determine their best practice for this feature. Similarly, the Ariel integration with document delivery and the auto-login link creation depends upon local practice and configuration of patron accounts in Ariel.

Download File List

Page attachments management can be reached from the top-right menu - 'attachments' after page save.

1. patlookup.pl NIGHTLY EXTRACT OF PATRON DATA IN XML FORM
2. ill_templates.xsl TWO EXAMPLES. ONE, CREATES LINK TO ILL HISTORY. TWO, CREATES TABLE OF ILL ITEMS.
3. clio2tomcat.php RECEIVES PATRON_ID AND OUTPUTS CITATION LIST FROM VOYAGER ILL AS "ILL HISTORY"
4. arielDocList.pl MODIFIED DISTRIBUTION FROM THE ARIEL COMMUNITY
5. arielDoc.pl MODIFIED DISTRIBUTION FROM THE ARIEL COMMUNITY
6. arielDocs.php RECEIVES UNIQUE EMAIL ADDRESS AND READS ARIEL DOCUMENT DELIVERY FOLDER CONTROL FILES FOR MATCHING PDFs
7. ill2Tomcat.php RECEIVES UNIQUE EMAIL ADDRESS AND REPORTS XML OF CLIO CITATIONS TO WEB VOYAGE TOMCAT PAGE
8. ill2Ariel.php RECEIVES ILL REQUEST ID AND REPORTS XML OF CLIO CITATIONS TO ARIEL DOCUMENT DELIVERY PAGE
9. rapid.pl WEB SERVICE AT RAPIDILL.ORG; SENDS REQUEST_ID AND RECEIVES CITATION DATA

Working example

See screenshots

Using the following Ex Libris open interfaces

Changes

Release notes

I want to thank RapidILL.org for agreeing to modify its web services to include citation data at our request.

Installation instructions

See Method section above.

TO DO list

Once ExLibris exposes a unique patron identifier, e.g. patron_id, via XML then the need for the patron look-up file and process is unnecessary.

Books with a discharged status and articles with a delivered status may be filtered out of the results page, as desired.

The PDF link labels may be changed and locations moved to another column.

We are exploring an overall date sort by most recent first, but this will require a major code rewrite.

Error conditions should result in blank displays versus broken pages, but this can always be improved.

Known issues

All code examples should be secured by the installing sites, especially files open to the internet. Displays are subject to the vagaries of accurate and ungarbled barcode numbers.


Comments

Text...

Page Attachments

File NameCommentSizeNumber of Downloads
ill_2.jpg214 kB516
ill_1.jpg128 kB562
ill_templates.xsl10 kB89
rapid.pl2 kB105
ill2Ariel.php2 kB88
ill2Tomcat.php3 kB84
arielDocs.php1 kB94
arielDoc.pl20 kB126
arielDocList.pl0.9 kB87
clio2tomcat.php5 kB90
patlookup.pl3 kB94

Added by Ken Herold on Mar 18, 2010 17:15, last edited by Ken Herold on Mar 24, 2010 16:21

Adaptavist Theme Builder Powered by Atlassian Confluence