Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA Enterprise SCADA

Management of Change (MoC) deploy extensions

  • Last UpdatedApr 24, 2025
  • 3 minute read

When changes are promoted to production, they can be automatically marked as command inhibited or out of service. This will ensure that neither a Controller nor an automated program can accidentally send a command to a point (for example, analog, status, pump, or valve) that has not been tested in production.

To support this functionality, Management of Change (MoC) provides extension plug-ins that attach custom behaviors before and after deploying events (install/uninstall) for configuration changes in the RealTime database (RTDB).

Note: During an ultra emergency, if changes are made directly to the production system without using a package, the extension plug-ins will not run. For more information on this type of emergency, refer to the Management of Change (MoC) User documentation.

The following extensions can be referenced as examples for writing new extensions:

Note: All deploy extension code can be found in the following directory: %DNAInstallRoot%\ManagementOfChange\sdk

  • Pump and Valve Out of Logic Extension — An extension used to put a pump or valve out of logic while installing/uninstalling changesets.

    Note: If the pump or valve record is manually changed during an ultra emergency, then the Pump and Valve Out of Logic Extension will not run. For more information on this type of emergency, refer to the Management of Change (MoC) User documentation.

  • Commissioning Required Extension — An extension used to set the commissioning required flag on telemetered tables (analog, multistate, pump, rate, rtstring, status, tank, or valve) when installing/uninstalling changesets.

  • Logging Extension — An extension used to provide details through logging for debugging what the extension framework is doing.

  • Associated FlexTag Extension — An extension used to associate preconfigured FlexTags to a record type while installing or uninstalling changesets. For more information, refer to Configure the associated FlexTag extension.

    Note: During changeset promotion, the timing for applying plug-ins could be different.

    - For a new record, the Pump and Valve Out of Logic Extension and the Associated FlexTag Extension plug-in change will occur after the record is inserted.

    - For an existing record, the Pump and Valve Out of Logic Extension and the Associated FlexTag Extension plug-in change will occur before updating the record.

Extensions will allow responses to events based on pre/post installation activities of changeset deployment. The available events are:

  • PreInstall — Triggered prior to the installation of the changeset.

  • PostInstall — Triggered after the installation of the changeset.

  • PreUninstall — Triggered prior to the rollback of the changeset.

  • PostUninstall — Triggered after the rollback of the changeset.

Pre/post deploy events will provide a changeset entry that has all the information needed to deduce the current context:

  • IRealTimeChangeSetEntry — Represents a change (add/update/delete) made to the RTDB. For more information, refer to the Management of Change (MoC) Application Programming Interface (API) Reference documentation.

  • IRealTimeCommandChangeSetEntry — Represents a change (add/update/delete) made to the RTDB through a command such as BTC. For more information, refer to the Management of Change (MoC) Application Programming Interface (API) Reference documentation.

MoC provides a set of additional services available for consumption in an extension. Those are preregistered to a dependency container and can be injected directly into the constructor of the new extension:

  • IDNALog — Enables logging messages to OASyS Error Log.

  • IRealTimeDatabase — Enables modifying the RTDB.

  • IAuditPublisher — Enables publishing an audit trail to the MoC message queue logger.

  • IDALBLTClient — Enables calling a Business Logic Tier (BLT) from extensions.

  • IConfigurationSettings — Provides access to the configuration settings.

  • IDALService — Enables initialization of Data Access Layer (DAL) service.

  • IRetry — Enables retrying an action for a pre-configured or specified number of times. It throws an aggregate exception if all attempts fail.