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 - MODTLR-146: [ECS Eureka LOC] Ensure loan policies between central and data tenants are applied appropriatelyClosed
The main point is to dry-run on the DT side and copy the policy to an appropriate tenant - Applying Loan Policy from Data Tenant for ECS Requesting
Here, it would also be possible to adopt the
forced_loan_policy table
approach 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 MCBFF-95: ECS with mod-tlr enabled: Secure tenant cross tenant requesting - Copy and apply Data tenant loan policy to Secure tenantClosed
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) - MODTLR-181: [ECS Eureka - LOC] Ensure Loan policies between tenants are applied appropriately for Secure requestsOpen
This would involve using the
forced_loan_policy table
approach
Issue #4: Loan Renewal in CT (regular ECS request) or ST (secure ECS request)
A "straightforward" solution - CIRC-2344: Renewal: bypass loan policy lookup based on conditionClosed
A more robust solution can be implemented via
mod-circulation-bff
ORforced_loan_policy table
approach
Issue #5: Loan Renewal in CT (secure ECS request) or DT (both regular ECS request and secure ECS request)
It’ll be covered in MODTLR-199: Synchronize loans after renewalClosed
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