OLE Loan (Circulation Policies using KRMS) Technical Documentation
To document a few notes from
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
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.
More complete list of permissions in the OLE-DLVR namespace:
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
KRMS rules and permissions
An example in Check out policies - errorsAndPermissions, permissionName:
Code Block |
---|
<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 occur.
Here is the true action of errorsAndPermission:
errorMessage - Patron has more than 2 claims returned
permissionName - Patron has max # of checked out items marked 'claimed returned' .
Suppose a patron, who has claimed two items already, tries to loan an item, then it 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 it will loan. Otherwise it will throw an error message stating "User is not authorized to override this condition" with a User Login action to allow someone with the permission to log in.