Hopefully I can get through this without my brain exploding….
I’m working on customizing VuFind 1.3 to meet our consortial needs. One of those needs is that monographs have a title-level hold but serials and volume-based works have copy-level holds. I’ve integrated the 1.4 patch from VUFIND-507 in as much as I can (we use Symphony, not Voyager). It assumes you can place a title-level hold with a catkey. Here’s the silly clincher: Symphony requires an item-level ID to do a title hold (please join me in beating SirsiDynix senseless).
I’ve worked out what I need to do to solve my problem but I’m not sure where the best place is to do it (or if there is a suitable place at all). My preferred approach is to structure the title-level hold URL so that it has an item_id in the parameters. This puts me at odds with the private function _getHoldDetails which assumes that the ID used in the URL for the record will be the same as used in the hold parameters. I really don’t want to hack core code if I can help it.
The other approach I see is to leave the title level hold URL as is and then add the item_id in an extension to Hold.php (I’m assuming this is possible – my brain is so worn out from working through all the code so far that I haven’t gone through Hold.php in detail).
Is there a better approach I haven’t thought of? If not, would it be possible in Hold.php to process the holdings to find a valid item_id (some individual holdings may not be holdable but a title-level hold is still valid because other holdings on the record are) and then modify what gets sent to the driver so that it contains that item_id?
Library Network Programmer/Analyst
Yavapai Library Network
1015 Fair Street, #326
Prescott, AZ 86305
Phone: (928) 442-5741