...
Info | ||
---|---|---|
| ||
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.
...
Namespace: Kuali
Context:
1. Patron Validation Context -
The Agenda 'Patron Allowed to Borrow' is contained within this context 'Patron Validation Context'.
2. 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:
...
1.Patron Allowed to Borrow
...
'Patron Allowed to Borrow' is an Agenda,which is a collection of rules in a defined plan.
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)
1. validatePatronBarcodeStatus(String patronBarcode) -
This method exposes patron barcode status.
2. checkMembershipExpirationDate(String patronBarcode) -
This method exposes Patron expiration date.
3. isPartonBlocked(String patronBarcode) -
This method exposes patron block status
4. getBorrowerType(String patronBarcode) -
This method exposes Borrower Type (eg. Student or Faculty).
5. 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.
6. 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.
7. 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.
8. checkBorrowerLimitation(String patronBarcode) -
For borrower limits, this method will indicate whether the patron is over their borrower limit and what limits the patron has exceeded.
Override Mode: (isOverridden == true)
1.checkMembershipExpirationDate(String patronBarcode) -
By default it will not be possible to override an expired patron expiration date.
2. Need list of validation for override mode.
Item Validation Context:
Agenda:
- Item Available for Loan
- Determine Loan Period
1.Item Available for Loan
'Item Available for Loan' is an Agenda,which is a collection of rules in a defined plan.
Category: ItemAndLoanPeriod -
Category 'ItemAndLoanPeriod' is used to help organize related term 'Item'
Term: Item -
The Term 'Item' is used to input to the rule system.
Term Function: IsItemAvailable(String itemId, boolean isOverridden)
Normal Mode: (isOverridden == false)
1. getItemEffectiveInstitution(String itemId)
2. getItemEffectiveCampus(String itemId)
3. getItemEffectiveLibrary(String itemId)
4. getItemEffectiveShelvingLocation(String itemId)
5. getItemEffectiveCollection(String itemId)
6. getItemType(String itemId) -
This method exposes Item Type from docstore using itemId.
7. checkItemAvailabilityStatus(String ItemId) -
This method checks whether the item has an active recall request,
the item is on loan to another patron,
the item is on hold for another patron,
the item is in transit to fill a request for another patron,
the item would fill a request for another patron,
the item is lost,the item is withdrawn and the item is missing.
Override Mode: (isOverridden == true)
1. checkItemAvailabilityStatus(String ItemId) - This method checks whether the item is withdrawn.
2. Need list of validation for override mode.
2. Determine Loan Period
'Determine Loan Period' is an Agenda,which is a collection of rules in a defined plan.
Category: ItemAndLoanPeriod -
Category 'ItemAndLoanPeriod' is used to help organize related term 'Item'
Term: Patron and Item -
The Term 'Patron and Item' is used to input to the rule system.
Term Function: checkLoanPeriod(String itemId,String patronBarcode, boolean isOverridden)
Normal Mode: (isOverridden == false)
1. calculateDueDate(String itemId,String patronBarcode) -
This method checks whether the patron can borrow the item using the Agenda 'Item Available for Loan', and if so, either how long or specifically what the due date it.
2. determineFineRate(String itemId,String patronBarcode) -
For overdue fines, this method will return a fine rate, including the fine period.
Override Mode: (isOverridden == true)
Need list of validation for override mode.
2. Circular Policy KRMS Model
...
Circular Policy KRMS Model
2. Data Model : The DM for Circulation Policy is going to reside in the Rice2.x Schema
https://wiki.kuali.org/display/KULRICE/KRMS+Data+Model
...