[OPEN-ILS-GENERAL] Smart Float: Self balancing floating collections

Doug Kyle dkyle at grpl.org
Wed Apr 2 11:51:11 EDT 2014


I've created a new Evergreen feature I call Smart Float.  After we 
(Grand Rapids Public Library) moved to floating collections, staff had 
to spend time managing and balancing floating collections. Smart Float 
was created to automate those tasks as follows.

Smart Float automates the redistribution of floating collections based 
on available shelf space and duplicate copies. Smart Float also allows 
automatic
"re-homing" of items based on a number of circulations from the original 
library or a specified time frame.

Upon checkin Smart Float will first check if an item needs to be sent 
home, if not the item will float to the checkin branch if space is available
and there are not too many duplicate copies.  If space and or duplicates 
don't allow floating to the checkin branch, it will next float to the
branch with most space and no excess duplicates, then to the branch with 
most space regardless of duplicates.
If no branches have shelf space it will stay where it is (float to the 
checkin library).

Copy locations are the units of Smart Float operation. Copy locations 
are mapped to the following attributes that Smart Float uses to 
determine how to distribute copies.
- active: if true, Smart Float will be used, otherwise traditional 
floating will occur.
- items_allowed: the number of items the shelving location can hold.
- dups_threshold: the number of duplicate titles allowed for that copy 
location.
- homing_threshold: number of circulations from the original owning library.
- homing_lifespan: time interval, such as "3 months".
Items will be sent home within the homing_lifespan from creation date, 
until the homing_threshold is met.
So if shelving location 'kids movies' has a homing_threshold of 1 and a 
homing_lifespan of "3 months", items in that shelving location won't 
start floating
until they have circulated once from the owning library, or its been 3 
months or more since they were created.

The Grand Rapids Public Library is now running an initial version of 
Smart Float in production on Evergreen 2.2.  I've committed a lightly 
tested version for Master in my working repository.

The implementation is almost entirely plpgsql code and no Evergreen 
client side interface currently exists, but I wanted to put it out to 
the community at this point in the hopes of finding collaborators and 
getting it included in future releases.

-- 
Doug Kyle
Information Systems Assistant Manager
Grand Rapids Public Library



More information about the Open-ils-general mailing list