Skip to main content
Kinetic Community

Kinetic Request CE - Version 1.0.4

Overview

This release provides a number of improvements including updated client-side events, submission statistics, additional Cassandra configurations, and SAML authentication support along with bug fixes and many other updates.  See the full Change Log.

Upgrade Instructions

Prerequisites

Must be on version 1.0.0 or higher.

Preparation

You must have a download of the new Kinetic Request CE 1.0.4 web archive (.war).  Contact support if you are a current customer upgrading your application.

Upgrade

Below are the steps to upgrade:

1. Backup your properties and configuration files:  Before upgrading you need to backup your bundles directory (/app/bundles) and your configuration files (/WEB-INF/classes/*.properties and /WEB-INF/config/*.properties).

 

2. Update your DB schema:  If you are upgrading from v1.0.3, you can skip this step.  Otherwise, run the following CQL file for updates to the application (applies changes between 1.0.1 and 1.0.2):

https://s3.amazonaws.com/kineticdata.com/downloads/kinetic-request-ce/1.0.3/schema.cql

  • If using the command line cqlsh program:
    • Edit the downloaded schema.cql file with a text editor and add the following to the first line of the file:

      use kinetic_core;

      • NOTE: kinetic_core is the default keyspace.  Use the correct keyspace if your installation is different

    • Run the file with the cqlsh program:
      • cqlsh -e "SOURCE '/full/path/to/schema.cql';"
  • If using DevCenter:
    • Ensure the correct connection and keyspace are selected.  The default keyspace is kinetic_core.
    • Open the schema.cql file from the File -> Open File... menu option.
    • Run the schema.cql file.

 

3. Deploy the new web archive (.war) file for Kinetic Request CE 1.0.4:  For Tomcat this would be deployed into your tomcat/webapps directory.

Contact support if you are a current customer and need the kinetic.war file.

 

4. Replace the bundles and properties files: 

There are three configuration changes for 1.0.4 that may require updating depending on your environment:

  • Location of conf directory:  In 1.0.4 a customer can set a data directory (via an Environment Variable) that may or may not be outside the web application.  By default, if the data directory is not set, the conf directory will be in WEB-INF/conf instead of WEB-INF/classes/conf. With this change, you will move the files you backed up in step 1. into this new directory WEB-INF/conf).  

    • These files include (you may not have all of these files):

      • cassandra.properties

      • filfillment-sources.properties

      • fulfillment-filters.properties

      • smtp.properties

      • system.properties

    • DO NOT replace files in the WEB-INF/classes directory (including jawr.properties and version.properties).

  • Security configuration:  If you are using a provider other than the local users/passwords (LDAP for example), you will need to update your configuration.  The format of this has changed slightly to better support other authentication mechanisms (SAML is now supported in 1.0.4, for instance).  The new configuration format and upgrade instructions can be found here.
  • Cassandra configuration:  If you are interested in taking advantage of the new Cassandra configuration support such as authentication, SSL and multiple contact points, you can see the updated configuration properties here and preparing SSL certificates.  You may want to use the new cassandra.properties file (versus your backed up version) as it includes documentation right in the file for the various options, but either will work.

 

5. Update your bundle(s):  

Update your Javascript default actions on subforms:  If you are using a completed custom callback on a subform (very unlikely for most customers), you need to update any callbacks that use action.default() (you may have called this something other than 'action') to action.continue()

If you are upgrading from v1.0.3, you can skip the rest of this section:  There were a few changes to bundles between v1.0.0 and v1.0.3 that have the potential to break existing bundles.  If one of the Kinetic bundles was used (base or triangle), then it can be re-downloaded from git.  If a custom bundle was developed, some of the following changes may need to be accounted for:

  • JQuery / Moment.js / Underscore.js - The JQuery, Moment.js, and Underscore.js libraries are no longer automatically available to bundles.  If the bundle was using one of these libraries, they will need to be added to the /libraries folder of the bundle and included in the /layouts/layout.jsp file (example: https://github.com/KineticCommunity/...ut.jsp#L25-L29).
  • Updates to /layouts/form.jsp - The /layouts/form.jsp needs to include the <app:formHeadContent/> tag (example: https://github.com/KineticCommunity/...s/form.jsp#L31).
  • Elimination of properties - The Kinetic Runtime API no longer exposes any properties. If you were previously using any properties, such as K(‘space’).slug you will now need to use the method equivalent: K(‘space’).slug(); 
  • JS Actions Object - The Page Submit event have changed slightly. You no longer return false; from a submit event to prevent the submission from occurring. There is a new method on the action object: action.stop().  After the asynchronous actions have been taken you can call action.continue() to restart the submission process.  A sample can be found in the reference docs:  Kinetic JavaScript Library > Builder Events > Page Submit.

 

Change Log

  • SAML Authentication Support
  • Cassandra configuration updates including client encryption options, authentication options, and multiple cassandra contactpoint points
  • Inclusion of Cassandra version and additional environment data in the environment.log
  • Ability to set sort order and which fields are displayed on bridge requests
  • Callbacks added on K('form').save() and K('form').submitPage() to do custom actions like a message or redirect
  • Ability to configure a system-wide SMTP configuration for system emails which is used if no space SMTP configuration is set
  • Updated user profile view so the password reset and other values were visually differentiated
  • Logs can now be viewed per space in addition to the system level
  • Webhook error handling UI re-designed to include more intuitive handling of errors
  • Ability to retry a webhook and update the data/structure sent to the consumer
  • Updated in-app technical documentation (via Help menu)
  • Ability to use a shared bundle directory across spaces
  • Include webhook errors in the application.log
  • Attribute definitions can now include a description for easier maintenance
  • Include a configurable data directory for properties, rather than the static one inside the app, allowing customers to specify a writeable directory outside their web app
  • Include space and user attribute definitions when fetching space via the API
  • Read-only page on Kapp Setup that shows Kapp fields available
  • Add bundle.apiPath attribute/method for bundle developers to make links less brittle
  • Allow searching of submissions by null form types
  • Updated TaskRuns helper to use space attributes for TaskServer and TaskSource if Form/Kapp not found
  • Improve errors raised when evaluating webhook filters and webhook urls
  • Add pattern on space bundle path to restrict changing out of the /app/bundles directory
  • Minor management consoles UI updates
  • Fixed API connections when using LDAP that required local credentials
  • Fixed cloning a button where any render attributes were shared
  • Fixed updating render attributes where the save was not taking place
  • Fixed display issues where items were overlapping in some dialogs and menus
  • Fixed canceling import with same slug warning leads to un-importable state
  • Fixed allowing empty render attributes which caused a 500 error
  • Fixed webhook jobs status not being updated typically seen during time-outs
  • Fixed an empty HTML structure created inside the normal form BODY
  • Fixed selecting Space Attribute Task Source Name resolved to ${form('attribute:Task Source Name')} in the webhook URL definition
  • Fixed error that happened when a completed subform which had elements removed
  • Fixed issue where system was unable to find LDAP groups more than one CN or OU deeper than the base DN