I have a list with a lookup-column linked to another list (with items like 'Car', 'Plane', 'Train'). A simple content approval is enabled (List Settings -> Versioning Settings). Currently there is only one group of approvers.

Now I want to define groups with different approval rights. So car-approvers shall only be responsible for items with 'car' and so on.

I have never worked with workflow-settings, but I suppose this is a good task to start with it. Is there any way to solve this without Sharepoint Designer? If not, how can I implement it with the Designer?


For your situation, you can create a workflow for handling item level permissions. In the workflow, you can check the lookup column value, break the permissions of that item and assign it to the respective groups. You will need an impersonation step in 2010 for handling item level permissions. For more information, see: http://www.sharepointbriefing.com/spcode/article.php/3911751/Implementing-ItemLevel-Security-in-SharePoint-2010-and-2007.htm

| improve this answer | |
  • Thanks for your help! I do not have access to SPD yet, so the second part of the tutorial is not completly clear to me. With the impersonation step I can remove all approve-permissions of every item in the first step and can then add selective permissions to the relevant groups in the second step? – wheeler Jul 29 '15 at 7:09
  • 1
    @wheeler, Yes, that is correct. But if there are items already existing in the list, you'll have to run this workflow for every item either manually or using a script. It won't work for existing items (unless they are modified and workflow running on modified items setting is checked) but it'll work for items created henceforth. – Akhoy Jul 29 '15 at 7:16
  • Alrighty! The site is currently only filled with test items, so that won't be a problem. :) – wheeler Jul 29 '15 at 7:24

Although uberz91's solution should work fine, I came up with something different, because the use of SPD is restricted in many companys. My solution is a bit fiddly and may not work for everyone, but there is no coding or SPD required. :)

I created several content types and added a custom approval workflow to every content type. For every available value in the triggering column (car, plane, train), a content type is created. Each content type workflow triggers a different group of users.

One problem of this idea: The content types have to be chosen through the dropdown menu in the list. There has to be a default content type, which is chosen by the click on "Add a new item". I avoided this by displaying my list in a web part with a toolbar. Next to the web part I created links, which launch the different content type templates (I found this tutorial useful). Essentially I am bringing forward the selection between car, plane, train etc.. Instead of being a choice within the template, the choice is made before the template is opened.

Another problem: As I needed the car-plane-train-column as a meta tag inside the list and you can not refer to content types in calculation columns, I just fill this column with a conditional default value according to the content type. Every content type has its own template/form with a different default value for that column/meta tag. The text field can be disabled or hidden with Infopath, I decided to show the disabled field to remind the user that a value was already chosen.

A global approval status can then be set, by updating the Content Approval with the Approval Workflow (as discussed here).

Again, it's fiddly and far from perfect, but maybe this may help others with restrictions on SharePoint Designer, too. :)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.