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-1423

Info
titleRice2.x Framework

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

1. Patron Maintenance

...

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

b. Participants: OlePatronDocument.java, OlePatronDefinition.java, OlePatronContract.java, OlePatronDocument.xml, OlePatronDocumentMaintenanceDocument.xml, OlePatronMaintenanceImpl.java, ojb-repository-krms.xml

c. Framework: Rice2.x

2. Patron Search

...

a. KRAD Design: A simple KRAD maintenance document document will be used to create and update a new or an search,edit and copy the existing patron recordrecords.

b. Participants: OlePatronLookupableImpl.java, OlePatronInquirableImpl.java

c. Framework: Rice2.x

3.

...

Ingest

...

a. KRAD Design: Use the existing document frameworkThe ingest screen is similar to the Staff Upload screen in OLE_Rice2.x. Its a simple KRAD form with a view.xml and a controller.

b. Participants:

4. Ingest

a. KRAD Design

b. ParticipantsOlePatronRecordForm.java, OlePatronRecordView.xml, OlePatronRecordController.java, OleNameTypes.java, OlePatron.java,

                        OlePatronEmailAddress.java, OlePatronGroup.java, OlePatronLevelPolicies.java, OlePatronNote.java, OlePatronPostalAddress.java,

                        OlePatronTelePhoneNumber.java, OlePatronConverterService.java

c. Framework: Rice2.x

d. Workflow

...

4. 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 oracle-ole-rice.sql (Defining roles such as Patron, Borrower etc)
  • ole_krim_perm_t.csv (Define permissions)
  • ole_krim_role_perm_t.csv (Define type etc, defining permissions, defining 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)

...

  • mysql-ole-rice.sql (Defining roles such as Patron, Borrower type etc, defining permissions, defining role/permissions mapping)

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

...

a. Creation/Updates:

OlePatronService:

...

...

  • getPatron(String barcodepatronId)
  • createPatron(OlePatron patronOlePatronDefinition olePatron)
  • updatePatron(OlePatron patronOlePatronDefinition olePatron)
  • inactivatePatron(OlePatron patronOlePatronDefinition olePatron)addPatronAddress(OlePatron patron
  • addNameToEntity(EntityName name, Entity entity)
  • updatePatronAddressupdateName(OlePatron patronEntityName name)inactivatePatronAddress
  • inactivateName(OlePatron patronString nameId)addPatronEmail(OlePatron patron
  • addEmailToEntity(List<EntityEmail> emails, EntityTypeContactInfo entityTypeContactInfo)
  • updatePatronEmailupdateEmail(OlePatron patronEntityEmail entityEmail)inactivatePatronEmail
  • inactivateEmail(OlePatron patronString emailId)addPatronPhone(OlePatron patron
  • addAddressToEntity(List<EntityAddress> entityAddress, EntityTypeContactInfo entityTypeContactInfo)
  • updatePatronPhoneupdateAddress(OlePatron patronEntityAddress entityAddress)inactivatePatronPhone
  • inactivateAddress(OlePatron patronString addressId)addPatronNote(OlePatron patron
  • addPhoneToEntity(List<EntityPhone> entityPhone, EntityTypeContactInfo entityTypeContactInfo)
  • updatePatronNoteupdatePhone(OlePatron patronEntityPhone entityPhone)inactivatePatronNote
  • inactivatePhone(OlePatron patronString phoneId)

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 )

Lookups/Searches

OlePatronLookupableHelperService

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

OlePersonLookupableHelperService

  • public List<? extends BusinessObject> getSearchResults(Map<String, String> fieldValues) 
  • addNoteToPatron(OlePatronNotesDefinition patronNote)
  • updateNote(OlePatronNotesDefinition patronNote)
  • inactivateNote(String patronNoteId)
  • getPatrons()
  • findPatron(QueryByCriteria queryCriteria)
b. Lookups/Searches

OlePatronLookupableImpl

  • public Collection<?> performSearch(LookupForm form, Map<String, String> searchCriteria, boolean bounded)

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

...

...

Image Added

7. Sign-off

...

Review complete? Yes (Sr.Technical Architect) - Friday May 4th, 2012

Review with Core (Handoff #2)? Yes (OLE Core Team/S&A Team) - Monday May 7th, 2012