Wednesday, July 21, 2010

SharePoint Designer Workflow Errors

If you've ever tried to debug a problematic SharePoint work flow, you know it's not a simple, clear cut process. Recently I had a workflow that was designed to strip and reset permissions on documents checked into a document library. The idea was that the creator of the document, and members of a SharePoint group would be granted access to the document, while all others would not be able to see it. In most instances, the workflow executed properly; but in some cases, it would throw an error leaving the document visible to all users.

I began troubleshooting the issue by removing all the steps in the workflow, then adding them back in, one at a time, executing the workflow after each step was added back in. It was then that I realized that the issue involved setting permissions with multiple, nested groups.

The work flow consisted of three steps:
  1. Strip permissions from the document for all users
  2. Grant Contribute permissions to the document creator
  3. Grant Contribute permissions to the "Document Reviewers" group

If I created and submitted a document, the workflow failed. If a different user created the document, it worked fine. It was then that I realized that, since I was a member of the "Document Reviewers" group, as well as the creator of the document, it was trying to grant access to me after I had already been granted access.

Once I removed myself from the group, it worked fine. The workflow would also execute fine when a user who was not a member of the group submitted a document.

If you experience errors with workflows that assign or strip user permissions, look into the composition of the group. That may hold the key to your errors.