How To Automatically Changing Permissions in a Doc Lib

Or, how do you get Item-Level Permissions settings for a document library?

This frequently comes up for me with InfoPath forms libraries. For example, you are automating an HR performance review process with SharePoint workflow and InfoPath forms. Reviewers will go to a SharePoint form library, click New and fill out a performance review form for a coworker. User must be able to only see their forms. And managers must be able to see the forms for their direct reports.

If you look at the Advanced Settings for a SharePoint list (e.g. a Task list or custom list), you will see these options:

ItemLevelPermissions

This looks like exactly what you want. However, if you look at the Advanced Settings for a document library, there are no such settings.

Fortunately, there is a codeplex solution: Change item’s permissions on creation. I really like this implementation because it is an Information Management policy. I started looking into implementation a solution myself and the tricky part started to be: how is a user going to specify the document library. Using an Information Management policy is perfect because it uses an existing mechanism for making library-wide settings.