OLE Loan UI Technical Specification
Rice2.x Framework
Loan code is going to be developed using the new Rice2.x codebase which offers rich UI via the KRAD framework. The various features pertaining to Loan will be tested and demonstrated independently of OLE_Rice1.x
1. Loan Transaction
a. KRAD Design: A simple KRAD document will be used to create a new Loan.Â
b. Participants:
c. Framework: Rice2.xÂ
2. Loan Search (Will be similar to other search screens in OLE) - Core/SMEs will discuss and let us know if we need an individual loan search
a. KRAD Design:Â A simple KRAD document will be used to search the existing Loan.
b. Participants:
c. Framework: Rice2.x
d. Search CriteriaÂ
- Patron Barcode
- Item Barcode
e. Search Results
- Patron First Name, Last Name
- Patron BorrowerType
- Item Barccode
- Item Title
- Item Location
- Item DueDate
3. Roles (For this pass we are not going to be implementing the overridden mode)
- Full Circulation attendant - will have the all loan privileges including the approval permissions - being implemented for this pass
-
- Permissions
- Create a loan
- Approve a loan for borrower limit
- Approve loan for unavailable item
- Approve loan for non-circulating item
- Permissions
     2.  Limited circulation attendant - operator will have only the "create loan" permission - not implemented this pass
     Note: Permissions will be created using DB scripts.Â
     Creating roles and permission involves following tables:
-
- KRIM_ROLE_T Â Â Â Â Â Â Â Â Â Â Â Â - Insert a record to create role
- KRIM_PERM_T Â Â Â Â Â Â Â Â Â Â Â Â - Insert a record to create permission for role created
- KRIM_ROLE_PERM_T Â Â Â Â Â Â - Insert a record to map role with permission
- KRIM_PERM_ATTR_DATA_T Â - Insert a record for permission details
- KRIM_ROLE_MBR_T Â Â Â Â Â Â Â - Insert a record to map a user with a role
4. XML Ingest for KRMS Builder:
  Sample xml for creating Rules: Loan_Patron.xml
  1) The above xml contains list of Agendas and Agenda can be selected based on Borrower Type (e.g:Faculty,etc).
  2) Each Borrower Type will have Item Type as attributes (e.g:BOOK,AUDIOCD) which contains period - term (e.g:10-DAY,5-HOUR etc).
  3) An Agenda contains list of Rules,each rule contains either a simple proposition or compound proposition.
     a) A Simple proposition can be validated in two different ways namely
                       LHS & RHS validations (LHS-Term,RHS-Constant)
                    Function validations(Term as argument).
     b) A Compound proposition is a collection of Simple proposition with an operand.
  The Following rules are implemented:
  a) Rule1 (barcodeStatusCheck) : Checks whether the patron barcode status is active.
  b) Rule2 (membershipExpirationDateCheck) : Checks whether patron's expiration date exceeds current date.
  c) Rule3 (borrowerLimitCheck) : Checks whether a number of items loaned exceeds 5.
  d) Rule4 (itemAvailableCheck) : Checks item status availability.
  c) Rule5 (itemUnavailableCheck) : Checks item status should not be MISSING,LOST etc..
  d) Rule6 (itemDueDateCheck) : Checks whether due date is calculated or not, if not we have to manually enter due date.
         Â
5. Data Model
OLE_DLVR_ITEM_AVAIL_STAT_T
The OLE_DLVR_ITEM_AVAIL_STAT_T table in the DM is a maint. table, values of which will be used to update the item information in docstore. This table doesn't have a direct co-relation to the Loan UI
6. Performance Metrics
7. Sign-off
Review complete? No (Sr.Technical Architect) - Absent
Review with Core (Handoff #2)? Yes (OLE Core Team/S&A Team) - June 26th, 2012
Operated as a Community Resource by the Open Library Foundation