eric westfall – indiana university jeremy hanson – iowa state university building applications...
TRANSCRIPT
![Page 1: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/1.jpg)
Eric Westfall – Indiana UniversityJeremy Hanson – Iowa State University
Building Applications with the KNS
![Page 2: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/2.jpg)
The History of the KNS
• KFS spent a large amount of development time up front, using the best talent from each of the partner institutions
• Came up with a foundation on which to build KFS - the Kuali Nervous System
• It focused on a unified approach to development of functionalityo A standard way to use workflow, perform CRUD
operations, handle business transactions• KNS extracted into Rice as a module
![Page 3: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/3.jpg)
KNS Overview
• The Kuali Nervous System provides a rich set of open source functionality which can be used to build an electronic document
• Provides reusable code, shared services, integration layer, and a development strategy
• Provides a common look and feel through screen drawing framework
• A document (business process) centric model with workflow as a core concept
![Page 4: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/4.jpg)
KNS Diagram
![Page 5: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/5.jpg)
KNS Development
CHART_TChart
(POJO)ORMMap
Data Dictionary
Lookups and
Inquiries
MaintenanceDocuments
TransactionalDocuments
Workflow(KEW)
![Page 6: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/6.jpg)
KNS – The Toolkit
• KNS frameworks provide infrastructure for common business object operations.o Lookups allow users to find and return
specific values.o Inquiries allow users to see related data for a
specific value’s record.o Maintenance documents create or update
new business object entities.
![Page 7: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/7.jpg)
Other KNS Features
• Data Dictionary• Question component• Notes and attachments• Pluggable business rules• KIM Integration for Authorization• System parameters
![Page 8: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/8.jpg)
Lookup Page
![Page 9: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/9.jpg)
Inquiry Page
![Page 10: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/10.jpg)
Maintenance Document
![Page 11: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/11.jpg)
Business Objects
• Attributeso LabelsoUI WidgetsoValidation
• Lookups• Inquiries• Relationships
![Page 12: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/12.jpg)
Data Dictionary
• Business Objectso Attributeso Lookupso Inquirieso Relationships
• Document Definitionso Sectionso Fieldso Collections
![Page 13: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/13.jpg)
The Data Dictionary
Business Object XML• Provides metadata for business object properties
o i.e. maxLength, labels, control types• Metadata is accessible in JSPs for business
object field rendering• Contains lookup and inquiry sections used for
constructing those screens by the frameworks
![Page 14: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/14.jpg)
The Data Dictionary (cont)
Transactional Document XML• Associates a Rule class and Presentation Controller or
Authorizer class with the document type• Maps a document class to a workflow document name
and document type
Maintenance Document XML• Has many of the same features, but also defines the
layout of the maintenance document itself.
![Page 15: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/15.jpg)
Types of Documents
• Two types of documents
• Maintenance Documents
• Transactional Documents
![Page 16: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/16.jpg)
Maintenance Documents
• Creates, Edits, Copies, and Inactivates Business Objects
• No GUI programming required, user interface is rendered by framework
• These are used for maintaining data• An easy way to maintain support tables in a
database• Supports creation of new records and editing of
existing records
![Page 17: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/17.jpg)
Transactional Documents
• Any service you can think of• These are data-entry centric documents or
“transactions” that model the business processes• Examples include: Proposal Development, Journal
Entry, Payment Reimbursement• Built on a case by case basis using the Kuali Rice tag
libraries (encompass snippets of UI behavior):o Notes and attachmentso Workflow route log (audit log)
• Integrated with workflow
![Page 18: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/18.jpg)
The Document Hierarchy
![Page 19: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/19.jpg)
Parallel Hierarchies
![Page 20: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/20.jpg)
KIM - Permissions
• KIM has the concepts of Permission Templates and Permissions
• Permission Template represents some course-grained permissiono Use Screen, Initiate Document, Maintain Records, etc.
• A Permission is created from a template and has more specific information identified on it’s permission detailso for example “Initiate Document” of type “Transfer of
Funds”
![Page 21: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/21.jpg)
KIM - Permissions
• Evaluation of permissions is handled by the permission service. KIM provides plug points for implementing custom logic for permission checkingo Example: permission checks based on hierarchical data
• Example Service Operations:o Is principal authorized by permission name w/detailso Is principal authorized by permission template name
w/detailso Get assignees for permissiono Get authorized permissions for principalo Get ids of roles that have given permission
![Page 22: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/22.jpg)
Permission Data Model
![Page 23: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/23.jpg)
KNS usage of KIM Permissions
• Many permissions exist that are used by KNS, examples:o Edit Documento Look Up Recordso Use Screeno Create / Maintain Records
![Page 24: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/24.jpg)
Building a maintenance document (1)
We start with a business object:• a Java class• a mapping for the persistence layer• a business object data dictionary file • our goal: create new ones, edit or inactivate old ones
![Page 25: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/25.jpg)
Building a maintenance document (2)
Step 1: Build a data dictionary file• Business object class to maintain• The maintainable• Locking keys• A rules class• Default existence checks• The authorizer and presentation controller• KEW document type • The document's sections and fields
![Page 26: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/26.jpg)
Building a maintenance document (3)
The business rules class• React to events which occur on the document
o saveo routeo approve
• You have access to user input through the getNewMaintainable().getBusinessObject()
![Page 27: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/27.jpg)
Building a maintenance document (4)
Set your KIM permissions• Who can initiate this document?• Who can edit the maintenance document?• What fields and sections can be viewed and edited?
![Page 28: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/28.jpg)
Building a maintenance document (5)
Routing is set through a standard KEW document type
![Page 29: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/29.jpg)
Building a maintenance document (6)
Add a link in your portal...
...and you're done!
![Page 30: Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS](https://reader038.vdocuments.site/reader038/viewer/2022110402/56649e545503460f94b4b76d/html5/thumbnails/30.jpg)
Final Maintenance Document Screen