[OPEN-ILS-GENERAL] Soft Stalling - PINES hold white-paper

Jason Etheridge jason at esilibrary.com
Wed Sep 9 12:11:42 EDT 2015


> Thank you for sharing the diagram and thank you for the correction.  I
was trying to understand the Item Status part.  I appreciate the
clarification.

It's also worth noting the title of the diagram, Opportunistic and Targeted
Holds with Stalling.  The picture is different if stalling is not
configured at all, via the "Soft stalling interval" library setting.

There's also a "Hard stalling interval" setting that looks like it was
never fully implemented (and incidentally, there's a discrepancy between
the setting's internal name and how it's referenced elsewhere in the
code).  Looks like Josh
​already ​
noticed that one: https://bugs.launchpad.net/evergreen/+bug/1488604

One other bit of holds configuration that isn't well documented are the
library settings "Hard boundary" and "Soft boundary".
​​
 My knowledge here
​may have
become a bit dated with custom best-hold selection sort order,
​and hopefully if I'm woefully incorrect about this someone will correct
me, ​
but let's assume that holds are going to center their capture attempts
around the pickup library, such that they prefer items that don't actually
have to transit.  Let's also assume a stock test org hierarchy:
​​


​
(depth 0)    (depth 1)    (depth
​ ​
2)   (depth 3)
CONS      -> SYS1      -> BR1      -> SL1
                       -> BR2
          -> SYS2      -> BR3      -> BM1
                       -> BR4

All holds have a "selection depth" that you don't normally notice
​, which
 defaults to 0​
,
​ and a "selection library", which normally equals the pickup library.​
 Together, these determine the entire set of items you're allowed to
fulfill a hold with based on their location.  If the selection depth for a
hold request is 2, and its pickup/selection library is BR1, then the hold
will only ever look for eligible items at BR1 and its child library, SL1.
If the selection depth is 0, then the focus can travel all the way up to
CONS, and down to any library in the org tree.

What "Hard boundary" does is set the selection depth to a fixed value.  If
​SYS1 and SYS2 will never inter-lend items, then you could set Hard
Boundary at the top of the CONS to have a value of 1, and holds will never
capture items outside of their system.  But you have to be careful here.
Let's say that instead you set the Hard Boundary to have a value of 1, but
the setting itself is configured at SYS1 and not CONS.  Then holds
originating at SYS1 (BR1, etc.) will have a selection depth of 1, but holds
originating at SYS2 will have a selection depth of 0.  That means that SYS2
holds can grab SYS1 items, but SYS1 holds only ever stay within SYS1.


​"Soft boundary" is really like Hard boundary but it can be even more
restrictive.  For example, let's say you have Soft boundary set to 1.  The
selection depth for affected holds will never go below 1, so such holds
will never go outside the system level.  But, if at the time of hold
placement, an eligible item is found at, say, the pickup library--BR1, even
if it's currently checked out, then the selection depth will instead be set
to the matching depth of that library, in this case 2, and it will never
change.  So now that hold will essentially be stuck looking for items at
BR1 and SL1, and it will never widen its search.  If the original item that
triggered the soft boundary were to become lost or missing, and it was the
only such item at the Branch level that could fulfill the hold, then the
hold would become unfulfillable.

The staff client can be configured to actually let you edit selection depth
and selection library on existing holds, but this is disabled by default
via CSS.

I hope this helps.  If anyone wants to incorporate any of this into the
documentation, feel free to consider it CC-BY-SA.
​

-- 
Jason Etheridge
| Community and Migration Manager
| Equinox Software, Inc. / The Open Source Experts
| phone: 1-877-OPEN-ILS (673-6457)
| email: jason at esilibrary.com
| web: http://www.esilibrary.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libmail.georgialibraries.org/pipermail/open-ils-general/attachments/20150909/3582d634/attachment.html>


More information about the Open-ils-general mailing list