Seamless checkout of non-standard copy status AKA single-use copy statuses
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
Wishlist:
Relevant IRC discussion: http://
Desired work flow:
1. Create a custom copy status named (for example) "Grand Opening".
2. Configure the copy status to allow seamless checkouts (via new mechanism).
3. Checking out an item with status "Grand Opening" occurs with no alerts, overrides, or special permissions. It behaves just like an "available" copy.
4. Once checked out, the copy behaves as any other copy and traverses the usual "checked out" -> "reshelving" -> "available" statuses.
For our part, the "Grand Opening" status is used to prevent holds on each copy at new branches until each has been checked out once -- IOW "local patron dibs". I've heard from others that supporting this with their local "Display" and other statuses would be useful.
--
My proposal is to add a new column to config.copy_status called "checkout_ok" (or whatever -- labels are hard). When set to TRUE, the circ matrix allows the checkout just like it would an available (or reshelving or holds shelf) copy. It does not "fail" on the copy status.
Code to implement this en route. No staff client changes are needed apart from the copy status admin UI.
An open question is whether this bool should be changeable on stock statuses. I propose yes, since it could be useful. For simple overrides, like MISSING item checkout, this would also work, assuming you want global seamless checkout. It would not work for LOST, though, since that has extra layers of logic beyond the circ matrix warning.
--
An alternate approach discussed in IRC was to use a client-side auto-magic overrride mechanism based on http://
I opted instead for the other route, because overrides represent a noteworthy event. The whole point is that these items are not noteworthy to anyone. They circulate like anything else. Also, overrides require an extra network round-trip, adding overhead, which makes little sense for events that will always be overridden. And, finally, the masslnc code linked above will be browser client only, which is certainly years away for us. So, instead of coding a local hack, I'm posting my alternate solution. Comments appreciated as always.
summary: |
- Seemless checkout of non-standard copy status AKA single-use copy + Seamless checkout of non-standard copy status AKA single-use copy statuses |
Changed in evergreen: | |
assignee: | Bill Erickson (berick) → nobody |
Changed in evergreen: | |
milestone: | none → 2.11-beta |
status: | Fix Committed → Fix Released |
Proof of concept code pushed to:
http:// git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ berick/ lp1464709- copy-status- checkout- ok