In order to support different kinds of policies using the same loan rules, the loan rules syntax will be extended to allow for a rule to (optionally?) define a loan, request, and patron notice policy.
Therefore I am making some inferences as to the scope of this change. jakub cboerema Sean Thomas oleksiy_lemeshko I'd appreciate feedback on whether this scope seems correct and whether we believe this is sufficient elaboration (pre-grooming) for a backend story.
- Loan rules API should treat the new format as valid
- Loan rules API will evaluate the loan rules to determine a loan policy
- Loan rules API will not evaluate the loan rules to determine a request or patron notice policies
- Rename the API endpoints associated with loan rules to be circulation rules instead, to reflect the broader usage
- Provide circulation 6.0 interface
- Depend upon circulation-rules-storage 1.0 instead of loan-rules-storage 1.0
- Given that the rules format is changing, this is a major behavioural change (we may need a decision on
FOLIO-1746prior to merge).
- Given the broader usage of these rules and the clarification that the domain terminology is circulation-rules a major interface breaking change will also occur to reflect that
- The loan rules are parsed using Antlr to generate a Drools rules definition which is stored and then used during evaluation.
- The loan rules application needs to have an API endpoint for each policy type that is needed. Currently there is only an loan policy API endpoint as there are no other policy types yet.
Do you want this to be an interface major change as well (that is the only way to stop the new UI being deemed compatible with the old backend, and vice versa)? Given the formats are incompatible, do we intend to support the old and new formats together (I don't know if this is possible), or treat this as a breaking change? Julian says: I don't see the need for supporting both, let's make a breaking change. Does this story include evaluating the loan rules to determine a request policy, or does this come later? Does this story include evaluating the loan rules to determine a patron notice policy, or does this come later? Julian says: I suggest to create a separate issue for each of the new policy types.