From: Osullivan L. <L.O...@sw...> - 2009-09-10 13:22:11
|
It may also be worth looking into a driver which relies fully on the new Horzion XML API... -----Original Message----- From: Ray Cummins [mailto:r...@bu...] Sent: 10 September 2009 14:06 To: vuf...@li... Subject: Re: [VuFind-General] Horizon Demian Katz wrote: > It would be nice to get the trunk code up to date with the best available Horizon driver code. > > Has anyone tried the driver code here? > > http://www.vufind.org/jira/browse/VUFIND-9 > > It seems significantly different from what's in the trunk, plus there's a comment proposing an additional modification. > I checked out revision 1420 and took a look at web/Drivers/SirsiDynixSybase.php. The first problem I see is line 33: $this->db = sybase_pconnect($configArray['Catalog']['server_port'], ...this should probably be changed to: $this->db = sybase_pconnect($configArray['Catalog']['host'] . ':' . $configArray['Catalog']['port'], ...otherwise one has to edit conf/SirsiDynixSybase.ini and add a line such as "server_port = hostname:port". VUFIND-9's file attachment of SirsiDynixSybase.php does not seem to implement the suggestion made in its own comment. Also it implements the function getStatus (with the getHolding function being an alias of getStatus) while the trunk's version of SirsiDynixSybase.php implements getHolding (with no implementation of getStatus or getStatuses, causing PHP to throw an error). Adding functions for getStatus and getStatuses, and inserting the SQL from VUFIND-9 into the getHolding function, I do not get any error messages, and I do get location codes and call numbers listed under the "Holdings" tab of search results, however I do not see item availability or due dates or a "Place a hold" link. This is due to our item status being "Checked In" instead of "In" as is looked for in the getStatus function. I don't know whether the "Checked In" item status description is standard among Horizon installations - maybe getStatus should look for a particular item status code which is probably more likely to be standard among installations, instead of its (English-speaking-)human-friendly description as is returned by the SQL statement in getStatus? This is something for Horizon people to discuss. And on that note, at this point perhaps it's easiest just to attach the SirsiDynixSybase.php that I ended up with after modifying the one found on the trunk, and letting the folks running a Horizon installation make suggestions for improvement. In the attached file there are functional (as far as I can tell) patronLogin and getMyProfile functions, and placeholders for getMyHolds, getMyFines, and getMyTransactions which I might have a crack at later though I'm hoping someone already traveled down those paths. |