When there are library closings or adjustments due to unforeseen circumstances it would be nice to have a way to 'override' current circ rules, without needing to adjust individual circ rules and to preserve regular behaviour while allowing for large scale changes Idea would be like: 1 - Add new checkbox for 'Activate Emergency rules" 2 - Checking this box would make visible a new row in the circ table (colored red? bold?) 3 - The rules in the row would have _emergency appended to name (or be upper case, something to mark them as different 4 - These rules (if set and active) would override all other branch rules 5 - Code would be adjusted to pick these rules first if the branch is set to 'emergency' mode
It would save a lot of time and headache if there were an override layer above the existing circ/fine rules setup. We heavily rely on an "All/All" rule at each branch to reduce the total number of rules needed to accommodate a fluctuating number of item types and patron categories. That works well, but it means if we need a rule that affects all branches, it requires a new rule line for each individual branch. As an example, we don't want self-registered patrons to be able to check out until they upgrade their account to a regular patron category. At the moment, every branch needs a SELFREG/All rule to prevent checkouts to the SELFREG category. If those rules aren't set, they'll hit the All/All rule for that branch before they can reach a SELFREG/All rule on the "Standard rules" setup. A global override rule would reduce the rules needed from one per branch to just one rule. Another possible implementation might be to make a "Global rule overrides for all libraries" page similar to the "Standard rules for all libraries" page, where any rules set on the overrides page would take top priority.
At the moment the rule system is already complex, I'd warn against adding complexity needlessly. I believe what Jason described is a different use case to the temporary overwrite Nick suggested that would overwrite ALL existing rules with a new rule set temporarily.
I would be interested in a way to override some or all rules without touching the original rules. Sounds like a great idea.
In a consortium this would very handy.