Circ Modifier Limits are too limiting
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
And by "too limiting" I mean feature-wise. :p
The branch below replaces the circ mod based limit system with a new one that supports everything the circ mod system did and then some.
Instead of limiting being tied to specific matchpoints it is instead akin to a separate rule system, that I dubbed "Limit Sets". Each set defines a number of items out (0 for "infinite", or tag only) and a list of circ modifiers and/or limit groups.
Each limit group can be flagged as check only, and unless it is when a limit set is applied to a circulation the limit group will be associated with it (for later circulations to use for counting).
Each limit set can be tied to 0 or more matchpoints. When tied to a matchpoint the set can be marked as active or inactive for that matchpoint and can be flagged for fallthrough or not. If fallthrough is active the set will be applied whenever the matchpoint matches a circulation, otherwise the matchpoint must match the most specific circulation.
Included are new admin interfaces for limit groups (system admin) and limit sets (local admin) as well as changes to the circ matrix matchpoint admin interface to replace the old circ mod limit editing interface with a limit set editing interface. Included is the ability to choose limit sets when creating the matchpoint, rather than having to return to the new matchpoint afterwards as the circ mod system required.
The upgrade script migrates the circ mod only system to the limit set system automatically, but the line to delete the old tables is commented out. I don't think anything will go wrong on an upgrade, but it may be a "better safe than sorry" thing.
A second commit on the branch contains an attempt at asciidoc documentation for the feature.
Changed in evergreen: | |
milestone: | none → 2.2.0alpha2 |
Changed in evergreen: | |
status: | New → In Progress |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
I have signed off on the above after making it work on my development system. It works great and I know our members are gonna really like it!
working/ user/dyrcona/ circ_limits