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 (Image modified01) (figure 34.19).

Image workflow_inputmodifyingalgo
Figure 34.19: 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 34.20), 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 34.20).

Image workflow_inputmodifyingalgo_branch
Figure 34.20: 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 34.21 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".

Image workflow_inputmodifyingalgo_branchsolved
Figure 34.21: 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 34.22). A workflow output element can only be added when other tools than input modifying tools are included in the workflow.

Image workflow_inputmodifyingalgo_nooutput
Figure 34.22: 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 34.23). In order to see this output you must right click on the output option (marked with a red arrow in figure 34.23) and select "Use as Workflow Output".

Image workflow_inputmodifyingalgo_makeoutput
Figure 34.23: 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 34.24) 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).

Image workflow_inputmodifyingalgo_makeoutput2
Figure 34.24: 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.