Let's say we have two groups of users on our site: Writers and Editors. Our Writers group is responsible for creating site content, and our Editors group is responsible for managing a certain level quality assurance before the writers' changes "go live" on the site. We want to create a workflow that helps manage that process. It will ensure that our Editors review changes prior to publishing, and it will make sure they're aware whenever a change has been submitted and needs review.
By default, Concrete CMS will have no workflows installed. To get started, let's add one. Go to Dashboard > System & Settings > Permissions & Access > Workflows and click Add Workflow.
Give the workflow a name that represents the process you're building. We'll call this one Quality Assurance.
Then select the workflow's type. concrete includes one type of workflow, Basic Workflow. This is a single-step approval workflow. (Users of concrete's Enterprise Workflow product will be able to choose between the basic single-step workflow and more complicated, multi-step types.)
Add Approvers / Deniers
Once the workflow has been created, we can configure how we'd like it to behave. First, let's configure who has access to approve or deny changes submitted to this workflow. This will effectively give them access to publish or "make live" the changes on our site. Click the Edit Details button to continue.
We can select any combination of users, groups and group sets to include or expressly deny from accessing this step of our workflow.
Let's select a group named Editors that we've set up previously. This group will see what our Writers group changes, review these actions, and then approve or deny the changes. Just like in other interfaces affected by Advanced Permissions, we can select any Access Entity:
Now that we've granted Editors the ability to Approve or Deny changes in this workflow, they appear in our Workflow Access list:
Now let's set up some notification options. Since all of our Editors will likely want to know when something is in need of their attention, let's notify them whenever a new change enters the workflow, when a change is approved, and lastly, whenever a change is denied. We'll click each type of notification and pick Editors from the available Access Entities. Editors will now receive email notifications whenever these workflow actions take place.
Add Multiple Entities and Exclude Access
Perhaps another group, Managers, wants to receive notification emails for this workflow as well. So we'll add them to each of these items in the Workflow List.
Naturally, we can also exclude access to each item in our Workflow Access list. Let's say a member of our Editors group hasn't been making wise choices, and we want to revoke his privileges. We can exclude his individual user account without lockout out the other users in the same group. His username will show up in red on our Workflow Access list.
Now that we have our workflow created, we'll need to attach it to page permissions.