Tuesday 13 October 2009

Approval workflows: approval by any approver

Configuring an approval workflow to request approval from a group of approvers and deem the workflow complete after any single person has completed their approval task is trivial but it's not that obvious. I certainly missed it on my first pass through today!

The Assign tasks to radio button options on the workflow customisation page focuses on the parallel versus serial distinction. If you've got multiple people configured as approvers, you're either assigning tasks to everyone in the list or you're assigning tasks sequentially to everyone in the list; in both cases every approver has to complete their task before the workflow is deemed complete.

In the past, we've noticed a behaviour where approving a page doesn't seem to do anything—the page status stubbornly remains as Waiting for approval no matter how many times or how many different ways you attempt to approve the page and the fact that you’re a site collection administrator web application administrator, and farm administrator makes no difference!  (Without email configured on the server and perhaps some SSPs bits in place, as was the situation in our case, no one will ever know additional input is required unless you're checking the workflow status). In all likelihood, the root cause of this "problem" was an approval pending completion by virtue of being assigned to twenty people. Doh!

But I digress. Adding approvers to a dedicated Approvers group is the logical thing to do in most cases to simplify approver management. Instead of changing multiple workflows as employees come and go, it's much easier to manage a SharePoint group or an AD group. Selecting the approvers list is easy but how do you get the "any approver" bit happening?

The answer lies in the check box directly below the Approvers selection input field: Assign a single task to each group entered (Do not expand groups). Think about it long enough and it actually starts to make sense—only one approver needs to complete their task before the workflow is deemed complete, or to paraphrase: “assign the task to the Approvers group and no one person in particular.” This option isn't selected by default so select it and you're golden.

SharePoint Approval Workflow - Any Approver

3 comments:

  1. Have you had any luck with OOTB Serial Approval.

    I created a Serial Workflow and all was working great, except when I use "All Site Content" (_layouts/viewlsts.aspx) and as the first approver, I click Approve/Reject, I click Approved, MOSS warns me that: "A content approval workflow is currently running to approve this item. If you continue this action, you will cancel the workflow." and when I click OK the page is approved without following the original workflow process, and sent to the second approver as it normally does if you use the workflow just on the pages, and not the "All Site Content."

    ReplyDelete
  2. @Anonymous - can't say I've come across that particular issue myself and I haven't used the serial workflow extensively. Have you determined whether you've actually got any existing workflows running on the item in question before clicking Approve/Reject? It makes sense the first workflow would be cancelled if you're starting a second but the approval sounds dodgy--double-check your workflow settings?

    ReplyDelete
  3. Nice. I know this is an old post, but I hadn't had the problem until now. An approval group. Brilliant. Only my HR wants the managers name on the approval so I may have to use a version of his name for the group name. Thanks.

    ReplyDelete

Spam comments will be deleted

Note: only a member of this blog may post a comment.