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 Codeveloper of the Kinetic Bundles strategy and implementation ID: 224484
Download Presentation The PPT/PDF document "Benefiting from Kinetic Bundles" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Benefiting from Kinetic Bundles
Ben Christenson
Kinetic DataSlide2
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.Slide3
What is a Kinetic Bundle?
Evolution of our
theming
strategySlide4
How did Bundles come to be?Evolution of themesWay to apply branding to Kinetic forms
Required to
Simplify initial web presence implementation
Share workImplement more complex interfacesSlide5
DisclaimerKinetic Data focuses on the most common tasksImplementing a theme typically occurs once
Developing or configuring a Bundle is simple, but…
Requires familiarity with HTML/CSS/
JavascriptMay require familiarity with JavaSlide6
Request Bundle - KleanThe first available Kinetic Bundle is named “Klean
”
Bare-bones sample
Heavily documentedStarting point for bottom-up developmentNOT a drop in solutionBeing used by professional servicesSlide7
Klean: Base PackageThe base
package is responsible for rendering Kinetic form contentSlide8
Kinetic Request PrimerKinetic Request is a Java Web ApplicationAccessed from a Web Browser
Kinetic Request forms apply a Theme
Specify a JSP to use for rendering the HTML
Are styled by CSSLeverage Javascript for dynamic interactionSlide9
Deploying a BundleDownload the bundleCopy the contents Configure the display page
Open the formSlide10
What is a Bundle, technically?Self contained directory
Stored within the
/kinetic/themes
directoryIncludes four component subdirectoriesThe common root package.The core root package
.
A collection of helpful
libraries
.
A
collection of
additional
packages
.
Key Concept:
PackagesSlide11
Klean: Catalog PackageThe catalog
package is responsible for rendering
catalog contentSlide12
What is a Package, technically?Root Packages
Common
Core
Packages SubdirectoryBase Package (Display and Review logic)Service Catalog or Service PortalFulfillment Console…Slide13
What comprises a package?Packages are organized into four types of filesConfiguration
Framework
Interface
ResourcesSlide14
Package Organization: ConfigFiles in the
config
directoryModify configurable behaviorSet variables used throughout the bundleSlide15
Package Organization: FrameworkFiles in the framework
directory implement
the technical
internals of the package.HelpersIncludesModelsSlide16
Package Organization: Framework/HelpersUsed to wrap common functionalitySlide17
Package Organization: Framework/IncludesLoad all of the framework
filesSlide18
Package Organization: Framework/Models
Abstracted interface to backend dataSlide19
Package Organization: InterfaceFiles in the interface
directory
Specify
the content that is displayedTypically render HTMLMay render JSON or XMLIncludes the callbacks and fragments subdirectoriesSlide20
Package Organization: InterfacePage JSPs (display.jsp, review.jsp)
Includes common interface fragments
Includes Kinetic form content
Portal Page JSPs (catalog.jsp, login.jsp, etc)Includes common interface fragmentsTypically has no Kinetic form contentSlide21
Package Organization: Interface/CallbacksSpecify content for asynchronous (AJAX) requestSearch results
User details
Submission detailsSlide22
Package Organization: Interface/FragmentsReusable fragments referenced from interface files
Template page content (headers/footers)Slide23
Package Organization: ResourcesFiles in the resources directory are referenced by
the
files in the interface directory.
CSSImagesJavascriptSlide24
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
.Slide25
Bundle Organization: The Common PackageOrigin – Need to share contentImproves reusability
and
consistency
Reduced duplicationResources (CSS, Images, Javascript)Similar UISlide26
Klean: Common PackageSlide27
Bundle Organization: The Core Package
Contains interface fragments required to
make
Request workCore ModelsCatalog, Category, Submission, TemplateTask, TaskMessage
Wrappers
bundle
context
customerRequestSlide28
Klean: Core PackageSlide29
DocumentationSlide30
Bundle Organization: LibrariesRe-usable solutionsOften highly technical or difficult to implement
Examples:
Advanced Search
Server-side paginated tablesSlide31
Libraries: Advanced SearchExample of the power of callbacksSlide32
Bundle PackagesIncrease portability of consoles and interfacesTypically Include
A
base
package for rendering service itemsA catalog package for rendering the service portalMay IncludeA submissions package for rendering submitted items…Slide33
Klean Package: SubmissionsProvide users with access to their submissionsSlide34
Additional PackagesDistributed on Kinetic CommunityCan be dropped in to any bundle
Minor modifications to apply styles and brandingSlide35
Activity PackageProvide users with access to… everythingSlide36
Assignment Package
Example of the power of modelsSlide37
Integration Packagesmy-eServiceSlide38
Bundle Benefits: OrganizationOrganizational consistencyEasier to read and write
Easier re-use
Self-contained
Exist side by side with existing themesSlide39
Bundle Benefits: PortabilityEverything is a relative referenceEasier replication of packages or entire
bundles
Zero effort migrations between Dev/QA/Prod
Packages and libraries are self containedEasier to shareSlide40
Bundle Benefits: CallbacksMore flexible than Simple Data RequestsCan make multiple data queries
Can build complicated relationships
Can implement complicated data translationsSlide41
Bundle Benefits: ModelsSimplify codeAbstract backend interaction
Focus on the UI
Changing
data backendProvide a reasonable approach for full CRUDSynchronous processingSlide42
Bundle Benefits: PerformanceFewer asynchronous requestsDon’t see visible delay between page loading and data populating
Server side pagination
Leveraging callbacks and Java
Model association loadingLoad all records in one querySlide43
ConclusionQuestions?
Personal
Contact Information:
Ben Christensonben.christenson@kineticdata.com651.556.0937