What can I use the Fork and Join workflow constructs for? What is the difference between Fork and Data Splitter, Join and Data Collector?
Answer
The Fork and Join workflow constructs look quite similar to the Data Splitter and Data Collector, but they have a different use. The Fork workflow control automatically tags every file running through it, and files later generated from this file (for example report files) get the same tag. The Join workflow control groups all the files with the same tag.
Unlike the Data Collector, which waits for all the files to arrive to it, the Join construct does not wait until all files are gathered. It only collects the files with the same tag.
Example
Imagine a process to gather the content of a packaging in a workflow.
In this scenario, the designer has to upload the designs made for a Shampoo, a Conditioner and a 2-in-one. For every design, the text (legal, marketing, product-content) needs to be gathered. But once the text is gathered for one design, that specific design should already move forward to the Artwork Creation Phase.
Using a Data Collector here would not be a solution, because the workflow would wait until all the text is gathered, which is not wanted. By using a Fork for every individual design (that’s why we have to put a Data Splitter in front) will keep track of the individual design and the texts that are gathered. The moment the text for one document is all completed, the workflow continues.