Rice2.x Framework
Circulation policy is going to be developed using the Rice2.x codebase which offers KRMS(Rule engine). The various features pertaining to Loan will be tested and demonstrated independently of OLE_Rice1.x
1. Service(s):
Namespace: Kuali
Context:
- Patron Validation Context - The Agenda 'Patron Allowed to Borrow' is contained within this context 'Patron Validation Context'.
- Item Validation Context - The Agendas 'Item Available for Loan' and 'Determine Loan Period' are contained within this context 'Item Validation Context'.
Patron Validation Context:
Agenda:
Patron Allowed to Borrow
Category: Patron - Category 'Patron' is used to help organize related term 'Patron'
Term: Patron - The Term 'Patron' is used to input to the rule system.
Term Function: patronBorrowerLimit(String patronBarcode, boolean isOverridden)
Normal Mode: (isOverridden == false)
-
-
- validPatronBarcodeStatus(String patronBarcode) - This method exposes patron barcode status.
- checkMembershipExpirationDate(String patronBarcode) - This method exposes Patron expiration date.
- isPartonBlocked(String patronBarcode) - This method exposes patron block status
- getBorrowerType(String patronBarcode) - This method exposes Borrower Type (eg. Student or Faculty).
- getNumOfItemsOnLoan(String patronBarcode) - This method exposes Number of Items on Loan from each Item Type and/or Item Location, Item Type and/or Item Location are retrieved from patronBarcode.
- getFeeBalance(String patronBarcode) - This method exposes Fee Balance from each Item Type and/or Item Location, Item Type and/or Item Location are retrieved from patronBarcode.
- getNumOfOverdueItems(String patronBarcode) - This method exposes Number of Overdue items from each Item Type and/or Item Location, Item Type and/or Item Location are retrieved from patronBarcode.
-
Override Mode: (isOverridden == true)
Need list of validation for override mode.
Item Validation Context:
Agenda:
- Item Available for Loan
- Determine Loan Period
1) Item Available for Loan
Category: ItemAndLoanPeriod
Term: Item
Term Function: IsItemAvailable(String itemId, boolean isOverridden)
Normal Mode: (isOverridden == false)
-
-
- getItemEffectiveInstitution(String itemId)
- getItemEffectiveCampus(String itemId)
- getItemEffectiveLibrary(String itemId)
- getItemEffectiveShelvingLocation(String itemId)
- getItemEffectiveCollection(String itemId)
- getItemType(String itemId)
- checkItemActiveRecallRequest(String itemId)
- checkItemOnLoan(String itemId)
- checkItemOnHold(String itemId)
- checkItemOnTransit(String itemId)
- checkItemOnRequest(String itemId)
- isItemLost(String itemId)
- isItemWithdrawn(String itemId)
- isItemMissing(String itemId)
- checkItemAvailabilityStatus(String itemId)
-
Override Mode: (isOverridden == true)
Need list of validation for override mode.
2) Determine Loan Period
Category: ItemAndLoanPeriod
Term: Loan Period
Term Function: checkLoanPeriod(String itemId,String patronBarcode, boolean isOverridden)
Normal Mode: (isOverridden == false)
-
-
- CalculateDueDate(String itemId,String patronBarcode)
- DetermineFineRate(String itemId,String patronBarcode)
-
Override Mode: (isOverridden == true)
Need list of validation for override mode.