There a 2 scenarios that developers need to consider when publishing a new version of an application:
- 1.A new application version is published that utilizes new features that aren’t supported on the client version that is installed by one or more end users.
- 2.A new application version is published, but end users have existing open sessions started from a prior application version. In this scenario, if a breaking change was introduced it is possible that session data could be come corrupt or cause other issues with the application.
The compatibility version is a tool that allows you to understand and compare feature compatibility between different components of the Skylight platform. When new features are released, the compatibility version number is bumped. The Compatibility Version Feature Matrix tracks which features are included for each compatibility version. The Release Notes for each client also document which compatibility version they support.
To view the compatibility version of an application in Application Builder, select the Application page on the sidebar. You can view the compatibility version in the Info section.
application.compatibilityVersionproperty returns the compatibility version of the currently loaded application.
environment.application.compatibilityVersionproperty returns the compatibility version of the client.
You can query these properties in an event script to check if there is a compatibility difference between the application and client, and if necessary, handle with logic. For example, you could:
- Present a non-blocking notification to the user recommending that they upgrade their client.
- Present a view that blocks the user until they upgrade their client.
- Display an entirely different view that doesn't utilize the new feature.
When publishing a new version of an application there is a possibility that if a user has an existing session (that was started with the prior version of the application) with the new version, that it could corrupt the session or cause other issues with the application. Application Builder provides you with tools to manage application upgrades.
To configure the application upgrade behavior in Application Builder, select the Application page on the sidebar, and then select Upgrade.
You can choose between 2 upgrade options:
- Optional (default): Presents a dialog that allows the user to choose between upgrading immediately or wait until the next time the application is opened.
- Forced: Presents a dialog that an upgrade is required and forces the user to upgrade.
applicationUpgradeevent script triggers on the first time that a new version of an application is opened and every time a draft version is opened on a client. This gives you the opportunity to handle existing open sessions that may causes issues with the application. For example, you could:
- Close an old session
- Migrate the session data to support a new data model in the new application version
To edit the
applicationUpgradescript in Application Builder, select Edit Script on the application upgrade settings page (shown above), or select File > Application Scripts > applicationUpgrade.