Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Info
titleJira Link

https://jira.kuali.org/browse/OLE-2922

Info
titleRice2.x Framework

Patron 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 Patron Loan will be tested and demonstrated independently of OLE_Rice1.x

1.

...

Loan Transaction

...

a. KRAD Design: A simple KRAD maintenance document document will be used to create and update a new or an existing patron recordLoan

Image Added

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 maintenance document document will be used to create and update a new or an existing patron recordsearch the existing Loan.

b. Participants:

c. Framework: Rice2.x

3. Operator/User - Update/Search

a. KRAD Design: Use the existing document framework

b. Participants:

4. Ingest

a. KRAD Design: The ingest screen is going to be similar to the Staff Upload screen in OLE_Rice2.x. Its a simple KRAD form with a view.xml and a controller.

b. Participants:

c. Framework: Rice2.x

d. Workflow

5. Security

a. Roles:

  • Patron Manager – full permissions over patron and borrower type
  • Full Circulation Attendent – view and edit patron document, view borrower type
  • Limited Circulation Attendent – view patron document, no access to borrower type

b. Permissions to do the following on the below entities:

 Patron: 

  • Create
  • Edit
  • View(Inquiry)
  • Approve

Borrower Type:

  • Create
  • Edit
  • View(Inquiry)

b. Participants:

  • ole_krim_role_t.csv (Defining roles such as Patron, Borrower type etc)
  • ole_krim_perm_t.csv (Define permissions)
  • ole_krim_role_perm_t.csv (Define role/permissions mapping i.e for a particular role following permissions...)
  • ole_krim_role_mbr_t.csv (for the particular role who are the people ie. Patron - OLE-Jon-Doe)

6. Service(s): Will be published to KSB and also be accompanied by appropriate java docs

a. Creation/Updates:

OlePatronService:

  • findPatron()
  • getPatron(String barcode)
  • createPatron(OlePatron patron)
  • updatePatron(OlePatron patron)
  • inactivatePatron(OlePatron patron)
  • addPatronAddress(OlePatron patron)
  • updatePatronAddress(OlePatron patron)
  • inactivatePatronAddress(OlePatron patron)
  • addPatronEmail(OlePatron patron)
  • updatePatronEmail(OlePatron patron)
  • inactivatePatronEmail(OlePatron patron)
  • addPatronPhone(OlePatron patron)
  • updatePatronPhone(OlePatron patron)
  • inactivatePatronPhone(OlePatron patron)
  • addPatronNote(OlePatron patron)
  • updatePatronNote(OlePatron patron)
  • inactivatePatronNote(OlePatron patron)

OleIdentityService: Filter out the Patron(s)

  • public List<Person> findPeople(Map<String, String> criteria)
  • public List<Person> findPeople(Map<String, String> criteria, boolean unbounded)
  • protected List<Person> findPeopleInternal(Map<String,String> criteria, boolean
  • public List<Person> getPersonByExternalIdentifier(String externalIdentifierTypeCode, String externalId) unbounded )
b. Lookups/Searches

OlePatronLookupableHelperService

  • public List<? extends BusinessObject> getSearchResults(Map<String, String> fieldValues)

OlePersonLookupableHelperService

  • public List<? extends BusinessObject> getSearchResults(Map<String, String> fieldValues) 

7. Data Model : The DM for Patron is going to reside in the Rice2.x Schema

8. Sign-off

Review complete? Yes (Sr.Technical Architect) - Friday May 4th, 2012d. 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

Info
titleOLE_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

Image Added

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) - Monday May 7thJune 26th, 2012

...