There is monthly confidential data I want to collect from my firm's subsidiaries through a SharePoint list, directly connected to my workfiles (Excel, Power Bi and related PPT). The existing SharePoint structure is well-made, with one library for each subsidiary, I and my fellow group controllers have access to all and subsidiaries' controllers cannot access each others'. The latter regularly use it to drag-and-drop or modify documents. On an additionnal SharePoint (created for testing purposes), I created a list that is well connected to my workfiles. All good until now.

I would now like to create the same list on my working SharePoint in order to enable subsidiaries to fill in their data every month (maybe upon reception of an automated email). I saw that one cannot duplicate a list in each subsidiairy's library cause they're not regular documents, so want to create a "masterlist" that would spread accross the SharePoint accordingly with the audience structure.

So I guess what I want to do is pre-filter it by library so that when the local (say British) financial controller opens its SharePoint library every first business day of the month, he can see the list appear and just has to fill it without seeing the rows the German controller has filled one hour earlier on his own library, etc. Failing that, I would like for all to access the same masterlist but certain items would obviously have to be blackened depending on who's watching.

That while keeping connection to my workfiles and not suppressing historical data. The leading SharePoint developer in my firm doesn't know how to do it though he told me to explore the Webpart path, which I did but hasn't helped yet. My developing skills are close to 0, but with clear instructions I can get help. Do you think it can be done ?


Use the built-in Security Trimming

If you have properly segmented your users into SharePoint and/or Domain Groups the solution should be relatively straightforward.

It appears to me you have a development environment of some kind and at least one test account or a co-worker you’re testing with. And that you are not a beginner vis a vis SharePoint.

This is a little bit simplified, but accurate: In the SharePoint databases, each securable page element (or list/library item) has a security mask associated with it. Each user also has a security mask. With Each Pageload each of those securable page elements’ security are evaluated.

This security mask is exactly what it sounds like - a mask. If a user has the requisite permissions to at least view that item, the ‘mask’ is lifted - they can see that item. Otherwise, the item appears in the UI. If the user has a link, and does not have at least view access to the item, they will get the Request Access page for that item.

This concept is replicated completely throughout the SharePoint Farm. Search results are masked from the end user if they do not have the permissions at least view them.

In SharePoint world there is no ‘Deny’ security attribute, so if a user does not have any permissions to an object, it is the equivalent to a Deny: they need to request access.

Answer: Do Not be afraid of breaking permission inheritance - even at the file level. If you’re doing what I think you’re doing, you have source excel files feeding into at least one other excel file. This method may generate a sync error or something if your all your user segments have access to the top level consumer Excel file, but only their own viewable data will be present for them.

Here is a very simple example of what the implications of security trimming are:

  • User 1 has View Access to all 3 customer service sites
  • User 2 has View Access to the customer service site and the customer service records center
  • User 3 has view Access to only the Customer Service site and the Customer Service Department Site.

User 1: enter image description here User 2: enter image description here User 3: enter image description here

I hope this helps you.

  • Hello there, thanks very much for your detailed answer ! It may be straightforward (the fear of which long deterred me from asking on here in the first place) but as I don't have a lot of time today, as I want to do it right and English is not my first language (I'm French and yeah some of us don't take the whole of August off ;) ) I'll get back to it with a fresh head tomorrow. Will keep you posted on my progress. Cheers
    – gprad
    Aug 2 '18 at 13:53
  • No worries! Don’t forget to up vote and mark as an answer if it works! Aug 2 '18 at 14:02

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.