Forced loan policy for ECS circulation
Here are tasks related to applying loan policies in ECS Circulation and renewing open loans.
Issue #1: Copy and Force Loan from DT to CT for regular ECS requests
The solution is already implemented and works - https://folio-org.atlassian.net/browse/MODTLR-146
The main point is to dry-run on the DT side and copy the policy to an appropriate tenant - https://folio-org.atlassian.net/wiki/spaces/DD/pages/809926710
Here, it would also be possible to adopt the
forced_loan_policy tableapproach easily
Issue #2: Copy and Force Loan from DT to ST for secure ECS requests
Almost the same as #1, it'll be solved in https://folio-org.atlassian.net/browse/MCBFF-95
Issue #3: Copy and Force Loan from DT to CT for secure ECS requests
The solution from #1 and #2 doesn’t work in the same way here
Postponed to a later date (probably, Trillium or later) - https://folio-org.atlassian.net/browse/MODTLR-181
This would involve using the
forced_loan_policy tableapproach
Issue #4: Loan Renewal in CT (regular ECS request) or ST (secure ECS request)
A "straightforward" solution - https://folio-org.atlassian.net/browse/CIRC-2344
A more robust solution can be implemented via
mod-circulation-bffORforced_loan_policy tableapproach
Issue #5: Loan Renewal in CT (secure ECS request) or DT (both regular ECS request and secure ECS request)
It’ll be covered in https://folio-org.atlassian.net/browse/MODTLR-199
It does NOT depend on how the renewal is performed in #4
The forced_loan_policy table approach
1) in mod-tlr when processing checkOut we clone the loan policy from the data tenant to the Central (and optionally) Secure tenants
2) if we have a case with 3 requests, then in the Central tenant leave a record in the new DB table "requestID - loanPolicyId"
3) in the Central tenant during checkout and determining the loan policy, look in the table by requestId, and if there is a record there, then apply the specified loan policy during checkout Work decomposition (total efforts - 5-6 SPs):
mod-circulation-storage (a new table + CRUD API) - 2 SP
mod-tlr (populate the table) - 1-2 SP
mod-circulation (read the table and force loan policy) - 2 SP