# Workflow Design: Subprocess versioning management

**URL:** <https://discuss.workflowgen.com/t/workflow-design-subprocess-versioning-management/395>\
**Category:** Process Design\
**Created:** [July 7, 2016, 11:27pm UTC](https://discuss.workflowgen.com/t/workflow-design-subprocess-versioning-management/395 "2016-07-07T23:27:59Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![wfg-admin](https://yyz2.discourse-cdn.com/flex030/user_avatar/discuss.workflowgen.com/wfg-admin/32/714_2.png) [@wfg-admin](https://discuss.workflowgen.com/u/wfg-admin)\
**Post date:** [July 7, 2016, 11:27pm UTC](https://discuss.workflowgen.com/t/workflow-design-subprocess-versioning-management/395/1 "2016-07-07T23:27:59Z")

</div>

#### Default

By default, the WorkflowGen engine automatically uses the **last active sub-process version** or, if there is no active version, the last “in test” version. This is a flexible solution because when you modify or update a sub-process, you know that all parent processes will call the new version.

#### Incompatible sub-process parameters

If your new sub-process version is no longer compatible with the parent processes (for example, due to parameter changes), one solution is to create a new sub-process with a different name (e.g. **MY\_SUBPROCESS\_V2** ). You must also update all of the new parent process definitions to use the new sub-process.

#### Specific sub-process version

As of WorkflowGen version 6.2.0, you can specify a sub-process version in the parent process action; this is a **tight coupling**. In this configuration, you won’t have compatibility issues between the sub-process and the parent process whenever you create a new version of the parent process, though you’ll lose the benefits of the default behavior above.

**Note:** You must use the same process version numbers in the development and production environments to avoid issues when importing or exporting the sub-process definition.

#### Upcoming improvements

A new feature to “upgrade” ongoing requests when importing a sub-process version will be available in a future release. In the meantime, we recommend using a minimum of sub-process parameters and to use the **GETPROCESSDATA** and **UPDATEPROCESSDATA** workflow applications to exchange information between the parent process and its sub-process(es). A sub-process can use the **Parent.Process Version** macro to manage parent process version compatibility.
