benefiting from kinetic bundles

43
Benefiting from Kinetic Bundles Ben Christenson Kinetic Data

Upload: oprah

Post on 23-Feb-2016

48 views

Category:

Documents


0 download

DESCRIPTION

Benefiting from Kinetic Bundles. Ben Christenson Kinetic Data. About Me. Ben Christenson Employee at Kinetic Data for 12 years and a member of the Product Development team for the past 6 years . Co-developer of the Kinetic Bundles strategy and implementation. Wha t is a Kinetic Bundle?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Benefiting from Kinetic Bundles

Benefiting from Kinetic Bundles

Ben ChristensonKinetic Data

Page 2: Benefiting from Kinetic Bundles

22

About Me

Ben Christenson Employee at Kinetic Data for 12 years

and a member of the Product Development team for the past 6 years.

Co-developer of the Kinetic Bundles strategy and implementation.

Page 3: Benefiting from Kinetic Bundles

33

What is a Kinetic Bundle?

Evolution of our theming strategy

Page 4: Benefiting from Kinetic Bundles

44

How did Bundles come to be?

Evolution of themes Way to apply branding to Kinetic forms

Required to Simplify initial web presence implementation

Share work

Implement more complex interfaces

Page 5: Benefiting from Kinetic Bundles

55

Disclaimer

Kinetic Data focuses on the most common tasks Implementing a theme typically occurs once

Developing or configuring a Bundle is simple, but… Requires familiarity with HTML/CSS/Javascript

May require familiarity with Java

Page 6: Benefiting from Kinetic Bundles

66

Request Bundle - Klean

The first available Kinetic Bundle is named “Klean” Bare-bones sample

Heavily documented

Starting point for bottom-up development

NOT a drop in solution

Being used by professional services

Page 7: Benefiting from Kinetic Bundles

77

Klean: Base Package

The base package is responsible for rendering Kinetic form content

Page 8: Benefiting from Kinetic Bundles

88

Kinetic Request Primer

Kinetic Request is a Java Web Application Accessed from a Web Browser

Kinetic Request forms apply a Theme Specify a JSP to use for rendering the HTML

Are styled by CSS

Leverage Javascript for dynamic interaction

Page 9: Benefiting from Kinetic Bundles

99

Deploying a Bundle

Download the bundle Copy the contents Configure the display page Open the form

Page 10: Benefiting from Kinetic Bundles

1010

What is a Bundle, technically?

Self contained directory Stored within the /kinetic/themes directory

Includes four component subdirectories The common root package. The core root package. A collection of helpful libraries. A collection of additional packages.

Key Concept: Packages

Page 11: Benefiting from Kinetic Bundles

1111

Klean: Catalog Package

The catalog package is responsible for rendering catalog content

Page 12: Benefiting from Kinetic Bundles

1212

What is a Package, technically?

Root Packages Common Core

Packages Subdirectory Base Package (Display and Review logic) Service Catalog or Service Portal Fulfillment Console …

Page 13: Benefiting from Kinetic Bundles

1313

What comprises a package?

Packages are organized into four types of files Configuration

Framework

Interface

Resources

Page 14: Benefiting from Kinetic Bundles

1414

Package Organization: Config

Files in the config directory

Modify configurable behavior

Set variables used throughout the bundle

Page 15: Benefiting from Kinetic Bundles

1515

Package Organization: Framework

Files in the framework directory implement the technical internals of the package.

Helpers IncludesModels

Page 16: Benefiting from Kinetic Bundles

1616

Package Organization: Framework/Helpers

Used to wrap common functionality

Page 17: Benefiting from Kinetic Bundles

1717

Package Organization: Framework/Includes

Load all of the framework files

Page 18: Benefiting from Kinetic Bundles

1818

Package Organization: Framework/Models

Abstracted interface to backend data

Page 19: Benefiting from Kinetic Bundles

1919

Package Organization: Interface

Files in the interface directory Specify the content that is displayed

Typically render HTML

May render JSON or XML

Includes the callbacks and fragments subdirectories

Page 20: Benefiting from Kinetic Bundles

2020

Package Organization: Interface

Page JSPs (display.jsp, review.jsp) Includes common interface fragments

Includes Kinetic form content

Portal Page JSPs (catalog.jsp, login.jsp, etc) Includes common interface fragments

Typically has no Kinetic form content

Page 21: Benefiting from Kinetic Bundles

2121

Package Organization: Interface/Callbacks

Specify content for asynchronous (AJAX) request Search results

User details

Submission details

Page 22: Benefiting from Kinetic Bundles

2222

Package Organization: Interface/Fragments

Reusable fragments referenced from interface files Template page content (headers/footers)

Page 23: Benefiting from Kinetic Bundles

2323

Package Organization: Resources

Files in the resources directory are referenced by the files in the interface directory. CSS

Images

Javascript

Page 24: Benefiting from Kinetic Bundles

2424

What comprises a bundle?

Bundles are organized into four directories The common root package. The core root package. A collection of helpful libraries. A collection of additional packages.

Page 25: Benefiting from Kinetic Bundles

2525

Bundle Organization: The Common Package

Origin – Need to share content Improves reusability and consistency Reduced duplication

Resources (CSS, Images, Javascript)

Similar UI

Page 26: Benefiting from Kinetic Bundles

2626

Klean: Common Package

Page 27: Benefiting from Kinetic Bundles

2727

Bundle Organization: The Core Package

Contains interface fragments required to make Request work

Core Models Catalog, Category, Submission, Template Task, TaskMessage

Wrappers bundle context customerRequest

Page 28: Benefiting from Kinetic Bundles

2828

Klean: Core Package

Page 29: Benefiting from Kinetic Bundles

2929

Documentation

Page 30: Benefiting from Kinetic Bundles

3030

Bundle Organization: Libraries

Re-usable solutions Often highly technical or difficult to implement Examples:

Advanced Search

Server-side paginated tables

Page 31: Benefiting from Kinetic Bundles

3131

Libraries: Advanced Search

Example of the power of callbacks

Page 32: Benefiting from Kinetic Bundles

3232

Bundle Packages

Increase portability of consoles and interfaces Typically Include

A base package for rendering service items

A catalog package for rendering the service portal

May Include A submissions package for rendering submitted items

Page 33: Benefiting from Kinetic Bundles

3333

Klean Package: Submissions

Provide users with access to their submissions

Page 34: Benefiting from Kinetic Bundles

3434

Additional Packages

Distributed on Kinetic Community Can be dropped in to any bundle

Minor modifications to apply styles and branding

Page 35: Benefiting from Kinetic Bundles

3535

Activity Package

Provide users with access to… everything

Page 36: Benefiting from Kinetic Bundles

3636

Assignment Package

Example of the power of models

Page 37: Benefiting from Kinetic Bundles

3737

Integration Packages

my-eService

Page 38: Benefiting from Kinetic Bundles

3838

Bundle Benefits: Organization

Organizational consistency Easier to read and write

Easier re-use

Self-contained Exist side by side with existing themes

Page 39: Benefiting from Kinetic Bundles

3939

Bundle Benefits: Portability

Everything is a relative reference Easier replication of packages or entire bundles

Zero effort migrations between Dev/QA/Prod

Packages and libraries are self contained Easier to share

Page 40: Benefiting from Kinetic Bundles

4040

Bundle Benefits: Callbacks

More flexible than Simple Data Requests Can make multiple data queries

Can build complicated relationships

Can implement complicated data translations

Page 41: Benefiting from Kinetic Bundles

4141

Bundle Benefits: Models

Simplify code Abstract backend interaction

Focus on the UI

Changing data backend

Provide a reasonable approach for full CRUD Synchronous processing

Page 42: Benefiting from Kinetic Bundles

4242

Bundle Benefits: Performance

Fewer asynchronous requests Don’t see visible delay between page loading and data populating

Server side pagination Leveraging callbacks and Java

Model association loading Load all records in one query

Page 43: Benefiting from Kinetic Bundles

4343

Conclusion

Questions?

Personal Contact Information: Ben Christenson [email protected] 651.556.0937