Best practice for Process Upgrade when active instances use an older CDT version

Certified Associate Developer

We are facing an issue with Process Upgrade and CDT versioning in active process instances.

Context

We have a process model that contains a process variable of type Comentarios.

Recently, we added a new field to the Comentarios CDT. As a result:

  • Existing/running process instances still have the process variable using an older CDT version, for example Comentarios^4.
  • New process instances use the latest version of the Comentarios CDT.
  • We are trying to upgrade the old running process instances to the latest process model version using the Process Upgrade approach / Upgrade Processes From Version smart service.

Problem

The upgrade fails because the source process instances have the process variable using Comentarios^4, while the target process model has the same process variable using the latest Comentarios CDT version.

The error indicates that the process upgrade is not compatible because the CDT type/version is different.

From the official Process Upgrade documentation, I understand that the target process model must contain all PVs from the source model matched by name, type, and multiplicity, and that a CDT version difference is treated as a different type.

Question

What is the recommended Appian pattern for this situation?

Specifically:

  1. How do you usually handle running process instances when a CDT used as a process variable has evolved to a new version?
  2. Is there a recommended migration strategy to move data from Comentarios^4 to the latest Comentarios CDT version?

Goal

We want to understand the standard Appian-recommended approach for long-running process instances when a CDT evolves, especially when the CDT is used in process variables and blocks Process Upgrade.

Any guidance, real-world patterns, or Appian best practices would be appreciated.

Thanks.

  Discussion posts and replies are publicly visible