From: Demian K. <dem...@vi...> - 2010-01-28 20:50:12
|
Thanks again to everyone who provided feedback on this feature. I believe I've found a solution that maintains the current Voyager functionality used by Villanova while making the infrastructure and configuration a bit more flexible for other institutions. All the changes are committed as of r2186. First of all, getFunds now returns an id => value associative array instead of a flat array of values. This seems more flexible than assuming that the text you display to the user is the same text that you need to use for lookups. For now, the Voyager driver returns the same value in both key and value, so it makes no difference there... but we have this flexibility if we need it for other implementations. This change is documented in the driver spec (http://vufind.org/wiki/building_an_ils_driver). I have also updated the documentation to make clear the fact that the getFunds method of the driver returns a list of values that are used to limit the getNewItems method. However, "funds" may be a misnomer -- that's what Villanova uses, but other ILS's or institutions may have a different way of limiting the query. You can hijack this method creatively to do whatever needs to be done, and the documentation now makes this official. Perhaps we can consider renaming the method in the future after we've seen how everyone ends up using it. Finally, I have added a number of settings to Voyager.ini that give greater control over the fund list. You can turn it off entirely if you don't want it (so the "departments" box on the New Items form simply disappears), you can set whitelists or blacklists to filter the list as needed, or you can (if you're feeling particularly adventurous), set the ID of a parent fund and limit the list to only children of that particular fund. I put these in the driver config rather than the general config since I'm sure things will work differently for every system. Please let me know if you have questions or problems; I don't anticipate that this will really affect anyone, since this is a little-used feature... but I hope that these small adjustments will make it more broadly useful. - Demian From: Demian Katz Sent: Monday, January 25, 2010 12:56 PM To: vuf...@li... Subject: Search/NewItem action Hello, I've been looking at the Search/NewItem action and the associated ILS driver methods (getFunds / getNewItems, which are currently implemented only for Voyager). It appears to me that this code may not be as flexible as it should be. The biggest issue is the way fund codes are handled -- they are passed around by name rather than by ID. This has the generally useful side effect of merging together different codes that share the same name, but I wonder if this might cause problems for some users or make it harder to implement the driver methods for some ILS's. Is anybody actually using this feature? If so, did you have to make changes in order to get it to do what you wanted? I'm planning on doing some work in this area to meet new needs at Villanova, and in the process, I would like to try to make the code more useful for everybody else. Knowing other people's experiences might help lead to a better design. thanks, Demian |