Flowcharts - In Detail
Go with the flow - Example of Flowchart in a Workflow scenario
How do I design and deploy the Workflow using a Flowchart?
Superuser (or any role with permissions to configure workflows) defines the Workflow type with relevant Statuses, relevant Fields and Flowchart
Test the workflow as a Beta user - You can toggle certain users from the Edit User form as Beta User
Give required permissions to User roles
Deploy to Live/Production - Now, the workflow is available for applicable User roles when they log into their accounts on Desktop and/or Mobile application
For e.g., User logs in on Mobile app > User hits Add Workflow > Selects Member/Group (if applicable) and sets Due Date > Starts the workflow > Workflow executes as configured in the flowchart
Define a Workflow Type
Assume that we are creating an independent/unaffiliated workflow type. Basically, it means that this workflow doesn't use (or need) any Member data to get executed. For example, a simple survey of your users. Please refer to the Configuration Manual page if you are a bit fuzzy about the concepts.
As shown below, this Workflow is named My Survey, belongs to a Project called My Survey Project, Affiliation = None, has 2 Statuses namely Open and Closed and has some Customfields defined which we plan to collect. Towards the bottom-center of the screen you will see a Go to Flowchart button. This is where the actual form is designed which is eventually deployed to the user.
☞ Context is important when designing a Workflow. If it is a workflow which is unaffiliated, you have access to the current User's data w.r.t Members, Groups, Workflows and some User attributes. If it is a workflow which is affiliated to a Member type, then User must select a specific Member for whom this Workflow will be executed. Auto-magically, this workflow has access to data of that Member and also becomes a transaction in that Member's history. Same is the case with Group type affiliated workflow.
☞ Workflow is added/executed from the user's context. So, a user who has permissions to execute a certain workflow can execute it ONLY for the Members and Groups (in case of affiliated workflows) assigned to him/her via the Location. Please refer to the Configuration Manual page if you are a bit fuzzy about how User and Location are connected.
Go to Flowchart
By default, you will land in the Test section of the Flowchart. This is where you want to make changes and test with marked Beta users (toggle in Add/Edit User form) until you are ready to deploy to a wider set of production users.
When you are ready to publish to production, click on Publish to Live button. The Live section is not editable and is a view only page. On the Beta section, you will see a left hand side panel of Pieces which are programming pieces available for designing the Workflow.
First piece of a workflow is always a Start piece, which is added by default to every flowchart. Application looks for pieces under this Start piece to execute the workflow in the User's mobile or desktop application. Any piece detached from the pieces connected under Start pieces are ignored.
Given below is an example of an Unaffiliated workflow's flowchart. This is continuing from the Go to Flowchart in image above. Explained are various sections of the Flowchart design page.
Is there a method to this piece-ful madness?
Like mentioned before, workflows always start with the Start piece. Once you start the execution of the workflow on the Desktop or Mobile application, it always starts with first defined non-terminal Status (by the visible order) and the Due date set to TODAY + Due in Days defined for the first defined Status. In the example above, there is only one non-terminal status which is called Open and it uses that as the starting status of the Workflow for the user.
Workflows must be closed with an End piece and one of the Closed statuses. So, in toto, Workflow flowcharts follow the structure:
Step 1 piece/s
Step 2 piece/s
Step 3 piece/s
End piece with CLOSED status and MESSAGE
Show me how it looks when you build a flowchart
Its a simple search, pick and fit a piece as shown in the video below.
Here is an example of how a survey is set up from scratch