Thanks for sharing this -- I appreciate it!


Unfortunately, as far as I can tell (and please correct me if I'm mistaken), the XML API was introduced in Voyager 7, and we're still using an earlier version here at Villanova… so it won't help me, but hopefully it will help others.  Perhaps at some point we should consider having separate drivers in the trunk for different versions of Voyager so that institutions with newer installations can take advantage of these improved features, but legacy installations can continue working.


- Demian


From: Riehle, Matthew T []
Sent: Friday, August 28, 2009 11:51 AM
To: Demian Katz;
Subject: Voyager XML API && Recall Functionality


We’ve added/modified functions in the Voyager driver to  utilize the Voyager XML API. Included in this is the submitRecall(). Our libraries do not allow patrons to place holds on books outside of recall, so that was not added.


I’m attaching our modified Voyager Driver and some of the services/php files.


Other points of interest might be the Bookbag functions (which use Voyager’s built in favorites service), Callslips, Renewals, etc. Look for the /*****purdue added*****/ comment towards the bottom of the driver.



Record/Hold.php – Submits the recall request

MyResearch/Holds.php – Displays recalls and Callslips


I think I’ve attached all necessary pieces to this email to get recall working, but let me know if I left something out or if you would like to see the .tpl files as well. This was one of the first things we tried to get up and running, so it’s been a while since I have reviewed the code.


Hope this helps someone out there!



Matt Riehle
Web Application Developer

Purdue University Libraries





From: Demian Katz []
Sent: Thursday, August 27, 2009 12:14 PM
Subject: [VuFind-Tech] Voyager Hold/Recall Functionality


Just discovered that the hold/recall links in our VuFind installation are not working -- they go to a Voyager login page, but the page is malformed (the drop-down to the left of the barcode entry box is empty but should show a sample barcode number), and filling in the form just leads to a dead-end error screen.


The current VuFind Voyager driver works by screen-scraping links from the web catalog.  The problem seems to be that the links are system-specific.  A link served to the VuFind server works if it's accessed from the server, but if it's passed along to a VuFind client, it no longer functions.  It's nothing to do with cookies or sessions, since I can access a working URL in multiple web browsers, and as long as I stay on the same computer, it continues to work…  but if I try to access it from a different box, it won't work.  Maybe IP address is being hashed into one of the parameters or something like that.  Since Voyager is essentially a black box, this is a hard one to understand or work around.


I notice some discussion about broken Voyager hold functionality back in March or April, but I see no clear resolution.  Did this ever work right?  Is it working now for any of the other Voyager libraries?