Another caveat: restricting the hold queue position set to holds that match the pickup library can produce misleading results. For example, consider a library with two branches, A and B, whose patrons mostly use branch A for hold pickup. Suppose a title has 100 holds, with the first 99 placed to be picked up at branch A and the last one to be picked up at branch B.
With this patch, the patron who placed the hold at branch B would see that their request is #1, when it may way be the case that they'll have to wait for the 99 patrons picking up at branch A to get their requests filled first.
To work around this, the branch user/gmcharlt/lp1795906_hold_queue_position signs off on Mike's patch but also adds a new global flag, circ.holds.queue_position_relative_to_pickup_lib, that controls whether or not the pickup library is used to restrict the hold queue set. That global flag defaults to TRUE (restricting to the pickup library set, and thereby matching the staff interface), but can be turned off if that restrict would be two misleading for a given Evergreen site's situation. It's noted that this entire branch is necessarily a trade-off; the field remains open for a general solution that better expresses how long a patron can wait to receive a requested item while still being performant.
Another caveat: restricting the hold queue position set to holds that match the pickup library can produce misleading results. For example, consider a library with two branches, A and B, whose patrons mostly use branch A for hold pickup. Suppose a title has 100 holds, with the first 99 placed to be picked up at branch A and the last one to be picked up at branch B.
With this patch, the patron who placed the hold at branch B would see that their request is #1, when it may way be the case that they'll have to wait for the 99 patrons picking up at branch A to get their requests filled first.
To work around this, the branch user/gmcharlt/ lp1795906_ hold_queue_ position signs off on Mike's patch but also adds a new global flag, circ.holds. queue_position_ relative_ to_pickup_ lib, that controls whether or not the pickup library is used to restrict the hold queue set. That global flag defaults to TRUE (restricting to the pickup library set, and thereby matching the staff interface), but can be turned off if that restrict would be two misleading for a given Evergreen site's situation. It's noted that this entire branch is necessarily a trade-off; the field remains open for a general solution that better expresses how long a patron can wait to receive a requested item while still being performant.
http:// git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ gmcharlt/ lp1795906_ hold_queue_ position