1

how can I do list with about 16000 items, which can view and edit only about 2500 users (every only its items, so about 6...). It would be based on column with user number. I found for example this article https://www.portalfronthosting.com/blog/sharepoint-item-permissions-based-on-column-value, but every solutions says, that i have to do about 2500 different adjustments (folders, workflow conditions)

So I would like to do it programatically (http://sharepoint.infoyen.com/2012/03/13/setting-list-item-permissions-programatically-in-sharepoint/). All the items have the same permissions, but script compares logged in user with specific column and hide/disable items where it won´t be his number. I don´t want to set permission to items individually (due to workflow) because it become very slow:(

2 Answers 2

3

You can change the Created By field to the correct user with any script (CSOM, PowerShell, JSOM)

You can tthen use:

Item Level Security can be set on LISTs (List Settings -> Advanced Settings)

As SharePoint is primarily used as a DMS and setting this on (large) Document Libraries can cause performance issues it was most likely removed from the UI.

Using PowerShell you can set this on Document Libraries also:

$spList.ReadSecurity=2 
# 1=read all items
# 2=read items created by user

$spList.WriteSecurity=4 
# 1=Create and edit All items
# 2=Create items and edit items that were created by the user
# 4=None

$spList.Update()
2
  • Thanks for answer, I know this settings but it means, that only one user can read and edit his items. Or field Created By can contain more users or even groups?
    – Zbyna
    Commented Jan 5, 2016 at 7:03
  • Created By can have only one account... although.. I never tried it.. you can also assign Site Collection Group IDs... but I would be (pleasantly) surprised if that would allow Group members access Commented Jan 5, 2016 at 9:47
0

Here is something you can try without the need to set item level permissions

  1. Enabled audience targeting on the list using list settings

  2. Use a content query webpart to get items from the list and by filtering the content using audience targeting

0

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.