- 12 Aug 2024
- 5 Minutes to read
- Print
- PDF
What is a Workflow?
- Updated on 12 Aug 2024
- 5 Minutes to read
- Print
- PDF
A workflow is a series of steps or tasks that are necessary to complete a specific process or achieve a particular goal. It outlines the sequence of actions, decisions, and interactions between individuals and the system, with the aim to complete a task or reach an objective in a consistent way. The addition of Workflows to your 12d Synergy environment is often necessary to define complex work processes. Notwithstanding this, once the workflows license module is enabled you can build simple or complex workflows that can include manual, automated, or a combination of types of processes. When planning workflows generally, they can be represented through flowcharts, diagrams, or written descriptions. One of the exceptional features of workflows in 12d Synergy is that the workflow is diagrammatically built and displayed, greatly improving the building experience.
Workflows are designed as List type attributes residing on the entities that are the subject of a process. This means that you can run a workflow on many entities in 12d Synergy, such as
Jobs
Folders
Files
12d Model Projects
Tasks
You can create a workflow to be as general or as robust as you want it to be using the various options that 12d Synergy provides for building workflows. Also, workflows in 12d Synergy are reusable as they are defined on attributes which are reusable. This means that you can have the same attribute on different entities as listed above.
1. Understanding Workflows with a Sample Workflow
Let us take a very simple business work process in which a Designer makes a drawing and passes it on to a Reviewer who reviews the drawing. The Reviewer can either pass on some review comments to the Designer or can approve the drawing and issue it to the Client. If the Designer receives review comments from the Reviewer, then the process of review again follows, until the drawing is fully accepted by the Reviewer and issued to the Client.
The file is the entity in this workflow and as it progresses through the work process, it is certified as an approved file that is used by the Client. Using the 12d Synergy application, you can diagrammatically build the workflow as a flowchart which will look like this.
Now let us look at the components of this workflow.
Actors - The people involved in the workflow are called actors. The actors in our workflow here are the Designer, Reviewer and Client.
States — A state is the stage in which the actors are working. In our example, WIP (Work in Progress), In Review and Issued are states.
Entity - Everything that takes part in a workflow is called an entity. For instance, the file that is moving through the workflow states or the job that holds the file, or the folder that is created during the workflow to put in issued files. Thus entities hold rich data that can be accessed and used in many stages of the workflow.
Transitions - Moving from one state to another in a workflow is called a transition. The transitions are displayed with arrow marks in the workflow diagram. When you progress from state to state in a workflow, you can perform the following different actions.
Perform several activities on the transition — Activities are events that can happen when we move from one state to another. For instance, while moving from WIP to In Review state, you want to send an email to the Reviewer, or you want to create a review task for the Reviewer to work on. Thus, these are actions that need to be performed during a transition.
Capture additional data from the user — If you want the transition to capture any extra data such as name of the Reviewer or the date on which the workflow is being designed, you can capture these details as attributes, properties or associations.
Make the transition only available under certain conditions — These are the decisions an actor has to make while transiting from one state to another. For instance, you can have a condition that review is needed only if the file is from a job worth > $50,000. If this condition is not met, then the file can directly be issued. Thus, conditions help us decide which state to move to next.
Workflow Variables - When a workflow activity is run as the result of a transition or the evaluation of a condition, it gathers information about the current context. This information is made available to you as variables. The variables available entirely depend on where the workflow is being run from. Variables can be anything such as the following:
A job attribute
A task instance of a task type
A file attribute
A folder attribute
A 12d Model project
Variable Expressions - An expression is what helps you access and utilise variables and sub-variables from the data that is being moved through your workflow, such as a file name being utilised in the subject of an email, or adding the Reviewer’s initials to the file name after it is reviewed. These expressions are defined using { } curly brackets. The variable expression can also include constant content such as suffixing "_ reviewed" to the file name after the file has been reviewed. When the workflow is running, these expressions enable the workflow to decipher the value of that expression within the context of that workflow. For example, if you want the workflow to lock the file on which the workflow is running, then you have to enter {Entity} as the file that needs to be locked. This is because the entity in the context of this workflow is the file. So when the workflow progresses to the transition where it reads {Entity} as an input for locking a file, it will lock the file on which the workflow is running.
Another example that uses variables as well as sub variables is when you want to send an email that uses the file name in the subject of the email. You have to enter {Entity.Name} when defining the subject of the email. When the workflow processes this expression, the Entity here is the file for which the workflow is running and the Name is the name of the entity (which is the file). Thus the file name is added to the email’s subject.
12d Synergy helps you build these variable expressions using an Expression Builder.Triggers - Event based workflows are called triggers. To progress to the next state in a workflow, we generally update the attribute values and move on. However, say if you want to move to the next state only when a file is added to a new folder. Such scenarios are reactions to an activity and are called triggers. A trigger can initiate activities like send an email or create a folder. You can also specify conditions to trigger the defined activities.