Hi Demian,


I’m assuming to test this we need to check out a newer version of vufind? I’ve tried replacing a few files to get the voyager driver working, but there appears to be more required files in order to display an item record etc.







Matthew Hooper
Systems Officer,
Flinders University Library
G.P.O. Box 2100
ADELAIDE, South Australia 5001
Phone:  +618 8201 2068

Fax:       +618 8201 2508
Email:   Matthew.Hooper@flinders.edu.au


From: Demian Katz [mailto:demian.katz@villanova.edu]
Sent: Monday, 11 April 2011 10:12 PM
To: Reuben Pasquini
Cc: vufind-tech@lists.sourceforge.net
Subject: Re: [VuFind-Tech] Voyager web services examples


I think part of the reason that the Voyager driver doesn’t have temporary location support is that we don’t use the temporary location feature at Villanova – I haven’t had a need to implement it, nor have I had good test data to try it out with.  The attached patch was given to me well over a year ago by somebody at Yale (unfortunately, I can’t remember who it was – the original email is long lost)  – I was holding off on committing it until I received confirmation that it had been passed all testing, but I never heard anything, so it’s been sitting in my queue for ages.  If anyone would like to adapt the patch to work with the current trunk code and confirm that it works correctly for a system that uses temporary locations, I’d be happy to double-check that it doesn’t break anything on the Villanova side of things and then commit it if all is well.


- Demian


From: Reuben Pasquini [mailto:reuben@frickjack.com]
Sent: Friday, April 08, 2011 9:46 PM
To: Demian Katz
Cc: Jason Stirnaman; vufind-tech@lists.sourceforge.net; cpb0001@auburn.edu
Subject: Re: [VuFind-Tech] Voyager web services examples


Hi Demian,


Clint Bellanger did the work on the Auburn driver code, so credit goes to him.

Thanks for taking a look at the code - I'm glad you could use some of it.


BTW - if you're looking at the driver anyway, you might try to work

in handling of those "temporary locations".  I know that was a small

issue at Auburn - guess we never got around to it.




On Fri, Apr 8, 2011 at 2:33 PM, Demian Katz <demian.katz@villanova.edu> wrote:



I just took a closer look at your Voyager driver.  It looks like there are actually only three significant modifications from the trunk version:


1.)    You sort MFHD records more carefully – I have just incorporated this fix into the trunk as r3823.

2.)    You pass location codes back (presumably only used in your local setup)

3.)    You pass “no items” status back (also presumably related to your local templates)


I’ve also committed Luke’s refactored Voyager driver.  If you decide to upgrade in the future, you should be able to fairly easily replicate your current Voyager customizations by extending the base driver and extending a couple of methods.


Thanks again for sharing this, and please let me know if I’m missing any important details!


- Demian


From: Reuben Pasquini [mailto:reuben@frickjack.com]

Sent: Thursday, April 07, 2011 11:18 AM
To: Demian Katz

Cc: Jason Stirnaman; vufind-tech@lists.sourceforge.net

Subject: Re: [VuFind-Tech] Voyager web services examples


Hi Demian,


You should take a look at Auburn's customizations to the Voyager driver too.


We were working against a 1.0RC1 era code base, but I don't think

the current driver is very different.

Clint Bellanger did most of Auburn's customizations work, but I know the

changes included fixes to get more accurate holding and item data for

things like multi-volume serials, and possibly some handling of Voyager's

funky temporary locations (ILL loans, new-book shelf, ...).


There's also a "Mutli-voyager" driver, that wraps the Voyager driver to

communicate with multiple ILS depending on the record-id prefix.

If you move the vufind code over to github, then you could encourage

all the users to just fork their customizations into their own repos there,

and it would be easy for everyone to share their local code.

It's free for open source.

It looks like Google Code also supports that kind of workflow with

Mercurial - notice the "Create a Clone" button:

You could probably work a similar workflow with Mercurial on sourceforge

, but I think github is really geared toward this kind of workflow.


Check what the others think on your next dev call if you like the idea.





On Thu, Apr 7, 2011 at 7:38 AM, Demian Katz <demian.katz@villanova.edu> wrote:

On a related note, I’ve been working with Luke O’Sullivan on some Voyager driver improvements:

1.)    The current Voyager class will be refactored so that it is easier to customize in object-oriented ways – the current long, complicated methods are being broken up into functional chunks, with separate methods for constructing SQL queries and processing results.  This should make local customization of the driver much more maintainable – if you want to add a field somewhere or filter a value from a particular field, you can do it from a child class without having to hack the core code.

2.)    Besides the local customization aspect, we’re making the base Voyager driver easier to extend so that we can create different “flavors” of the driver.  The base class can remain a database-driven, Voyager6-compatible baseline…  but Luke has also put together a VoyagerRestful child class that uses the new RESTful API…  and we could also theoretically create a VoyagerXML child class based on the KEVEN work (though I’m not sure if it’s necessary – the RESTful approach seems more convenient).

Luke’s currently putting some finishing touches on part 1 of the list above, and I’m hoping we’ll commit it within the next week or so (stay tuned for an announcement).  Part 2 is still a little further off, since it’s also tied to adding better generic support in the VuFind core for holds, recalls and renewals…  but I’m hoping it will be done soon, and I’m sure Luke is willing to share his patch if you want a preview.

- Demian

From: Jason Stirnaman [mailto:jstirnaman@kumc.edu]
Sent: Wednesday, April 06, 2011 5:32 PM

Subject: Re: [VuFind-Tech] Voyager web services examples


Answering my own question, I just found Kent's source repo at Google. Much thanks to Stewart and KEVEN


Jason Stirnaman
Biomedical Librarian, Digital Projects
A.R. Dykes Library, University of Kansas Medical Center

>>> On 4/6/2011 at 04:19 PM, in message <4D9CD8F6.FC9 : 5 : 23711>, Jason Stirnaman wrote:

Has anyone shared their code for a ILS driver that uses Voyager web services? Would you be willing to?


I've found this short thread http://sourceforge.net/mailarchive/message.php?msg_id=26548902 and seen a few mentions of using the Voyager web services with VuFind in place of the PDO-based ILS driver.


What I've seen so far:

http://journal.code4lib.org/articles/4165 Western Michigan U


University of Kent



Jason Stirnaman
Biomedical Librarian, Digital Projects
A.R. Dykes Library, University of Kansas Medical Center


Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
Vufind-tech mailing list