Circulation policies

OLE Circulation Processes Tech Document

Permissions

To document a few notes from

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
:

"OLE-PTRN - Can Override" - is only being used in the Services (like NCIP) and not anywhere in the UI/KRMS rules. This permission is used in the renew service to check whether the operator has override options.

 

Below are the list of permissions for the Deliver Module.

Note that you may need modifications to the KRMS Deliver rules to check for these permissions as well as assigning or removing the permissions from the specific role.
OLE-DLVR - Patron has a general block
OLE-DLVR - Patron has max # of items checked out
OLE-DLVR - Patron has max # of checked out items marked 'claimed returned'
OLE-DLVR - Patron has max amount of overdue fines
OLE-DLVR - Patron has max amount of replacement fees
OLE-DLVR - Patron has max amount of all charges
OLE-DLVR - Patron has max # of overdue items checked out
OLE-DLVR - Patron has max # of recalled overdue items checked out
OLE-DLVR - Item on hold for another patron
OLE-DLVR - Renewal limit reached
OLE-DLVR - Patron has at least one item overdue for more than n days
OLE-DLVR - Patron has at least one recalled item overdue for more than n days
OLE-DLVR - Item currently loaned to another patron
OLE-DLVR - Item has pending request queue where patron presenting item is NOT the patron in queue position '1'
OLE-DLVR - Item not at circ desk authorized to service the item's shelving location
OLE-DLVR - Item contains the pending request
OLE-DLVR - Can Remove Note
OLE-DLVR - Patron record expired
OLE-DLVR - Proxy patron record expired

 

OLE implementers have two options for their rule management.  Drools (intended to replace KRMS) or KRMS:

Drools Policies

Drools Technical Documentation

Drool files (.drl) are just text files—“drl” means “Drools Rule Language”.  They can be created and modified with a text editor.

If you are using Drools to create your circulation policies, leave the KRMS tables (krms_agenda_t, etc) empty.

Implementing Library Circulation Policies Using Drools - for technical personnel

Drools User Documentation

Creating Drool files from scratch is not practical.  The Git repository contains files from Chicago and Duke; copy and edit the files that work best for your institution.

 

KRMS Policies

Deliver KRMS Cheat Sheet: https://docs.google.com/a/kuali.org/spreadsheet/ccc?key=0AgTriR_vU83hdEFsY3hDSnlKNmstLWJob1FZX2tlNVE&usp=drive_web#gid=0

Samples of  Circ rules sets: https://drive.google.com/drive/#folders/0BwTriR_vU83haTdlQVBJcHNCZjQ

Establishing Your Circulation Policies in Kuali OLE - DRAFT (KRMS)

KRMS rules and permissions 

An example in Check out policies - errorsAndPermissions, permissionName:

<name>Check Claims Returned</name>
 <oleProposition> <!-if numberOfClaimsReturned>2->
 <type>simple</type>
 <simpleProposition>
 <term>
 <type>java.lang.String</type>
 <value>numberOfClaimsReturned</value>
 </term>
 <operator>greaterThan</operator>
 <values>
 <value>
 <type>java.lang.String</type>
 <name>2</name>
 </value>
 </values>
 </simpleProposition>
 </oleProposition>
 <trueActions> <!-then display error->
 <action>
 <name>errorsAndPermission</name>
 <parameter>
 <name>errorMessage</name>
 <value>Patron has more than 2 claims returned</value>
 </parameter>
 <parameter>
 <name>permissionName</name>
 <value>Patron has max # of checked out items marked 'claimed returned'</value>
 </parameter>
 </action>
 </trueActions>
 </rule>

Explanation:

Overrides are based on the permissions defined in the errorsAndPermission action specified in the policy.

According to this part of the circulation policy, if a patron has more than 2 numberOfClaimsReturned then it will execute the true action and a popup notification will display in the UI.

Suppose a patron, who has claimed two items already, tries to loan an item.  OLE will throw the message defined in the 'errorMessage' (Patron has more than 2 claims returned).

In the UI, when the error message is provided in the popup, OLE will provide an option to "Loan" or "Do Not Loan".

Once the operator clicks the "Loan" button, if the logged in operator has the permission that was specified in the 'permissionName' (Patron has max # of checked out items marked 'claimed returned'), then OLE will allow the loan to occur.  Otherwise the system will throw an error message stating "User is not authorized to override this condition" with a User Login action that will allow someone with the correct permission to log in.

Operated as a Community Resource by the Open Library Foundation