Presenters: Ben Shum (Bibliomation), Jason Stephenson (Merrimack Valley LS)


  • Circ and Hold policies were initially handled using scripts (javascript)
  • now, as of 1.6, there is a place in the db to define rules (in-db)
    • initially it was a trial by fire -- nobody had written anything about how to do it
  • now as of 2.0, everyone is "supposed" to be using in-db rules
  • 2.1 and later: new options added to in-db rules to provide further options

How in-db matching works

  • circ/hold policies configured via staff client
    • (staff client only views 15 rules at a time...bibliomation has 4000)
  • when creating new circ/hold events, the system checks the db entries to determine the best matchpoint for the situation at hand
    • "these are all the criteria you are looking for..."
  • circ modifier ("jbook") -- where a lot of people put a lot of weight -- like "item type" in other ILSs
  • circulate? ("yes")
  • holdable? ("yes")
  • floating? ("no")
  • to bear in mind: rules are restrictive; the first thing that says "no" will overrule any number of "yes"
    • eg, there are copy location fields for circulate and holdable
  • circ duration rules
  • recurring fine rules
  • max fine rules
    • (these are under administration > server administration )
  • circ matrix ("circ policy configuration")
  • hold matrix ("hold policy configuration")


  • some library settings do not allow renewal of items that have holds (introduced in 2.1)
  • group penalty thresholds, such as blocking patrons on fines
  • some things like this can't really be set through the matrices and need to be set in library settings

General suggestions

  • avoid unnecessary repetition
  • get everyone in your consortium to agree. nodnod
  • (haha)
  • no, seriously,

bits from Q&A

  • evergreen ships with two default rules
    • everything circulates
    • everything can be placed on hold
  • but in retrospect, it may be easier to take those out, make it so nothing can circulate or placed on hold, and then work backwards with permissive rules to allow things

Finding a Match

  • lookup patron & item details (patron type? circ mod? etc)
  • find the best match
  • rules are hierarchical; most specific match wins

Simple Circ Example

  • 3 rules
  • items with "book" and "music" circ mod circulate; "dvd" items do not circulate
  • duration: book 21 days/2 renew, music: 14 days/2 renew, dvd:
  • fine:
  • LESSON DISCOVERED THE HARD WAY: set things like circ duration & fines even for items that are not supposed to circulate, because people make exceptions and circulate things anyway

More Complicated Circ Example

(some systems circing DVDs to adult patrons only; some systems not circing music as a rule, but with some branches that do)

Simple Hold Example

(similar, with holds being allowed on dvds/music at branches that circ them)

Last modified 8 years ago Last modified on May 3, 2012, 1:19:21 PM