software development simplified KRAD New Features and Improvements

  • Slides: 56
Download presentation
software development simplified KRAD - New Features and Improvements for the Rice Application Development

software development simplified KRAD - New Features and Improvements for the Rice Application Development Framework open source administration software for education

Introduction • Scott Gibson Rice Developer University Of Maryland • Jerry Neal Rice Developer

Introduction • Scott Gibson Rice Developer University Of Maryland • Jerry Neal Rice Developer Indiana University open source administration software for education

Overview • • Why this Presentation? Benefits of the KNS (KRAD) Overview of KNS

Overview • • Why this Presentation? Benefits of the KNS (KRAD) Overview of KNS Components What is KRAD? Overview of KRAD Features Questionnaire & Questions Beyond KRAD 1. 1, 1. 2 open source administration software for education

Why this Presentation? • Community Involvement • Early Feedback open source administration software for

Why this Presentation? • Community Involvement • Early Feedback open source administration software for education

Benefits of KNS (KRAD) Decreased development time Increased code reuse (more maintainble) Standard development

Benefits of KNS (KRAD) Decreased development time Increased code reuse (more maintainble) Standard development paradigm (training) Standard Look and Feel Integration with other Rice modules (KEW, KIM) • Accessibility • Designed for Extensibility • • • open source administration software for education

Overview of KNS Components ENTITY_T ORM Mapping Lookups and Inquiries Entity (POJO) Concept Data

Overview of KNS Components ENTITY_T ORM Mapping Lookups and Inquiries Entity (POJO) Concept Data Dictionary Maintenance Documents Transactional Documents Workflow (KEW) open source administration software for education

Overview of KNS Components Data Dictionary <bean id="Country" parent="Business. Object. Entry"> <property name="business. Object.

Overview of KNS Components Data Dictionary <bean id="Country" parent="Business. Object. Entry"> <property name="business. Object. Class" value="org. kuali. rice. kns. bo. Country. Impl"/> <property name="inquiry. Definition"> <ref bean="Country-inquiry. Definition"/> </property> <property name="lookup. Definition"> <ref bean="Country-lookup. Definition"/> </property> <property name="title. Attribute" value="postal. Country. Code"/> <property name="object. Label" value="Country"/> <property name="attributes"> <list> <ref bean="Country-postal. Country. Code"/> <ref bean="Country-postal. Country. Name"/> <ref bean="Country-alternate. Postal. Country. Code"/> <ref bean="Country-postal. Country. Restricted. Indicator"/> <ref bean="Country-active"/> </list> </property> </bean> open source administration software for education

Overview of KNS Components Data Dictionary <bean id="Country-postal. Country. Code" parent="Attribute. Definition"> <property name="name"

Overview of KNS Components Data Dictionary <bean id="Country-postal. Country. Code" parent="Attribute. Definition"> <property name="name" value="postal. Country. Code"/> <property name="force. Uppercase" value="true"/> <property name="label" value="Country Code"/> <property name="short. Label" value="Country Code"/> <property name="max. Length" value="2"/> <property name="summary" value="Postal Country Code"/> <property name="description" value="The code uniquely identify a country. "/> <property name="required" value="true"/> <property name="validation. Pattern"> <bean parent="Alpha. Numeric. Validation. Pattern"/> </property> <property name="control"> <bean parent="Text. Control. Definition" p: size="2"/> </property> </bean> open source administration software for education

Overview of KNS Components Lookup open source administration software for education

Overview of KNS Components Lookup open source administration software for education

Overview of KNS Components Inquiry open source administration software for education

Overview of KNS Components Inquiry open source administration software for education

Overview of KNS Components Maintenance open source administration software for education

Overview of KNS Components Maintenance open source administration software for education

Overview of KNS Components Maintenance open source administration software for education

Overview of KNS Components Maintenance open source administration software for education

Overview of KNS Components Transactional <kul: document. Page document. Type. Name="Kuali. General. Error. Correction.

Overview of KNS Components Transactional <kul: document. Page document. Type. Name="Kuali. General. Error. Correction. Document“ html. Form. Action="financial. General. Error. Correction" render. Multipart="true" show. Tab. Buttons="true"> <html: hidden property="document. next. Source. Line. Number"/> <html: hidden property="document. next. Target. Line. Number"/> <kul: hidden. Document. Fields /> <kul: document. Overview editing. Mode="${Kuali. Form. editing. Mode}"/> <fin: accounting. Lines editing. Mode="${Kuali. Form. editing. Mode}“ editable. Accounts="${Kuali. Form. editable. Accounts}"/> <fin: general. Ledger. Pending. Entries/> <kul: notes/> <kul: ad. Hoc. Recipients/> <kul: route. Log/> <kul: panel. Footer/> <kul: document. Controls transactional. Document="true" /> </kul: document. Page> open source administration software for education

What is KRAD? • Stands for: “Kuali Rapid Application Development” • Major effort to

What is KRAD? • Stands for: “Kuali Rapid Application Development” • Major effort to enhance and improve the KNS – More Flexible, Richer … Faster! – Include features from Kuali Student • Eventual rename of KNS Rice module open source administration software for education

What is KRAD? • Major focus: – Rich UI Support – More UI Flexibility

What is KRAD? • Major focus: – Rich UI Support – More UI Flexibility – Improved Configuration and Tooling • Numerous smaller improvements – Lookups, Inquiries, & Maintenance Improvements – Improved Navigation open source administration software for education

What is KRAD? • Inspiration – Numerous suggestions collected from projects and the community

What is KRAD? • Inspiration – Numerous suggestions collected from projects and the community – Feedback from UI Designers – Kuali Student – Other Frameworks: Rails, Roo, Seam • Timeline – First release scheduled for Rice 1. 1 (November 2011) – Continued work on major enhancements through Rice 1. 2 open source administration software for education

KRAD Features – Rich UI • Simplifies HTML Document Traversing & Event Handling •

KRAD Features – Rich UI • Simplifies HTML Document Traversing & Event Handling • Lightweight and Non. Impacting • Built in Cross Browser support • Rich Widgets: – Dialog, Button, Accordion, Autocomplete … • Interactions and Effects: – Draggable, Droppable, Show, Hide, Toggle … open source administration software for education

KRAD Features – Rich UI j. Query in 3 minutes! • Just Java. Script!

KRAD Features – Rich UI j. Query in 3 minutes! • Just Java. Script! Place in <script> tag or script file • Selectors – select one or more DOM elements – Placed inside $() or j. Query() – Ex. ‘*’, ‘#id’, ‘. class’, ‘document’, ‘this’, ‘: text’ … • Methods – Syntax: $(selector). method() – html, val, css, width … – each, first, last, parent, children … • • Events – Syntax: $(selector). bind(event, [data], fn) – blur, change, focus, … Effects – Syntax: ${selector). effect – fade. In, fade. Out, slide. Down, show, hide • Miscellaneous – j. Query. get, j. Query. ajax, j. Query. get. JSON, jquery. get. Script, jquery. post … open source administration software for education

KRAD Features – Rich UI Light. Box • Keeps user on page (reduces number

KRAD Features – Rich UI Light. Box • Keeps user on page (reduces number of tabs/windows) • Display div content or iframe • Draggable, Resizable, Modal • Built using j. Query Dialog – Ex. $(selector). dialog([options]) open source administration software for education

KRAD Features – Rich UI Light. Box • Lightbox support for Inquiries, Lookups, Confirmations,

KRAD Features – Rich UI Light. Box • Lightbox support for Inquiries, Lookups, Confirmations, and expanded Text Areas • Pic Here open source administration software for education

KRAD Features – Rich UI Messages • Constraint Message – displays field restrictions •

KRAD Features – Rich UI Messages • Constraint Message – displays field restrictions • Defined in dictionary: Ex. Constraint Message open source administration software for education

KRAD Features – Rich UI Messages • Watermark – displays in text field (ex.

KRAD Features – Rich UI Messages • Watermark – displays in text field (ex. date format) • Defined in dictionary: Ex. Watermark open source administration software for education

KRAD Features – Rich UI Messages • Growls – notifications about events • Built

KRAD Features – Rich UI Messages • Growls – notifications about events • Built in growls for Save & Route • Use j. Query for custom notifications: open source administration software for education

KRAD Features – Rich UI Messages • Other Messages: – Roll over field level

KRAD Features – Rich UI Messages • Other Messages: – Roll over field level help – Always displayed field Summary – Page submit/load notification open source administration software for education

KRAD Features – Rich UI Progressive Disclosure • Show information when needed • Show/Hide

KRAD Features – Rich UI Progressive Disclosure • Show information when needed • Show/Hide – Sections (Tabs) – Groups (Parts of Tab) – Fields – Field Group (Grouping of fields) • Server & Client side support open source administration software for education

KRAD Features – Rich UI Progressive Disclosure Server Side • Implement Presentation. Controller: •

KRAD Features – Rich UI Progressive Disclosure Server Side • Implement Presentation. Controller: • • Also supports conditional read-only & required Called on page submits, can define ‘trigger’ field in dictionary for more dynamic behavior: open source administration software for education

KRAD Features – Rich UI Progressive Disclosure Client Side • Declare as ‘progressive. Disclosure’

KRAD Features – Rich UI Progressive Disclosure Client Side • Declare as ‘progressive. Disclosure’ in dictionary: • Implement j. Query script to show/hide: open source administration software for education

KRAD Features – Rich UI Ajax • Dynamic Read-Only Content – additional readonly information

KRAD Features – Rich UI Ajax • Dynamic Read-Only Content – additional readonly information displayed under a field • Defined in the dictionary: open source administration software for education

KRAD Features – Rich UI Other • Client side validation – Automatic translation of

KRAD Features – Rich UI Other • Client side validation – Automatic translation of dictionary validation to client validation script • Text based button generation • Improved Calendar widget open source administration software for education

KRAD Features – UI Flexibility Goals • More layout flexibility for Inquiry and Maintenance

KRAD Features – UI Flexibility Goals • More layout flexibility for Inquiry and Maintenance Screens • Ability to generate all screens (transactional documents) • Support different look and feels (e. g. KS) • Extensible and Customizable (without modifying core code) open source administration software for education

KRAD Features – UI Flexibility Architecture • Built using existing pieces of functionality •

KRAD Features – UI Flexibility Architecture • Built using existing pieces of functionality • No ‘object translation’ layer (dictionary>definitions->view) • Uses fine grained tag files for rendering view • Configured tag file and view object association • Allow code access to modify definitions when necessary open source administration software for education

KRAD Features – UI Flexibility Concepts • View – Rendering of information, fields, and

KRAD Features – UI Flexibility Concepts • View – Rendering of information, fields, and other items to a user (the HTML page: header, body, footer, style, navigation) • Section – Grouping within the view (usually associated with a menu item, horizontal/vertical tab) • Group – Grouping of the Sections items • Field – An application attribute or action and related elements (label, control, lookup, constraint, …) • Field Group – A grouping of Fields • Element – The basic renderable items (text, control, button, image, link, …) * * With the exception of Elements, all concepts are containers that hold certain items open source administration software for education

KRAD Features – UI Flexibility Concepts Concept Wireframe open source administration software for education

KRAD Features – UI Flexibility Concepts Concept Wireframe open source administration software for education

KRAD Features – UI Flexibility Concepts Ex. Disbursement Voucher open source administration software for

KRAD Features – UI Flexibility Concepts Ex. Disbursement Voucher open source administration software for education

KRAD Features – UI Flexibility Views • Responsible for overall layout and style –

KRAD Features – UI Flexibility Views • Responsible for overall layout and style – Navigation, Header/Footer, Body (Sections) – Can be single or multi paged • KRAD View Types – Stacked. View: Renders sections in vertical flow (with optional tabs), single page – Tabbed. View: Provides page navigation with horizontal tabs open source administration software for education

KRAD Features – UI Flexibility Views – Menu. View: Provides page navigation through a

KRAD Features – UI Flexibility Views – Menu. View: Provides page navigation through a menu – Wizzard. View: Provides sequenced page navigation through the use of buttons – Document. Stacked. View & Document. Tabbed. View: Extends base view types for rendering standard document header/footer content and sections • View Type + Style = View open source administration software for education

KRAD Features – UI Flexibility Views • A view is associated with an application

KRAD Features – UI Flexibility Views • A view is associated with an application entity in the dictionary open source administration software for education

KRAD Features – UI Flexibility Layout Managers • Renders content for a Section, Group,

KRAD Features – UI Flexibility Layout Managers • Renders content for a Section, Group, or Field Group • KRAD Layout Managers – Grid. Layout. Manager: Arranges components in table cells with auto wrapping ([options: number. Of. Columns, auto. Label, label. Placement]) – Box. Layout. Manager: Arranges components one after another vertically or horizontally open source administration software for education

KRAD Features – UI Flexibility Layout Managers – Table. Layout. Manager: Arranges components in

KRAD Features – UI Flexibility Layout Managers – Table. Layout. Manager: Arranges components in a collection table – Maintenance. Layout. Manager: Special Grid. Layout. Manager that adds additional fields • Custom Layout Managers can be created with spring definition and tag file handler open source administration software for education

KRAD Features – UI Flexibility Sections • Contain a title, one or more groups,

KRAD Features – UI Flexibility Sections • Contain a title, one or more groups, and zero or more actions • Associated errors and rollup of group errors open source administration software for education

KRAD Features – UI Flexibility Groups • Contain a title, sub-title, one or more

KRAD Features – UI Flexibility Groups • Contain a title, sub-title, one or more fields, zero or more actions • Associated errors and rollup of field errors open source administration software for education

KRAD Features – UI Flexibility Fields • Usually associated with an attribute • Pull

KRAD Features – UI Flexibility Fields • Usually associated with an attribute • Pull in information from dictionary attribute entry, but can override any settings (label, control, lookup, …) • Include many additional properties: – hidden, read. Only, lookup. Read. Only, colspan, width, align, label. Placement, required, total, trigger. On. Change, … open source administration software for education

KRAD Features – UI Flexibility Fields • Examples: – Field. Definition, Label. Field. Definition

KRAD Features – UI Flexibility Fields • Examples: – Field. Definition, Label. Field. Definition (attribute) – Action. Field. Definition – Text. Field. Definition, Header. Field. Definition – Blank. Field. Definition • Custom Fields can be created with Spring definition and associated tag file handler open source administration software for education

KRAD Features – UI Flexibility Field Groups • Contains a label and one or

KRAD Features – UI Flexibility Field Groups • Contains a label and one or more fields • By default uses Box. Layout. Manager (Horizontal or Vertical layout, single table cell for fields) open source administration software for education

KRAD Features – UI Flexibility Elements • Message. Definition – HTML Text • Link.

KRAD Features – UI Flexibility Elements • Message. Definition – HTML Text • Link. Definition – HTML Link open source administration software for education

KRAD Features – UI Flexibility Elements • Action. Definition – HTML Image Submit •

KRAD Features – UI Flexibility Elements • Action. Definition – HTML Image Submit • Control. Definition – HTML Control • Image. Definition – HTML Image open source administration software for education

KRAD Features – UI Flexibility Elements • New Elements can be added with Spring

KRAD Features – UI Flexibility Elements • New Elements can be added with Spring definition and tag file handler open source administration software for education

KRAD Features Config & Tools • Use ‘convention over configuration’ where possible • Provide

KRAD Features Config & Tools • Use ‘convention over configuration’ where possible • Provide better error checking and reporting – Standalone dictionary startup & validation • Support dictionary reload • Dictionary GUI – Graphical interface to dictionary – Provides searches, auto-complete, … open source administration software for education

KRAD Features Config & Tools • Tools – Create entity (bo class, dictionary, mapping)

KRAD Features Config & Tools • Tools – Create entity (bo class, dictionary, mapping) – Create document (document class, dictionary, mapping, action class & form, optional authorizer or presentation controller) – Generate Constraints – Message GUI • Graphical interface for specifying messages (keys, text, constants, …) open source administration software for education

KRAD Features Other Improvements • Multiple Lookups & Inquiries for an entity – Lookup

KRAD Features Other Improvements • Multiple Lookups & Inquiries for an entity – Lookup – ‘basic’, ‘advanced’, … – Inquiry – ‘short’, ‘full’, … • Dynamic Attributes – Define attribute in dictionary without entity/table changes • Table support for labels open source administration software for education

KRAD Features Other Improvements • More Dictionary Validation – Cross field validation (Must. Occur,

KRAD Features Other Improvements • More Dictionary Validation – Cross field validation (Must. Occur, Case) – Collection min. Occurs, max. Occurs – Validation message key (custom error messages) • Client side table sorting, paging, add/delete rows (lookup and document collections) • Improved Error Handling open source administration software for education

KRAD Features Other Improvements • Support for service mapped entities (DTOs) – Dictionary support

KRAD Features Other Improvements • Support for service mapped entities (DTOs) – Dictionary support for general objects – Objects mapped to a service for persistence operations – Eliminates need for Externalizable. Business. Object – No developer concern regarding how an object is loaded open source administration software for education

KRAD Features Other Improvements • Improvements to Question Framework (Question. Helper) – Allows easier

KRAD Features Other Improvements • Improvements to Question Framework (Question. Helper) – Allows easier and cleaner creation of questions – Keeps track of questions asked and their responses • Maintenance Copy – Specify ‘clear. On. Copy’ for a maintainable field • Built in Value. Finders (Generic) open source administration software for education

Questionnaire & Questions open source administration software for education

Questionnaire & Questions open source administration software for education

Beyond KRAD V 1. 1, 1. 2 The Future! • Support for Spring MVC

Beyond KRAD V 1. 1, 1. 2 The Future! • Support for Spring MVC • Integration with upcoming Rice Rules module • Dynamic Business Objects – No business object, mapping, or table needed • Merge with Edoc. Lite – Full featured screens/document with XML • Visual Screen Design Editor Note: None of these are yet approved for the Rice roadmap, just possibilities! open source administration software for education

Thanks! http: //kuali. org/rice open source administration software for education

Thanks! http: //kuali. org/rice open source administration software for education