Table of Contents

Change DCF

Changes to existing DCF interfaces and/or connections are typically considered a major change, and as such a major change is required in the version numbering.

Impact

Adding DCF support to an existing protocol

Adding DCF support to an existing protocol is usually not considered to be a breaking change. However, note that depending on the use case, adding DCF may have a major impact on performance and resource consumption, which may cause it to be considered a breaking change after all. This is for example the case when creation of DCF interfaces is linked to a very big and/or a very dynamic table.

DIS MCC (To be suppressed when impact is contained. For example, when DCF interfaces are linked to a few standalone parameters or to a rather small and/or static table.)

Full ID Error message Description
16.2.1 DcfAdded DCF was added

Changing the DCF implementation

When the name or type of an existing DCF interface (ParameterGroups) is changed or a DCF interface (ParameterGroups) is removed, this will have an impact on the system of the user:

  • Interface name change: DataMiner modules that filter by interface name will most likely no longer work correctly. There is the possibility that the connection names (which normally start with the interface name) are not updated. As such, QActions that request the connection by name might result in inconsistent data.
  • Interface type change: Connections are made from input to output. Changing the type of an interface might for instance result in the compiler detecting an invalid connection that is going from an output to an output. These invalid connections might result in odd and unexpected behavior and inconsistent data in the system.
  • Interface removal: Removing an interface will result in the loss of the related connection.

DIS MCC

Full ID Error message Description
16.3.3 DcfParameterGroupNameChanged DCF Group name for ParameterGroup '{groupId}' was changed from '{oldName}' into '{newName}'.
16.4.1 DcfParameterGroupTypeChanged DCF Group type for ParameterGroup '{groupId}' was changed from '{oldType}' into '{newType}'.
16.5.1 DcfParameterGroupRemoved ParameterGroup '{groupId}' was removed.

Workarounds

Adding DCF to an existing protocol

Actions to be taken:

  • QAction logic for DCF should be disabled by default.

Advised method:

  • Add a toggle button to the protocol (default "Disabled").

  • For QAction logic:

    • Add a Condition tag to either the QAction/Trigger/Action or the group running the DCF code (if it only runs DCF code).

    • Add if-conditions inside C# code that disable the DCF logic.

  • Do not use a workaround to disable interfaces unless absolutely necessary.

    • A software task was created to make it possible to disable DCF interfaces (task 62899). Once this new feature is available, there will be no more reason to consider adding DCF to be a breaking change, as it will be possible to fully disable it by default when desired.

DCF interface changes

Actions to be taken:

  • DCF data needs to be cleared: DCF mapping parameters, etc.
  • The DCF use case needs to be checked. Usually, this is the standard DCF implementation.