[OPEN-ILS-GENERAL] Hold Targeter - Ignore Closing logic change?
Jason Stephenson
jason at sigio.com
Thu Apr 30 11:04:44 EDT 2020
Josh,
I don't know what the intention was when the new hold targeter was
written, but I think it is potentially a bug.
Would you mind opening a bug on Launchpad?
Jason
On 4/29/20 11:13 PM, Josh Stompro wrote:
> Hello, we have been doing curbside pickup, along with using the
> emergency closing handler to mark all of our locations closed.
>
> I was just told that some holds have not been targeting the local
> copies... which led me to notice that the expected item was getting
> skipped with a log entry of "skipping copy X at closed org". That led
> me to see that we had the following Library Settings set.
>
> Target copies for a hold even if copy's circ lib is closed = True
> Target copies for a hold even if copy's circ lib is closed IF the circ
> lib is the hold's pickup lib = False
>
> Now, with the old targeter, this seemed to work fine because the second
> setting was checked, and if it was false the first setting was checked
> as a fallback. (Could someone check my interpretation of the old logic
> though.)
> https://github.com/evergreen-library-system/Evergreen/blob/7f48513889098e47ee4a9d1b7cdbf5d5fe2ca8bb/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm#L1362
>
> The new targeter doesn't seem to have the same fallthrough logic. If
> the circ_lib matches the pickup lib then only
> the circ.holds.target_when_closed_if_at_pickup_lib setting is checked.
> https://github.com/evergreen-library-system/Evergreen/blob/47f5ddaa8b029d41c710255380260614ef7ea6ae/Open-ILS/src/perlmods/lib/OpenILS/Utils/HoldTargeter.pm#L705
>
> I would think this would have caused more havok than it did, but I found
> that because of bug 1868837, in many cases the local copy was still
> being selected, so there were still quite a few items being pulled for
> customers at the same location.
> https://bugs.launchpad.net/evergreen/+bug/1868837
>
> I don't know if this behavior change is really a bug or not. It made
> sense to me that the circ.holds.target_when_closed would take effect if
> the circ.holds.target_when_closed_if_at_pickup_lib setting was set to
> false, but the current way is perhaps clearer since you don't have to
> know about the fallthrough behavior.
>
> After I changed the circ.holds.target_when_closed_if_at_pickup_lib
> setting to true and reset all the holds and retargeted, everything again
> works as expected.
>
> Josh
>
> --
> Josh Stompro - IT Director
> Lake Agassiz Regional Library
> Desk: 218-233-3757 Ext 139
> Cell: 218-790-2110
More information about the Open-ils-general
mailing list