I have a library containing 10000 items. It has a field called "Share" with values "Yes" and "No".

There is a user group with whom I want to share those items in this library which has "Yes" in their "Share" field. This user group has no access to any area of site not even READ access.

  1. Cannot create a view because you cannot assign groups to views
  2. Cannot assign individual item permission because those items are around 5000+ which will be cumbersome. Besides every time a new document is uploaded, I will have to manually assign permission on that item.

I am thinking of creating a web part which will fetch only those items using CAML. Add this web part in a page and give access of that page only to that user group. Is there is a better approach to do this?

2 Answers 2


So, first off, yikes. My first question to a situation like that will always be, "Do we actually need a single library with that many things inside of it? If so, why?"

Now, to the problem at hand. Why have it all in a single library? Why not create a second library and set permissions to grant read access to your read user group on that library?

You could easily set a workflow where when one of your... writers? Editors? Indicates a given file in the unshared library is ready for general consumption (i.e., flips the Share switch to Yes), it copies it to the other library.

  • It's an already running application so I cannot do anything number of items in library. I have to use it as it is. Commented Jul 26, 2015 at 14:14

1 - Create a List View 2 - Create a page and insert a list webpart 3 - Edit the webpart and point to created view 3 - Grant the permission to the page

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.