Post-plugin upgrade configuration update

Post-plugin upgrade configuration update

New 16.2

A new client/UI feature was added which performs the following operations:

  1. Load each channel referencing a specific custom plugin

  2. Compare the pre-load configuration to the post-load configuration

  3. If the configuration has changed, then

    1. Lock the channel

    2. Save the channel

    3. Unlock the channel

This feature was added due to the following scenario:

  1. A new version of an existing plugin is imported, and

  2. The new plugin has a new configuration property which defaults to a global tag

// * the default value of the new property points to a global private string m_NewConfigurationProperty = "{System.MessagesPerSecond}"; [DataMember] public string NewConfigurationProperty { get { return m_NewConfigurationProperty; } set { if (m_NewConfigurationProperty != value) { m_NewConfigurationProperty = value; RaisePropertyChanged(); // you must call RaisePropertyChanged for the UI to reflect property updates } } }

In the preceding example, the new property will not be properly processed by the Global evaluator system until either

  1. The channel configuration is updated and saved, or,

  2. This new feature is executed.

The 'Load & Re-save' feature is accessed via the Plugin Manager dialog

image-20250722-154636.png
Right-click the device icon and select ‘Manage Devices’
image-20250722-154758.png
Right-click the newly imported version of the plugin, and select the ‘Load & re-save…' option.

All channels to be loaded and saved must be unlocked, or, locked by you. If any channel is locked by someone else, you will be notified and the operation cancelled.

A prompt will be displayed:

image-20250722-155106.png

Note that this can be a ‘heavy’ operation - as (within the management application) it will fully load each channel and perform locking and saving operations. Within the Connexion service, each channel will be saved, locked and reloaded. If you have a high number of these plugins, the server will be tasked with reloading each one.