Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Excerpt
hiddentrue

How to require everyone to

Approve

approve, but only need one person to

Reject

reject

This example shows how to allow a single reviewer to Reject whilst requiring all reviewers to Approvedemonstrates a workflow configuration where a single reviewer can reject the document and complete the approval with a Rejected decision. However, for an Approved decision, all assigned reviewers must approve the document. This setup allows for efficient decision-making, ensuring that any reviewer can stop the approval process if they identify issues, while a unanimous agreement is required for full approval.

Content reviews will often mandate that require several reviewers agree – either to agree—either Approve or Reject – before —before the workflow transitions to another state.

However, in the case of Reject, it is often cumbersome to require everyone agree – if 's agreement. If there's something wrong with the content, it needs to be rejected regardless. It is, therefore, very common to set up reviews so that only a single Reject is required for a transition to occur.

Default approval functionality – everyone must agree

This workflow has three states – Editing, Review, and Published. The default review functionality is that requires everyone has to agree before a transition occurs.

Code Block
languagetextthemeRDark
{workflow:name=Slow rejection}
   {state:Editing|submit=Review}
   {state}
   {state:Review|approved=Published|rejected=Editing}
      {approval:Review|minimum=5}
   {state}
   {state:Published|final=true|updated=Editing}
   {state}
{workflow}

We've used the minimum=5 parameter; at least 5 reviewers must agree to Approve or Reject before the transition occurs. However, if the content needs further edits, that is the case regardless of the number of rejections – so let's make it transition as soon as the first rejection comes in.

Fast-tracked

...

rejection

A fast-tracked decision causing a transition can be achieved using a workflow trigger that includes a set-state action macro. You can see these at the end of the scriptworkflow markup below:

Code Block
languagetext
themeRDark
{workflow:name=Fast-tracked rejection}
   {state:Editing|submit=Review}
   {state}
   {state:Review|approved=Published|rejected=Editing}
      {approval:Review|minimum=5}
   {state}
   {state:Published|final=true|updated=Editing}
   {state}
   {trigger:pagerejected|approval=Review|partial=true}
      {set-state:Editing}
   {trigger}
{workflow}

Here's how it works:

The trigger listens for the pagerejected event

  • This

    this event happens when someone clicks the Reject button during a review

The page rejection we are listening for is constrained as follows:

  • approval=Review – specifies which review to monitor

  • partial=true – process each rejection as it happens

If the trigger requirements are met, the

...

set-state

...

action macro immediately transitions the workflow to the Editing state.

The result is that a single Reject will cause causes a transition to the Editing state, whereas at least five people need to Approve before a transition to the Published state occurs.

Fast-tracked approval

You can also use the partial=true to process each approval as it happens.

This may can be useful if you have a content review that allows multiple users to be assigned manually - but your practice and policy process at that milestone only requires a single approved decision.

...

In the above workflow popup for the Review state, all the assigned users would have to undertake the review and agree on the decision for a transition to occur.

We can fast-track the approved decision by adding a trigger for the pageapproved event and including partial=true.

Code Block
languagetextthemeRDark
{workflow:name=Fast-tracked content review}
   {state:Editing|submit=Review}
   {state}
   {state:Review|approved=Published|rejected=Editing}
      {approval:Review|assignable=true}
   {state}
   {state:Published|final=true|updated=Editing}
   {state}
   {trigger:pageapproved|approval=Review|partial=true}
      {set-state:Published}
   {trigger}
   {trigger:pagerejected|approval=Review|partial=true}
      {set-state:Editing}
   {trigger}
{workflow}

A single approved decision actions will be used to make the transition despite three users being assigned as reviewers.

...

The pageapproved event trigger event trigger, including the partial=true would also work even if

  • the reviewers were mandated to undertake the review

  • a minimum number of reviewers was required