Friday, May 19, 2006 9:14 AM
Desktop Library Module Sign Out While Genie is a wondrous thing and I encourage everyone to buy at least 2 copies each, the desktop library module is not yet dead and can be a good fit for the right people. Now that it is no longer being upgraded officially by Inmagic, one can really go nuts on customizing it without worrying about whether the next maintenance update will break everything one has built. So in that spirit, and driven by the needs of our lovably demanding clients (you know who you are :), there's been an opportunity to do some neat stuff:
- Add a Holds database and work that into the loans process. (Like, hey, don't loan this because it has a hold on it.)
- One-button renewal feature.
- Loan period taken from catalog item.
- Due dates and loan periods editable on sign-out.
- Various checks and warnings at sign-out based on borrower type, catalog item type - all overridable.
Sign-out becomes a fairly complicated beast with all these edit and override possibilities, so I completely rewrote it to revolve around the concept of an Item List. The list keeps track of all the bits of information about a barcode you want to sign out:
- is there a hold on the item?
- how many holds?
- is the top hold to the selected borrower?
- is the item meant to be circulated (e.g. is it a non-circ reference title maybe)?
- what is the loan period for the item?
- does the item's audience match the selected borrower's allowed audience types?
- what is this item's title?
Here's an example screenshot showing the item info for three barcodes: The first two barcodes do not want to be loaned. The first because there are holds on it, the second because it's non-circ. These warnings can be overriden. I shied away from popup ok/cancel warnings in favour of these item info lines, visual representations of the Item List. These item lines can be manually edited. I can force the non-circ item to loan for 7 days, for example: Due dates are automatically calculated for manually entered loan periods, and vice versa, as soon as I tab out of the item info box. And as soon as it has a due date, it's loanable: The only down side to all this is that Inmagic allows a maximum of 30,000 characters for a script, and this one hit 37,440 (with spaces). Thank goodness for JS Squish.