Luke or Demian,

Would you be willing to share a preview of your Voyager Driver with RESTful API support?



----- Original Message -----

From: "Demian Katz" <demian.katz@...>

To: "Jason Stirnaman" <jstirnaman@...>, vufind-tech@...

Sent: Thursday, April 7, 2011 8:38:55 AM

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

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

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