Call Activity External Workflows [C OG]
VidiFlow is able to support the use of external workflows with the Call Activity option. In order to create a Call Activity users must proceed as follows:
In the "Task Configuration" tab one can then select any of the existing workflows to be triggered by the Call Activity.
Additionally, users have the choice of selecting which version of the workflow they wish to use.
Once the workflow is selected, you can specify its in- and output parameters the same way as you can do for Service Tasks.
The Call Activity will trigger the external workflow as it would any other Service Task. The Call Activity will run as long as the external workflow is running. If the external workflow fails, the Call Activity will also fail.
Usage of Call Activity as Multi-Instance
There is a known issue in Camunda when using Call Activity as Multi-Instance. If you use an iterated "element" variable to pass values into each instance there will be an error message that element has no value.
This is a known issue in current Camunda versions.
As a workaround you have to use the Call Activity inside a Multi-Instance sub-workflow like e.g. in following:
Monitoring of External Workflows
Workflows that are started inside a "parent" workflow by Call Activity are shown in Workflow Monitor like all other workflows.
"Latest" Workflow Version for Call Activity
Call Activity allow for the selection of "Latest" workflow version. After selecting a workflow, triggered by the call activity, the version of the workflow has to be specified in order for it to be executed. Selecting "Latest" instead of a specific version, results in the latest version of the workflow always being triggered at runtime. This, however, must come under careful consideration.
The contracts of workflows might change from version to version, meaning that number and types of input and output parameters might vary. One must ensure that the contract which was valid at design time of the Call Activity must not change. If, at runtime of the workflow, there is a new workflow with different contract, the workflow execution will fail. To ensure consistency, a specific workflow version should always be selected. While at the time of its design it might be OK to use "Latest", once a workflow is finished, and might be used in production, you should take care to select a dedicated version.