Input modifying tools
An input modifying tool is a tool that manipulates its input objects (e.g. adds annotations) without producing a new object. This behavior differs from the rest of the tools and requires special handling in the workflow.
In the workflow an input modifying tool is marked with the symbol () (figure 9.12).
Figure 9.12: Input modifying tools are marked with the letter M.
Restrictions apply to workflows that contain input modifying tools. For example, branches are not allowed where one of the elements is a modifying tool (see figure 9.13), as it cannot be guaranteed which workflow branch will be executed first, which in turn means that different runs can result in production of different objects. Hence, if a workflow is constructed with a branch where one of the succeeding elements is a modifying tool, a message in red letters will appear saying "Branching before a modifying tool can lead to non-deterministic behavior". In such a situation the "Run" and "Create Installer" buttons will be disabled (figure 9.13).
Figure 9.13: A branch containing an input modifying tool is not allowed in a workflow.
The problem can be solved by resolving the branch by putting the elements in the right order (with respect to order of execution). This is shown in figure 9.14 that also shows that the "Run" and "Create Installer" buttons are now enabled. In addition, a message in green letters has appeared saying "Validation successful".
Figure 9.14: A branch containing an input modifying tool has been resolved and the workflow can now be run or installed.
As input modifying tools only modify existing objects without producing a new object, it is not possible to add a workflow output element directly after an input modifying tool (figure 9.15). A workflow output element can only be added when other tools than input modifying tools are included in the workflow.
Figure 9.15: A workflow output element cannot be added if the workflow only contains an input modifying tool.
If the situation occur where more input modifying tools are used succeedingly, a copy of the object will be created in addition to using the modified object as input at the next step of the chain (see figure 9.16). In order to see this output you must right click on the output option (marked with a red arrow in figure 9.16) and select "Use as Workflow Output".
Figure 9.16: A workflow output element can be added when more than one input modifying tool is used succeedingly (despite that the workflow only contains input modifying tools). Select "Use as Workflow Output" to make a copy of the output.
When running a workflow where a workflow output has been added after the first input modifying tool in the chain (see figure 9.17) the output arrow is marked with "copy" to indicate that this is a copy of the result that is used as input at the next level in the chain. When running this workflow you will be able to see the copy of the output from the first input modifying tool in the Navigation Area (at the destination that you selected when running the workflow).
Figure 9.17: A workflow output element can be added when more than one input modifying tool is used succeedingly (despite that the workflow only contains input modifying tools). Note that this output is marked with "copy" to indicate that this is a copy of the result that is used as input at the next level in the chain.