Add parallel approvals in a state

Overview

You can add multiple reviews in a single content review state, assign different reviewers, set the minimum number of reviewers for each review, and also add dependencies between reviews.

Parallel reviews

To add multiple reviews, put more than one approval macro into a state macro body.

For example, to create three reviews Grammar, Design, and Technical, the following markup is used:

{workflow:name=Parallel review} {state:Editing|submit=Sign-off Review} {state} {state:Sign-off Review|approved=Published|rejected=Editing} {approval:Technical} {approval:Grammar} {approval:Design} {state} {state:Published} {state} {workflow}

This can also be done in the workflow builder.

 

cdmdc_wf_builder_sign-offreview_3_approvals_parallelreviews.png

The initial order of the reviews in the workflow popup on the page is the order in which the approval macros have been defined in the state. 

 

Each of these reviews can be done in parallel; currently, with no pre-assignment of reviewers and no minimum number of approvals set, only one reviewer is required to complete each one.

As soon as all the reviews agree to Approve or Reject, the transition to the relevant workflow state will occur.

Reviewer settings

Each of the approval macros can use all the same features you'd expect from a basic content review. So, let's add some additional requirements on who can review and how many reviewers are required:

{workflow:name=Parallel review} {state:Editing|submit=Sign-off Review} {state} {state:Sign-off Review|approved=Published|rejected=Editing} {approval:Technical|user=&adam,matilde,suni} {approval:Grammar|group=project-quality-leads|minimum=2} {approval:Design|assignable=true} {state} {state:Published} {state} {workflow}

Grammar review - reviewer settings

We've used the group parameter to limit the Grammar review to members of the project-quality-leads Confluence user group.

We've used the minimum parameter (Minimum approvals in workflowbuilder) to indicate that at least 2 people from this group are required to complete the review.

The Approve and Reject buttons are disabled for users who are not members of the project-quality-leads Confluence user group.

What happens if the transition has not yet taken place and a user who is a member of the project-quality-leads Confluence user group chooses to Reject the content?

Any previous reviewer Approve decisions are removed, and the popup only displays the Reject decision.

The Design review has been reset except for the new reject decision. The Reject decision can be by any user who is a member of project-quality-leads including those who have not yet undertaken the review.

The Approve and Reject decisions are recorded in the page activity report.

Technical review - reviewer settings

For the Technical review, we've used the user parameter to name three individuals who are allowed to perform that review.

The addition of the & operator before the first user in the list means that all the listed users are required to undertake the review. This adds the user avatars to the workflow popup.

If the & operator is not present and there are no other settings, only one of them would need to complete the review, but any of them could still review the content if they wanted to. Note that as the reviewers are not mandated to undertake the review (as the & operator is not present) the popup will not display the user avatars.

Design review - reviewer settings

For the Design review, we've used the assignable=true parameter to allow any Confluence user (members of the confluence-users user group) to be added to the review.

As you can see, the + Add reviewer link is added next to the Approve/Reject buttons.

Review dependencies and sequencing the reviews

There is often an order in which reviews must be performed, either due to process or compliance reasons or simply to minimize reviewer workload. For example, you might want to delay the Design review until the Technical review is complete, as any technical errors in the content would likely need fixing prior to the Design review.

 

To achieve this, we can add the hasapproval condition to the Design approval, like so:

{workflow:name=Parallel review} {state:Editing|submit=Sign-off Review} {state} {state:Sign-off Review|approved=Published|rejected=Editing} {approval:Technical|user=&adam,matilde,suni} {approval:Grammar|group=project-quality-leads|minimum=2} {approval:Design|assignable=true|hasapproval=Technical} {state} {state:Published} {state} {workflow}

 

Now, if someone selects the Design review prior to the Technical review being completed, they'll see the Approve/Reject buttons are disabled:

However, the ability to add reviewers is still available so you don't have to wait for the Technical review to finish to specify who should participate in the Design review.

Review display order

Reviews will be listed based on the order of the approval macros in your workflow markup, even if some reviews are dependent on other reviews (our Design review is dependent on the Technical review). Assigning a reviewer has no effect on the display order:

See also

Workflow Authoring Guide:

User Guide: