The Join workflow block combines two or more workflow paths. For example, you can specify the required actions (paths) that must reach this Join workflow block before the workflow can continue. The exit port in this block allows a common path to resume after combining workflows.
Join Workflow Block Properties
Continue to the next block.
|Title||A unique name for the junction.|
|Save||Commits your settings.|
|Cancel||Exits without saving.|
The process is as follows:
1.The Join workflow block checks to see if any of its predecessors are still executing.
If any of its predecessors are still executing, the Join workflow block waits indefinitely.
2.When one of its predecessors has finished executing, the Join workflow block checks to see if any of its predecessors are unexecuted.
If none of its predecessors are still unexecuted (that is, they are all complete), the Join workflow continues as configured.
3.For any of its predecessors that are unexecuted, the Join workflow block checks to see if those predecessors are executable.
If there are any predecessors that are executable but have not been executed yet, the Join workflow block waits indefinitely.
4.After all of the executable predecessors have executed, the Join workflow continues as configured.
The Join workflow block does not know the exit value of the predecessors; it only knows if it has been executed or not.
Join Workflow Block Example
In this example, the Join workflow block is called "Wait for Tasks" and it waits until the two Task workflow blocks that are its predecessors (one is called "Task for IT" and one is called "Task for Operations") have finished executing. After they both finish executing, the workflow progresses to the next workflow block which in this case is the Notification workflow block.
If you use the Join workflow block with an If workflow block, and if both exit ports (true and false) of the If workflow block directly or indirectly lead to the Join workflow block, you must create the workflow by putting the workflow blocks into the Workflow Designer in this order:
1.If workflow blocks
2.Task workflow blocks
3.Join workflow block
4.Connect the exit ports of the If workflow block to the Join workflow block
5.Connect the exit ports of the If workflow block to the Task workflow block(s)
6.Connect the exit ports of the Task workflow block to the Join workflow block
You must follow this order so that the Join workflow block can check is predecessors correctly.
Example of Using the Join Workflow Block with the If Workflow Block
If you have any problems with the way the Join workflow block works, such as if the workflow is blocked or stuck, try these suggestions:
1.Delete the Join workflow block's predecessor workflow blocks that are controlled by the If workflow block exit port. In the example above, this is the Task workflow block.
2.Save the workflow.
3.Put the deleted workflow blocks back and reconnect them.
4.Save the workflow.