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)

  1. 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

      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