Watch the Control links video.
Control links enable you to set dependencies between services in a workflow that do not directly share data (i.e. that are not otherwise linked by passing data from one to the other directly or indirectly). A control link allows you to delay the invocation of a service until another has finished.
This can often be the case where two services depend on some external state, for instance a write to database followed by a query database. If you are unable to connect an output port of write to query, there is nothing preventing query from running too early unless you add a control link.
You might also need to use control links when using asynchronous services, to avoid calling
checkStatus says the service has finished. (See the section on Looping.)
To add a control links
A control link will be added between the 2 operations.
This control link means that
Get_text_result will not be run before
checkStatus has completed.
|Control links waits for iteration to finish|
If implicit iteration is performed on the upstream service, the control link will not be activated until all values have been iterated over upstream.
|Errors are also completions|
Note that a service is said to have _completed_ even if it returned an error in one or more of its iterations.
Taverna 2 requires all parts of the workflow to return a value, even if it is an error document. Downstream services receiving an error should normally return a new, derived error directly - but error documents are not delivered to control links.
This is different from Taverna 1 behaviour, where control links were only activated if the full iteration was completed. In some Taverna 1 workflows control links were used together with local workers like
There are plans to develop native branching for Taverna 2.
To remove control links
|What is the control link called?|
The control link's name is based on the services it connects, for instance:
You may also delete control links from the diagram, but as they are small, they can be difficult to select unless you zoom in.