Bug 15521

Summary: Make circulation rules backend more granular
Product: Koha Reporter: Jesse Weaver <jweaver>
Component: System AdministrationAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: amy, david, dcook, f.demians, george, gmcharlt, jzairo, katrin.fischer, kyle, ldjamison, lisettepalouse+koha, marjorie.barry-vila, martin.renvoize, nick, nicole, rcoert, stefan.berndtsson, veron
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18207
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Bug Depends on: 18886, 15524    
Bug Blocks: 15523    
Attachments: NExpress issuing rules table dump
Marywood issuing rules table dump
Valnet issuing rules table dump

Description Jesse Weaver 2016-01-07 21:49:13 UTC
To allow for more flexible specification of policy, a new table structure will be created. Instead of a single row per branchcode/categorycode/itemtype with columns for each policy value, we’ll have a row for each rule. This row would contain the relevant branchcode/categorycode/itemtype and the name and contents of the rule.

The first iteration of this will rewrite GetIssuingRule to fetch all of these rules behind the scenes and return all of the rules for a given situation.

The second iteration will identify all code calling the subroutine that fetches circulation rules, and instead of calling GetIssuingRule will fetch only the circulation rules it needs. Once this is complete, the subroutine GetIssuingRule will be removed altogether.

To migrate data to this new system, we will create a row for each column of each row of the current schema. That is, each row in issuingrules will become ~20 rows in the new table (for loanlength, fine, etc.). This is less than ideal, but we will develop a new frontend to make this structure more manageable.

(See http://wiki.koha-community.org/wiki/Circulation_Rules_Interface_and_Backend_Revamp_RFC#Backend for more information.)
Comment 1 HB-NEKLS 2016-01-13 19:54:09 UTC
Created attachment 46618 [details]
NExpress issuing rules table dump
Comment 2 HB-NEKLS 2016-01-13 19:55:21 UTC
The NExpress consortia (50 branches) is sponsoring this development. I know Jesse has access to our issuingrules table already, but I'm responding to his call on the developers list and adding our current issuingrules to the bug report. It really is truly too complex how it stands right now (esp for multi-branch systems). I have a 27" monitor and can't see all the columns even when the circ rules page is full screen.
Comment 3 Stefan Berndtsson 2016-10-31 12:02:31 UTC
Would this open up for the possibility of adding rules based on other things than branch/patroncategory/itemtype too? We have location codes (Authorised value LOC) on items, and it would be useful to have the ability to set rules based on that as well for example.
Comment 4 Lee Jamison 2017-09-21 20:49:24 UTC
Created attachment 67304 [details]
Marywood issuing rules table dump
Comment 5 Lisette Scheer 2017-10-27 15:06:27 UTC
Created attachment 68745 [details]
Valnet issuing rules table dump
Comment 6 Katrin Fischer 2020-01-08 22:49:19 UTC
I wonder how this relates to bug 15522?
Comment 7 Katrin Fischer 2020-01-08 22:50:13 UTC
(In reply to Katrin Fischer from comment #6)
> I wonder how this relates to bug 15522?

Looking at the graph helps...
Comment 8 David Nind 2023-08-27 01:17:09 UTC
Discussed at the koha-US Consortia Special Interest Group 24 August 2024 https://www.youtube.com/watch?v=nxkHILH8SyU&t=3188s
Comment 9 Katrin Fischer 2023-08-28 20:37:28 UTC
(In reply to David Nind from comment #8)
> Discussed at the koha-US Consortia Special Interest Group 24 August 2024
> https://www.youtube.com/watch?v=nxkHILH8SyU&t=3188s

2024? :)
Comment 10 David Nind 2023-08-28 20:44:00 UTC
(In reply to Katrin Fischer from comment #9)

> 2024? :)

My mistake - that should be 2023!
Comment 11 Nick Clemens (kidclamp) 2023-10-10 15:21:55 UTC
I think this is a duplicate of bug 18936 - in terms of merely structural changes