Adds a cron script to be run periodically that populates
authorJoshua Ferraro <jmf@liblime.com>
Tue, 20 May 2008 15:58:24 +0000 (10:58 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Tue, 20 May 2008 15:58:24 +0000 (10:58 -0500)
commita9a4965277359cb7672eedf522b1cda617f38f6c
tree1891d8b866bf8ccb4308bedcc3d7bb282369c4da
parent725e822aed8b6947e174fac648432f9d6a5d8207
Adds a cron script to be run periodically that populates
the tmp_holdsqueue table. This is an alternative holds
targeting workflow that is more suitable for multi-location
libraries than the default holds picklist report.

Note to documentation writers: this summary should be
added to any holds documentation as an overview of
the avaialable methods for holds fulfillment.

This alternative holds workflow assumes an
expectation that the system should target a specific
item for a given hold request, attempt to fulfill the
hold with that item, and if unable to fulfill, select
an available item at another location to fulfill the
hold.

This is quite different than the default Koha behavior
which uses a 'broadcast' method of hold fulfillment.

How it works:

This script weights available locations for holds based
on options specified in two system preferences:

StaticHoldsQueueWeight
Allows the library to specify a list of library
location codes -- if used alone, it will rank the
list statically, selecting the top-ranking available
location to be added to the picklist.

RandomizeHoldsQueueWeight
If RandomizeHoldsQueueWeight and StaticHoldsQueueWeight
are set, the list of library codes in the
StaticHoldsQueueWeight syspref are randomized rather
than statically ranked. If RandomizeHoldsQueueWeight
alone is set, the list of all available library codes
is used to randomize the weight.

If neither syspref is set, the list is statically
ranked according to how they are pulled out of the system
database.

NOTE: This has not yet been tested with item-level holds
misc/cronjobs/holds/build_holds_queue.pl [new file with mode: 0755]