krad - new features and improvements for the rice application development framework

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

Upload: lora

Post on 25-Feb-2016

26 views

Category:

Documents


0 download

DESCRIPTION

KRAD - New Features and Improvements for the Rice Application Development Framework . Introduction. Scott Gibson R ice Development Manager University Of Maryland Jerry Neal Rice Developer Indiana University. Overview. Why this Presentation? Benefits of the KNS (KRAD) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

software development simplified

KRAD - New Features and Improvements for the Rice Application Development Framework

Page 2: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Introduction

• Scott Gibson Rice Development Manager University Of Maryland• Jerry Neal Rice Developer Indiana University

Page 3: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview

• Why this Presentation?• Benefits of the KNS (KRAD)• Overview of KNS Components• What is KRAD?• Overview of KRAD Features• Questionnaire & Questions

Page 4: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Why this Presentation?

• Community Involvement • Early Feedback

Page 5: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

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

Page 6: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Concept

ENTITY_T Entity(POJO)

ORMMapping

Data Dictionary

Lookups and

InquiriesMaintenanceDocuments

TransactionalDocuments

Workflow(KEW)

Table

IDM (KIM)

Page 7: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Data Dictionary

Page 8: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Data DictionaryOverview of KNS Components

Page 9: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Lookup

Page 10: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Lookup

Page 11: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Inquiry

Page 12: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Inquiry

Page 13: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Maintenance

Page 14: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Maintenance

Page 15: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Maintenance

Page 16: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Maintenance

Page 17: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Transactional

Page 18: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Overview of KNS Components Transactional

Page 19: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

What is KRAD?

• Stands for: “Kuali Rapid Application Development”

• Major effort to enhance and improve the KNS– More Flexible, Richer … Faster!

• Eventual rename of KNS Rice module

Page 20: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

What is KRAD?

• Major focus:– Rich UI Support– More UI Flexibility– Improved Configuration and Tooling– Better alignment with Kuali Student– Numerous smaller improvements

• Lookups, Inquiries, & Maintenance Improvements

Page 21: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

What is KRAD?

• Inspiration– Numerous suggestions collected from projects and the

community– TRC Working Group– Feedback from UI Designers– Kuali Student– Other Frameworks: Fluid, Rails, Roo, RSF, Seam

• Timeline – First release scheduled for Rice 1.1– Continued work on major enhancements through Rice 1.2

Page 22: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Simplifies HTML Document Traversing & Event Handling

• Built in Cross Browser support

• Lightweight and Non-Impacting

• Rich Widgets:– Dialog, Button,

Accordion, Autocomplete …

• Interactions and Effects:– Draggable, Droppable,

Show, Hide, Toggle …

Page 23: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI LightBox

• Keeps user on page (reduces number of tabs/windows)

• Display div content or iframe• Draggable, Resizable, Modal• Built using jQuery Dialog

– Ex. $(selector).dialog([options])

Page 24: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Lightbox support for Inquiries, Lookups, Confirmations, and expanded Text Areas

LightBox

Page 25: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Constraint Message – displays field restrictions• Defined in dictionary:

Messages

Ex. Constraint Message

Page 26: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Watermark – displays in text field (ex. date format)

• Defined in dictionary:

Messages

Ex. Watermark

Page 27: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Growls – notifications about events• Built in growls for Save & Route• Use jQuery for custom notifications:

Messages

Ex. Save Message

Page 28: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Other Messages:– Roll over field level help– Always displayed field Summary– Page submit/load notification

Messages

Page 29: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Show information when needed• Show/Hide

– Sections (Tabs)– Groups (Parts of Tab)– Fields– Field Group (Grouping of fields)

• Server & Client side support

Progressive Disclosure

Page 30: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Implement PresentationController:

• Also supports conditional read-only & required• Called on page submits, can define ‘trigger’ field in dictionary for more

dynamic behavior:

Progressive Disclosure

Server Side

Page 31: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Declare as ‘progressiveDisclosure’ in dictionary:

• Configure show conditions on Field or write custom jQuery script:

Progressive Disclosure

Client Side

Page 32: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Dynamic Read-Only Content – additional read-only information displayed under a field

• Defined in the dictionary:

Ajax

Ex. Chart Description

Page 33: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI Themes

Page 34: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI Themes

Page 35: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI Themes

Page 36: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI Themes

Page 37: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI Themes

Page 38: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI Themes

Page 39: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – Rich UI

• Client side validation– Automatic translation of dictionary validation to

client validation script• Improved Navigation (breadcrumbs)• Text based button generation• Auto-complete Fields• Improved Calendar widget

Other

Page 40: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• 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 , no ‘Black Box’

Goals

Page 41: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Built using existing pieces of functionality (generalizing maintenance framework)

• Simplified architecture with reduce layering (no ‘object translation’ layer)

• Uses fine grained tag files (‘HTML Templates’) for rendering view

• No hard-coded associations (object – tag ), everything configured through spring

• Allow code access to modify definitions when necessary

Architecture

Page 42: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Comprised of ‘Building Blocks’

Dictionary Definition

Object Template

Dictionary Definition

Object Template

Dictionary Definition

Object Template

Core

Dictionary Definition Template

Dictionary Definition

Object Template

Custom

Framework

Architecture

Page 43: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• View – Rendering of information, fields, and other items to a user (the HTML page: header, body, footer, style, navigation)

• Group – Grouping of the items (conceptually have different levels: Page, Section, Group, Field Group)

• Field – An application attribute or action and related elements (label, control, lookup, constraint, …)

• Widget – A element that encompasses functionality within the UI (calendar, breadcrumbs, quickfinder)

Concepts

Page 44: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility Concepts

Concept Wireframe

Page 45: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility Concepts

Ex. Disbursement

Voucher

Page 46: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Responsible for overall layout and style – Navigation, Header/Footer, Body (Sections)– Can be single or multi paged

• KRAD View Types– StackedViewType: Renders sections in vertical flow

(with optional tabs), single page– TabbedViewType: Provides page navigation with

horizontal tabs

Views

Page 47: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

– MenuViewType: Provides page navigation through a menu

– WizardViewType: Provides sequenced page navigation through the use of buttons

– DocumentStackedViewType & DocumentTabbedViewType: Extends base view types for rendering standard document header/footer content and sections

• View Type + Style = View

Views

Page 48: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• A view is associated with an application entity in the dictionary

Views

Page 49: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Layout content for a Section, Group, or Field Group

• KRAD Layout Managers– GridLayoutManager: Arranges components in

table cells with auto wrapping ([options: numberOfColumns, autoLabel, labelPlacement])

– BoxLayoutManager: Arranges components one after another vertically or horizontally

Layout Managers

Page 50: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

– TableLayoutManager: Arranges components in a collection table

– MaintenanceLayoutManager: Special GridLayoutManager that adds additional fields

• Custom Layout Managers can be created with dictionary definition and tag file handler

Layout Managers

Page 51: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Contain a title, one or more groups, and zero or more actions

• Associated errors and rollup of group errors

Sections

Page 52: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Contain a title, sub-title, one or more fields, zero or more actions

• Associated errors and rollup of field errors

Groups

Page 53: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• 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, readOnly, lookupReadOnly, colspan, width, align,

labelPlacement, required, total, triggerOnChange, …

Fields

Page 54: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Examples: – FieldDefinition, LabelFieldDefinition (attribute)– ActionFieldDefinition– TextFieldDefinition, HeaderFieldDefinition– BlankFieldDefinition

• Custom Fields can be created with dictionary definition and associated tag file handler

Fields

Page 55: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• Contains a label and one or more fields• By default uses BoxLayoutManager (Horizontal

or Vertical layout, single table cell for fields)

Field Groups

Page 56: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• MessageDefinition – HTML Text

Elements

• LinkDefinition – HTML Link

Page 57: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• ActionDefinition – HTML Image Submit

Elements

• ControlDefinition – HTML Control

• ImageDefinition – HTML Image

Page 58: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features – UI Flexibility

• New Elements can be added with a dictionary definition and tag file handler (with optional object)

Elements

Page 59: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features

• 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, …

Config & Tools

Page 60: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features

• 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, …)

Config & Tools

Page 61: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features

• 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

Other Improvements

Page 62: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features

• More Dictionary Validation– Cross field validation (MustOccur, Case)– Collection minOccurs, maxOccurs– Validation message key (custom error messages)

• Client side table sorting, paging, add/delete rows (lookup and document collections)

• Improved Error Handling

Other Improvements

Page 63: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features

• Support for service mapped entities (DTOs)– Dictionary support for general objects– Objects mapped to a service for persistence

operations– Eliminates need for ExternalizableBusinessObject– No developer concern regarding how an object is

loaded– Better alignment with JPA

Other Improvements

Page 64: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

KRAD Features

• Improvements to Question Framework (QuestionHelper)– Allows easier and cleaner creation of questions– Keeps track of questions asked and their

responses• Maintenance Copy

– Specify ‘clearOnCopy’ for a maintainable field• Built in ValueFinders (Generic)

Other Improvements

Page 65: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Questionnaire & Questions

Page 66: KRAD - New Features and Improvements for the Rice Application Development Framework

open source administration software for education

Thanks!

http://kuali.org/rice