Friday, October 1, 2010

Configure Item Level Permissions for Document Libraries

Every once in a while your customer might ask you to customize permissions for a document library in such a way that authors can only change their own documents. There was no such feature for document libraries in SharePoint 2007, and the “problem” is still present in v2010. (Both versions support automatic item-level permissions OOTB for other lists like Tasks).

In this article we will examine how you can create a workflow that will customize item permissions for each document submitted to a document library (only the Author will have contribute permissions). These SharePoint Designer 2010 workflow activities can also be used in various workflow scenarios where permissions need to be revoked after an item is submitted (e.g. Annual Leave Requests, various approvals etc.).

Here is what you need to do:
- Create a new Document Library (e.g. Top Secret Documents)

- Go to Document Library Settings > Permissions for this document library

- Click on the Stop Inheriting Permissions command from the ribbon

- Revoke permissions for all but a few important groups (e.g. Portal Owners and Portal Members).
Please note: Steps 2. – 4- are optional but the workflow is going to be much simpler if there are fewer permissions to manage

- Open your site in SharePoint Designer, and select theWorkflows option and your list from the ribbon

- Type the name for the new workflow (e.g. Customize Permissions)
Insert a new Impersonation Step. This special step runs each activity as workflow author.

- Make sure the workflow author (you) has proper privileges to manage permissions for this list.

- From the list of workflow actions choose “Replace Item Permissions

- Click Replace these permissions

- In the dialog click Add

- In the Choose permission to grant dialog click Contribute, and then click the Choose… button

- Add User who created current item to the Selected users list

- Click the workflow name (e.g. “Customize Permissions”) to manage workflow settings

- Make sure you have selected the correct Start options

- Publish your workflow

Once a user adds a document to a document library this workflow will revoke permission from other users and grant contribute permissions to the document author.