Hello world,
We are reviewing Koha for 3.0 Release & Joshua pointed something
important: the way issuingrules worked in koha 2.2.
In Koha 2.2, the way it works is :
- you define the rules depending on itemtype / patron category / branch
- you have "wildcard" that means "all of them". For example, * / adult
/ * = 5 means "an adult patron can't issue more than 5 items whatever
the branch".
- The circ module check ALL the rules & warn if one is not correct.
So, if you don't fill a cell, it's considered as 0 (= no issue possible)
- you must fill book / * / * by understanding it means : "no patron
can't issue more than X book(s)"
This behaviour troubled a lot users, as we often have questions about
warnings that were not expected.
Joshua think, and i' fully agree with him, that the user understand
the wildcard as 'default if nothing specified'.
So, for example, book / * / * would mean : if a specific rule is not
defined for patron category, then use this default value.
We should not have a "check ALL the rules", but a "check the 1st
available, from most to less specific + check the total rule if
available.".
The "wildcard" on itemtype being renamed to "total", and being applied
if defined, as total document the patron can issue.
so we could have something like that
adult children default
book empty 3,21 5,21
serial 4,14 3,21 5,21
comic 5,21 3,21 empty
total 7 empty 5
which would mean :
- an adult can issue 5 books for 21 days (default rule)
- an adult can issue 4 serials for 14 days (specific rule)
- an adult can issue 7 documents total
- a child can issu 3 books, 3 serials, 3 comics, but 5 document maximum
The "branch level" has the same behaviour : it a rule for a branch is
defined, then it's applicable, otherwise, it's the default rule of the
default branch.
Let us know your opinion on this.
It would require some tweaking on issuingrules definition & a small
rewrite the CanBookBeIssued sub, to check only 2 rules (1st found +
total), not 8 (every cell that fit the issue).