= Live update
:description: This page defines what is called "Live update" and details the process information that can be live-updated from the Administrator profile.

This page defines what is called "Live update" and details the process information that can be live-updated from the Administrator profile.

[NOTE]
====

For Enterprise, Performance and Efficiency editions only.
====

== Definition

Sometimes, in Non-Production or even Production Runtimes, there is a need for quickly changing the content of a page or the pages linked to an application. And sometimes, there is no time to modify the sources and go through the whole validation cycle. +
To save this situation before all changes are made in the project sources, validated as they should, and deployed in a new project version, here comes Bonita "Live Update".
Live update is the procedure by which the Administrator can modify elements of an application on a Runtime environment (Production or Non-Production environments).

[WARNING]
====

This procedure should only be used to recover from an error encountered after the deployment and when there is no time to go through the normal release cycle: from the project sources through all the testing environments and then to the target environment. +
Once such a procedure has been used, the development team should quickly report the change made on the Runtime in the source files, to insure the correct maintenance of the project, and tag a new project version.
====

== Parameters

In Bonita Portal, with the _Administrator_ profile, or in the Bonita Administrator Application:

. Go to _BPM_> _Processes_
. Select a process and click on the _More..._ button
. Select _Parameters_ on the left side menu
. A table of parameters is displayed
. In the _Value_ column, click on the parameter value you want to edit
. Edit the process variable
. Click on the _*✔*_ button to save it

== Connector implementations

. Go to _BPM_> _Processes_
. Select a process and click on the _More..._ button
. Select Connectors on the left side menu
. In the connector definitions table, in the actions column, click on the _pencil_ button
. Browse to a .zip file containing the new connector implementation
. Click on _Save_ to import the new implementation.

== Forms

[#form-list]

=== Form list

This is the list of forms that can be mapped to a task, the case overview, or the process instantiation.

. Go to _BPM_> _Processes_
. Select a process and click on the _More..._
. Select Forms on the left side menu
. Select Form List tab
. In the table, in the actions column, click on the *_pencil button_* or the _*plus sign button*_
. Browse to a .zip file containing the new page/form
. Click on *_Next_* to check the permissions associated with the uploaded page/form.
. Click on *_Confirm_* to import the new page/form.

[#form-mapping]

=== Form mapping of a task, case overview, or process instantiation

This is the actual mapping between a form in the list and a process element.

. Go to _BPM_> _Processes_
. Select a process and click on the _More..._ button
. Select Forms on the left side menu
. In the table, click on the current mapping name of the task you want to update
. Enter the name of the already uploaded page/form or a URL that will handle the task submission
. Click _*✔*_ button to save it

== Pages

=== Page update

. Go to _Resources_
. Select a page and click on _Edit_
. Select your file
. Click on _Next_
. Review the permissions to confirm the update

[#cache-busting]

=== Cache busting

Cache busting is the mechanism used in Bonita to refresh the cache for users when a page created with the UI Designer is updated.

Cache busting has been introduced in Bonita 7.6, along with a new xref:cache-configuration-and-policy.adoc[cache policy]. +
It allows end users to benefit from custom page update without the need to empty the browser cache. +
When you export a page or a layout from the UI Designer, we suffix the resources filenames with a hash. +
If the page is updated, the resources filenames will change, and the browser will download it from the server, and not from the cache.

If you do not use the UI Designer to edit and export your custom page, do not forget to manually trigger the cache busting mechanism. +
It means that, as a developer, you must make sure to either change the file names of the modified resources (javaScript, CSS, images, etc...)
 or add a query parameter (e.g. ?version=2) to the URLs used in the HTML to access those resources, so that the web-browser will not use the
 version it has in cache but the new file instead. +
Without this cache busting, end users will not benefit from the latest custom page changes, unless they empty their browser cache.

== Scripts

The _Scripts_ section of the process "More details" page allows to update a _TYPE_READ_ONLY_SCRIPT_ Expression or a _TYPE_CONSTANT_ Expression when associated to a Groovy script connector.

. Go to _BPM_> _Processes_
. Select a process and click on the _More..._ button
. Select Scripts on the left side menu
. In the displayed tree, find the script you want to update or enter the script name in the înput field
. Click on the _pencil_ button in front of the script name
. Edit the script in the displayed editor
. Click on _Save_ to update the script content.

[WARNING]
====
The script dependencies are fixed, i.e., when the process is implemented, the developer design the script to use some variables and/or parameters. The Live update capability cannot go against this design and only allows to change the script content. If the new script tries to use more variables, it will lead to execution errors. To change the script dependencies (data available in the script execution context), the process definition must be updated and a newer version of the process deployed.
====
