Benefiting from Kinetic Bundles - PowerPoint PPT Presentation

oprah
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Benefiting from Kinetic Bundles PowerPoint Presentation
Download Presentation
Benefiting from Kinetic Bundles

play fullscreen
1 / 43
Download Presentation
Presentation Description
147 Views
Download Presentation

Benefiting from Kinetic Bundles

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Benefiting from Kinetic Bundles Ben Christenson Kinetic Data

  2. 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.

  3. What is a Kinetic Bundle? • Evolution of our theming strategy

  4. 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

  5. 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

  6. 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

  7. Klean: Base Package • The base package is responsible for rendering Kinetic form content

  8. 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

  9. Deploying a Bundle • Download the bundle • Copy the contents • Configure the display page • Open the form

  10. 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

  11. Klean: Catalog Package • The catalogpackage is responsible for rendering catalog content

  12. What is a Package, technically? • Root Packages • Common • Core • Packages Subdirectory • Base Package (Display and Review logic) • Service Catalog or Service Portal • Fulfillment Console • …

  13. What comprises a package? • Packages are organized into four types of files • Configuration • Framework • Interface • Resources

  14. Package Organization: Config • Files in the configdirectory • Modify configurable behavior • Set variables used throughout the bundle

  15. Package Organization: Framework • Files in the frameworkdirectory implement the technical internals of the package. • Helpers • Includes • Models

  16. Package Organization: Framework/Helpers • Used to wrap common functionality

  17. Package Organization: Framework/Includes • Load all of the framework files

  18. Package Organization: Framework/Models • Abstracted interface to backend data

  19. Package Organization: Interface • Files in the interfacedirectory • Specify the content that is displayed • Typically render HTML • May render JSON or XML • Includes the callbacks and fragments subdirectories

  20. 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

  21. Package Organization: Interface/Callbacks • Specify content for asynchronous (AJAX) request • Search results • User details • Submission details

  22. Package Organization: Interface/Fragments • Reusable fragments referenced from interface files • Template page content (headers/footers)

  23. Package Organization: Resources • Files in the resources directory are referenced by the files in the interface directory. • CSS • Images • Javascript

  24. 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.

  25. Bundle Organization: The Common Package • Origin – Need to share content • Improves reusability and consistency • Reduced duplication • Resources (CSS, Images, Javascript) • Similar UI

  26. Klean: Common Package

  27. 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

  28. Klean: Core Package

  29. Documentation

  30. Bundle Organization: Libraries • Re-usable solutions • Often highly technical or difficult to implement • Examples: • Advanced Search • Server-side paginated tables

  31. Libraries: Advanced Search • Example of the power of callbacks

  32. Bundle Packages • Increase portability of consoles and interfaces • Typically Include • A base packagefor rendering service items • A catalog package for rendering the service portal • May Include • A submissions package for rendering submitted items • …

  33. Klean Package: Submissions • Provide users with access to their submissions

  34. Additional Packages • Distributed on Kinetic Community • Can be dropped in to any bundle • Minor modifications to apply styles and branding

  35. Activity Package • Provide users with access to… everything

  36. Assignment Package • Example of the power of models

  37. Integration Packages • my-eService

  38. Bundle Benefits: Organization • Organizational consistency • Easier to read and write • Easier re-use • Self-contained • Exist side by side with existing themes

  39. 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

  40. Bundle Benefits: Callbacks • More flexible than Simple Data Requests • Can make multiple data queries • Can build complicated relationships • Can implement complicated data translations

  41. Bundle Benefits: Models • Simplify code • Abstract backend interaction • Focus on the UI • Changing data backend • Provide a reasonable approach for full CRUD • Synchronous processing

  42. 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

  43. Conclusion • Questions? • Personal Contact Information: • Ben Christenson • ben.christenson@kineticdata.com • 651.556.0937