Summary: | Inter-site holds improvement | ||
---|---|---|---|
Product: | Koha | Reporter: | Jonathan Druart <jonathan.druart> |
Component: | Circulation | Assignee: | Jonathan Druart <jonathan.druart> |
Status: | CLOSED FIXED | QA Contact: | Testopia <testopia> |
Severity: | new feature | ||
Priority: | P5 - low | CC: | claire_gravely, fiona.borthwick, gmcharlt, janet.mcgowan, katrin.fischer, kyle.m.hall, kyle, m.de.rooy, nick, sandboxes, ztajoli |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | Sponsored | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: |
Without this feature users could reserve items and choose any library as a pick up location, but there was no mechanism to prevent users from reserving items that were available on the shelf at any given location from reserving the item at the same location, essentially creating a Fetch and Collect scenario.
This had an impact on staff workloads as they had to process reservations and check shelves for items that students could have collected from the open library shelves.
This enhancement decreases the impact on staff workload by
making it possible to prevent users from requesting items for pick up at a library where the item is currently available.
|
Version(s) released in: | |
Bug Depends on: | |||
Bug Blocks: | 25024 | ||
Attachments: |
Bug 17453: Add pref OPACHoldsIfAvailableAtPickup
Bug 17453: Inter-site holds improvement Bug 17453: Add exceptions Bug 17453: Allow pickup at a library where all items are checked out Bug 17453: Add pref OPACHoldsIfAvailableAtPickup Bug 17453: Inter-site holds improvement Bug 17453: Add exceptions Bug 17453: Allow pickup at a library where all items are checked out Bug 17453: Add exceptions Bug 17453: Allow pickup at a library where all items are checked out Bug 17453: Add a visible notification to patron to explain why the hold locations are disabled Bug 17453: Take into account items that are lost or damaged Bug 17453: Add pref OPACHoldsIfAvailableAtPickup Bug 17453: Inter-site holds improvement Bug 17453: Add exceptions Bug 17453: Allow pickup at a library where all items are checked out Bug 17453: Add a visible notification to patron to explain why the hold locations are disabled Bug 17453: Take into account items that are lost or damaged Bug 17453 (QA Followup) |
Description
Jonathan Druart
2016-10-15 09:16:22 UTC
Created attachment 56623 [details] [review] Bug 17453: Add pref OPACHoldsIfAvailableAtPickup Created attachment 56624 [details] [review] Bug 17453: Inter-site holds improvement At the moment users can reserve items and choose any library as a pick up location, but there is no mechanism to prevent users from reserving items that are available on the shelf at any given location from reserving the item at the same location, essentially creating a Fetch and Collect scenario. This has an impact on staff workloads as they are having to process reservations and check shelves for items that students can already come and collect from the open library shelves. The aim of this enhancement is to decrease the impact on staff workload there should be a restriction in place that prevents users from requesting items for collection at a library where the item is currently available. Implementation: We first tried to add a new circulation rule adding a 4th “NotIfAvailableAtPickupLibrary” option to "On shelf holds allowed". That would make the development more flexible. But in that case we quickly faced non-trivial problematics: Let's say you have 3 items I1, I2 and I3. The first one has onshelfholds set to Yes and 2 others has it set to “NotIfAvailableAtPickupLibrary”. What would be the expected behavior if a hold is placed at biblio level? And if a hold is placed at item level for I1? This second point could be answered by reworking the interface to move the libraries dropdown list elsewhere (1 list per item) or by adding a lot of JS code to handle the different situation. But it would be much more complicated to implement. So finally I moved back to the simple approach and added a new pref to handle the behavior globally. Test plan: 0/ Switch off OPACHoldsIfAvailableAtPickup 1/ Let's say you have 3 libraries L1, L2, L3, create 2 items owned by L1 and L2 2/ Place a biblio level hold. You should only be able to pick it up at L3 2/ Place a item level hold. You should only be able to pick it up at L3 3/ Create a third items owned by L3 4/ Now you should not be able to place a hold on this record anymore Sponsored-by: University of the Arts London We can imagine another syspref to list the patron categories not affected by this behaviour. (In reply to Jonathan Druart from comment #3) > We can imagine another syspref to list the patron categories not affected by > this behaviour. Or a flag in the (patron) categories table Created attachment 56762 [details] [review] Bug 17453: Add exceptions This patch adds the ability to define patron categories not affected by the behavior of OPACHoldsIfAvailableAtPickup. The new pref OPACHoldsIfAvailableAtPickupExceptions get a list of patron categories (separated by pipes |). Created attachment 56994 [details] [review] Bug 17453: Allow pickup at a library where all items are checked out If all items are checked out then it should be possible to select the pickup library for that record. Patch tested with a sandbox, by Janet McGowan <janet.mcgowan@ptfs-europe.com> Created attachment 57002 [details] [review] Bug 17453: Add pref OPACHoldsIfAvailableAtPickup Created attachment 57003 [details] [review] Bug 17453: Inter-site holds improvement At the moment users can reserve items and choose any library as a pick up location, but there is no mechanism to prevent users from reserving items that are available on the shelf at any given location from reserving the item at the same location, essentially creating a Fetch and Collect scenario. This has an impact on staff workloads as they are having to process reservations and check shelves for items that students can already come and collect from the open library shelves. The aim of this enhancement is to decrease the impact on staff workload there should be a restriction in place that prevents users from requesting items for collection at a library where the item is currently available. Implementation: We first tried to add a new circulation rule adding a 4th “NotIfAvailableAtPickupLibrary” option to "On shelf holds allowed". That would make the development more flexible. But in that case we quickly faced non-trivial problematics: Let's say you have 3 items I1, I2 and I3. The first one has onshelfholds set to Yes and 2 others has it set to “NotIfAvailableAtPickupLibrary”. What would be the expected behavior if a hold is placed at biblio level? And if a hold is placed at item level for I1? This second point could be answered by reworking the interface to move the libraries dropdown list elsewhere (1 list per item) or by adding a lot of JS code to handle the different situation. But it would be much more complicated to implement. So finally I moved back to the simple approach and added a new pref to handle the behavior globally. Test plan: 0/ Switch off OPACHoldsIfAvailableAtPickup 1/ Let's say you have 3 libraries L1, L2, L3, create 2 items owned by L1 and L2 2/ Place a biblio level hold. You should only be able to pick it up at L3 2/ Place a item level hold. You should only be able to pick it up at L3 3/ Create a third items owned by L3 4/ Now you should not be able to place a hold on this record anymore Sponsored-by: University of the Arts London Created attachment 57004 [details] [review] Bug 17453: Add exceptions This patch adds the ability to define patron categories not affected by the behavior of OPACHoldsIfAvailableAtPickup. The new pref OPACHoldsIfAvailableAtPickupExceptions get a list of patron categories (separated by pipes |). Created attachment 57005 [details] [review] Bug 17453: Allow pickup at a library where all items are checked out If all items are checked out then it should be possible to select the pickup library for that record. Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com> Patch doesn't apply, I also wonder about last patch: Allow pickup at a library where all items are checked out It only checks if items are checked out, but what about case of items waiting for pickup or damaged/lost? Created attachment 59915 [details] [review] Bug 17453: Add exceptions This patch adds the ability to define patron categories not affected by the behavior of OPACHoldsIfAvailableAtPickup. The new pref OPACHoldsIfAvailableAtPickupExceptions get a list of patron categories (separated by pipes |). Created attachment 59916 [details] [review] Bug 17453: Allow pickup at a library where all items are checked out If all items are checked out then it should be possible to select the pickup library for that record. Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com> (In reply to Nick Clemens from comment #12) > Patch doesn't apply, I also wonder about last patch: > Allow pickup at a library where all items are checked out > > It only checks if items are checked out, but what about case of items > waiting for pickup or damaged/lost? Hum yes you may be right. But that sounds like a very specific situation and that would make the code much complicated. I'd suggest to go first with these patches and improve them later if it is really needed. If you think it has to be handled, I can try and provide a patch on this bug report. Chatted with Claire in IRD, I think this needs some sort of visible notification to patron to explain why the hold locations are disabled (the hover notification is appreciated but not sufficient I think) <kidclamp> Would you agree to some sort of notification that this pref is active to explain why the location is disabled? <LibraryClaire> my original plan said for there to be a message that says item is availabel for collection at that library <LibraryClaire> or similar when they go to place the reservation <kidclamp> "Note: Library policy does not allow hold/pickup of an item avialable locally. Please come to the library to retrieve these items" <LibraryClaire> along those lines <kidclamp> yeah or what you said, okay I will post that for Joubu Created attachment 60093 [details] [review] Bug 17453: Add a visible notification to patron to explain why the hold locations are disabled (In reply to Jonathan Druart from comment #15) > (In reply to Nick Clemens from comment #12) > > Patch doesn't apply, I also wonder about last patch: > > Allow pickup at a library where all items are checked out > > > > It only checks if items are checked out, but what about case of items > > waiting for pickup or damaged/lost? > > Hum yes you may be right. But that sounds like a very specific situation and > that would make the code much complicated. > I'd suggest to go first with these patches and improve them later if it is > really needed. > If you think it has to be handled, I can try and provide a patch on this bug > report. I would agree with Nick that items that are on hold for someone or otherwise marked as unavailable ( such as lost) should be taken into consideration. No items should be "available" at the pick up location in order for it to qualify as a pick up location perhaps? Created attachment 60102 [details] [review] Bug 17453: Take into account items that are lost or damaged If all the items are either lost, damaged or checked out, then pickup should be allowed. Created attachment 60285 [details] [review] Bug 17453: Add pref OPACHoldsIfAvailableAtPickup Signed-off-by: Nick Clemens <nick@bywatersolutions.com> https://bugs.koha-community.org/show_bug.cgi?id=14753 Created attachment 60286 [details] [review] Bug 17453: Inter-site holds improvement At the moment users can reserve items and choose any library as a pick up location, but there is no mechanism to prevent users from reserving items that are available on the shelf at any given location from reserving the item at the same location, essentially creating a Fetch and Collect scenario. This has an impact on staff workloads as they are having to process reservations and check shelves for items that students can already come and collect from the open library shelves. The aim of this enhancement is to decrease the impact on staff workload there should be a restriction in place that prevents users from requesting items for collection at a library where the item is currently available. Implementation: We first tried to add a new circulation rule adding a 4th “NotIfAvailableAtPickupLibrary” option to "On shelf holds allowed". That would make the development more flexible. But in that case we quickly faced non-trivial problematics: Let's say you have 3 items I1, I2 and I3. The first one has onshelfholds set to Yes and 2 others has it set to “NotIfAvailableAtPickupLibrary”. What would be the expected behavior if a hold is placed at biblio level? And if a hold is placed at item level for I1? This second point could be answered by reworking the interface to move the libraries dropdown list elsewhere (1 list per item) or by adding a lot of JS code to handle the different situation. But it would be much more complicated to implement. So finally I moved back to the simple approach and added a new pref to handle the behavior globally. Test plan: 0/ Switch off OPACHoldsIfAvailableAtPickup 1/ Let's say you have 3 libraries L1, L2, L3, create 2 items owned by L1 and L2 2/ Place a biblio level hold. You should only be able to pick it up at L3 2/ Place a item level hold. You should only be able to pick it up at L3 3/ Create a third items owned by L3 4/ Now you should not be able to place a hold on this record anymore Sponsored-by: University of the Arts London Signed-off-by: Nick Clemens <nick@bywatersolutions.com> https://bugs.koha-community.org/show_bug.cgi?id=14753 Created attachment 60287 [details] [review] Bug 17453: Add exceptions This patch adds the ability to define patron categories not affected by the behavior of OPACHoldsIfAvailableAtPickup. The new pref OPACHoldsIfAvailableAtPickupExceptions get a list of patron categories (separated by pipes |). Signed-off-by: Nick Clemens <nick@bywatersolutions.com> https://bugs.koha-community.org/show_bug.cgi?id=14753 Created attachment 60288 [details] [review] Bug 17453: Allow pickup at a library where all items are checked out If all items are checked out then it should be possible to select the pickup library for that record. Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> https://bugs.koha-community.org/show_bug.cgi?id=14753 Created attachment 60289 [details] [review] Bug 17453: Add a visible notification to patron to explain why the hold locations are disabled Signed-off-by: Nick Clemens <nick@bywatersolutions.com> https://bugs.koha-community.org/show_bug.cgi?id=14753 Created attachment 60290 [details] [review] Bug 17453: Take into account items that are lost or damaged If all the items are either lost, damaged or checked out, then pickup should be allowed. Signed-off-by: Nick Clemens <nick@bywatersolutions.com> https://bugs.koha-community.org/show_bug.cgi?id=14753 Created attachment 60291 [details] [review] Bug 17453 (QA Followup) Add line break before note message https://bugs.koha-community.org/show_bug.cgi?id=14753 I am not 100% sure on the wording of the message, but I don't have a better suggestion and feature works as advertised And forgot to mention - in the atomic update the options and explanation columns are switched - needs to be corrected when pushed Pushed to master for 17.05, thanks Jonathan, Nick! This sounds like something we could highlight in the upcoming release - I know it's something libraries here have wanted for quite a while. This won't get ported back to 16.11.x as it is an enhancement. A bit late, but what about the pref description: Do not allow to pickup holds at libraries where the item is available. Isnt this confusing? This is not about picking up, this is about placing holds. So I would prefer to say: Do not allow to place holds at libraries where the item is available. And then there also is On shelf holds allowed in the circ matrix. It feels like this pref should be part of that somehow.. (In reply to Marcel de Rooy from comment #31) > A bit late, but what about the pref description: > Do not allow to pickup holds at libraries where the item is available. > > Isnt this confusing? This is not about picking up, this is about placing > holds. > > So I would prefer to say: > Do not allow to place holds at libraries where the item is available. > > And then there also is On shelf holds allowed in the circ matrix. It feels > like this pref should be part of that somehow.. I think a separate bug would be in order :) But for what it's worth, I'd make sure we still include 'pick-up location' in the description. What's going on here influences the list of pick-up locations and that's something people might search for. (In reply to Katrin Fischer from comment #32) > I think a separate bug would be in order :) Bug 34885 |