Bundles provide the interface needed for building out a Kinetic application. Bundles wrap forms defined in the Management Console and extend functionality your organization needs to build an intuitive, engaging user experience.
Downloading a Bundle from Github
The best way to store and manage changes to bundles is with a source code repository. This allows multiple developers to make and commit changes without risk of overwriting each others work. The Kinetic bundles are made available as git projects hosted on Github. Using git is beyond the scope of this article, so we will be downloading the files directly.
*********The Triangle Bundle mentioned below has been deprecated. We will have a replacement bundle available soon.*******************
- Install Kinetic Request CE and create your first space and kapp.
- Download the request-ce-bundle-triangle-master.zip file from the request-bundle-base Kinetic Community github project.
- Extract the contents of the .zip file into the /app/bundles/SPACE_SLUG/request-ce-bundle-triangle directory of your Kinetic Request CE web application (this may require you to create the SPACE_SLUG directory if you have not already done so). This should result in a directory similar to %TOMCAT_HOME%/webapps/kinetic/app/bundles/acme/request-ce-bundle-triangle.
Configuring Your Request CE Catalog
Once you have a bundle downloaded, you can configure the Bundle Path for your space or kapp. This will tell Kinetic Request CE to render those pages with the specified bundle, rather than the default embedded Base bundle.
- Log in to your Kinetic Request CE management console (http://SERVER:PORT/kinetic/SPACE_SLUG/app).
- Click on the Setup tab to open up the Kapp Setup screen.
- Set the Bundle Path property to request-ce-bundle-triangle and click the Save Kapp Details button.
- Open a browser to your Kapp to view the triangle bundle (http://SERVER:PORT/kinetic/SPACE_SLUG/KAPP_SLUG).
Examining the Bundle File Structure
Once you have your bundle deployed to your webserver, you can begin examining the files and directories. For more information on bundle development, you can view the in-app development guides by selecting Reference Docs from the Help dropdown in the upper right of the admin and management consoles.
The .gitignore and .git files will only be present if you cloned the bundle from Github instead of downloading it as shown above.
- bundle: Contains Java helper classes defined in .jspf files and an initialization.jspf responsible for preparing the bundle.
- css: Contains the css files responsible for styling the bundle.
- images: Contains any images used by the bundles.
- layouts: Contains .jsp files that define the common layout items (this avoids duplication in each of the pages).
- libraries: Contains subdirectories for all of the thirdparty libraries that are used by the bundle (such as Bootstrap or jQuery).
- pages: Contains kapp pages that are intended be rendered through the kapp rather than through a form (ie: /kinetic/acme/catalog?page=submissions).
- partials: Contains .jsp fragments that can be used by multiple .jsp pages.
- confirmation.jsp: The default file used for confirmation pages.
- form.jsp: The default file used for form content pages.
- kapp.jsp: The default file used for kapp display (ie: /kinetic/acme/catalog).
- login.jsp: The default used for logging in to the space or kapp (ie: /kinetic/acme/app/login or /kinetic/acme/app/login?kapp=catalog).
- resetPassword.jsp: The default file used for password resets.
- space.jsp: The default file used for kapp display (ie: /kinetic/acme).
- README.md: A file that contains information about the bundle, such as listing any Space/Kapp/Category/Form Attributes that may be required or affect bundle behavior, high level implementation details, or instructions for setup.
Request CE Bundle Base
Request CE Bundle Base is intended to be an introduction to the Kinetic Request CE product. It is an extremely simple, minimally styled bundle that can be used as a playground for bundle development. Additionally the "default" bundle (the bundle that Kinetic Request CE uses when a Kapp does not explicitly specify a bundle path) is an embedded instance of Base.