2

I have several user groups such as

X1_userGroup
X2_userGroup 
X3_userGroup

and in my SharePoint list I have several columns, two of the important one are:

Asset_type, Code
X1        ,1
X2        ,1
X3        ,2
X3        ,1

I need to set up permissions for these three user groups as follows:

When asset_type==X1, then only rows with Asset_type=X1 can be viewed and edited by X1_userGroup
When asset_type==X2, then only rows with Asset_type=X2 can be viewed by X2_userGroup
When asset_type==X3 and Code==2, then only rows with Asset_type=X3 and Code=2 can be viewed and edited by X3_userGroup
When asset_type==X3 and Code==1, then only rows with Asset_type=X3 and Code=1 can be viewed and edited by X2_userGroup

Is it possible to implement these types of permissions for a SharePoint list or I have to create multiple lists and then merge/split them by C# code (or SSIS)? I have heard that I can also use JavaScript code but I am not sure how.

I have found this link: https://truapps.portalfront.com/how-toset-sharepoint-item-level-permissions-based-on-column-or-field-values.html

but I cannot use third-party tools, and SharePoint designer 2013 throws an error as follows: server side activities have been updated you need to restart sharepoint designer I have tried this approach error: server side activities have been updated you need to restart sharepoint designer, but did not solve the issue.

I cannot use @Danny '365CSI' Engelman 's answer here:Item permissions based on field as I need to populate this list and users are not creators.

Not sure about a content query approach,

and what about this approach? Formatting multiple values in people and group fields on SharePoint Online with JSON

If there is a solution, I appreciate it if you could provide step by step guide, as I am not an experienced SharePoint developer.

2 Answers 2

2

The first approach in your link could work, you only need to download SharePoint Designer from Microsoft to your computer to set that up. That is a legacy workflow.

In Power Automate it is not possible to do this directly unless you also set up an Azure Function to handle setting item level permissions.

I included the word directly because there might be another way to solve this using a Flow:

  1. You have your master list, with limited access (only power users / admins)
  2. Set up three other lists, corresponding to your user groups
  3. Set up a flow that creates copies of the items to the lists when new items are added to the master list

If the items in your list are updated, you should also implement logic to handle that...

Example: enter image description here

There are other approaches as well, but they would require custom coding..

3
  • Thanks @Rune , a great idea, I liked it and it is very helpful, upvoted (+1), if you would not mind I will wait a few other days and then accept the best answer, thanks a lot Commented Mar 16, 2020 at 20:06
  • I also need another flow to merge those ones into the master list, right? Commented Mar 16, 2020 at 20:08
  • 1
    Depending on what the master is. I see my wording on step 3 wad wrong, will update. If the users are to edit the items then you will need additional flows to update the master list as well. Commented Mar 16, 2020 at 20:30
0

In addition to Rune answer (appreciate that), I have found another way to accomplish this in a more practical way as demonstrated here: Is there a way to stop editing an item when the approval status is pending in SP online list?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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