Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I've got a SharePoint document library with a folder structure as follows:

The library is called Customers. Inside of this library, there are about 150 folders for each of our different customers. Within each customer folder, there are several uniform folders such as CustomerInfo, Contacts, Billing, etc. I want to make it so that the users of the site are able to create new folders directly inside each Customer's top level folder, but not delete any of the uniform folders that we have created. They should not be able to add/delete Customers to the document library, but should be able to have 'full control' once they are below each individual Customer's top level folder.

Is there a way to do this for the entire document library at once, and for all future additions to the library? The permissions need to be unique based on how many folders "deep" you are.

Thank you

share|improve this question

3 Answers 3

If you have access to Visual Studio to create a proper .WSP solution, I think there's another way to architect a solution for your current problem. This is expanding on @Alex Choroshin's suggestion.

In this approach, instead of putting all documents in one giant 'Customers' library, I'm suggesting creating a re-usable library template with your desired subdirectories: CustomerInfo, Billing, Contacts.

So, for each customer, you spawn a separate library.. not a generic SharePoint document library, but a specialized library based on the template you design. Part of the design of your .WSP solution will be to create a ListAdded event receiver (SPListEventReceiver) which listens for this type of library to be created.

So, in the event receiver that runs for each new customer library instance you spawn.. here you can ensure the initial items in the library are created (which, in this case, the only items would be default subfolders) and that they have the desired Item Level permissions set on them.

share|improve this answer
    
If you don't have access to code it up in Visual Studio, here's a walkthrough of editing item-level permissions via SharePoint Designer workflow: c-sharpcorner.com/UploadFile/Roji.Joy/… –  bkwdesign Jan 10 '13 at 19:04

Well, I am not sure how to answer specifically about the permissions at different levels. Here's how I would architect your solution:

For the non-delete folders, instead add a new metadata column to your library, you might start with a pre-existing Site Column like 'Category' and add these choices to it: CustomerInfo Contacts Billing

You could then choose to modify the view of the library to Group By 'Category' to get you some of the folder-like UI behavior where users have to toggle open the 'CustomerInfo' group node to see the documents associated with that category.

I know that is a pain or sub-optimial if your users have a process that requires the file system and need to be able to drop physical files into physical folders they can 'see' via ye olde Windows Explorer.


As I re-read your question, a more complete answer would be to also add another meta-data column like 'Customer'. You could still do a groupby view that is first grouped by customer then by 'Category'.

share|improve this answer
    
The beauty of associating metadata columns with document libraries is that you can create views that were not before possible with a traditional file system approach. For example, you could have one GroupBy view that starts with the Category and then the Customer and a separate view that is grouped first by Customer, then by Category. You can also use the column headers to do on-the-fly filtering if you need to quickly filter the library for a given customer, or you can keep adding customer-specific view URLs that you then track in a separate Links list to give that drill-down feeling –  bkwdesign Jan 9 '13 at 17:25
    
My users need to be able to use "Windows Explorer mode" with SharePoint, for reasons I won't bore you with. Would using explorer mode make metadata useless for what I'm doing, or is it somehow compatible? –  ben Jan 9 '13 at 18:50
    
well, as in many companies where SharePoint is the 'new kid on the block' (mine included), there are a thousand battles like this to fight until people 'get it'. You're definitely attempting to fit a square peg in a round hole at the moment. Not trying to be snarky.. but, is there any benefit to even having all this stuff in SP at the moment? –  bkwdesign Jan 9 '13 at 20:07
    
I am not the one who decides what media we use - simply the one carrying it out. My company wants to use it for the file versioning support, intuitive layout, and various security settings. Assuming that this is going to be the way we do things, would metadata not be very compatible with Windows Explorer Mode? We would like to give users the option to use that instead of the browser interface, if they so choose. –  ben Jan 9 '13 at 20:13
    
Metadata is simply not visible in the Windows Explorer. With Windows Explorer, for organizing files: you are stuck with nesting things in folders as a means for categorization/organization. If users adapt to the SharePoint interface, files don't have to be hidden, but can rather live in a more flattened, discoverable mode. Discreet subsets of files get brought to the surface by use of the column-head filters or through explicit views that you create (where the views query any kind of meta column you've decided to attach to the library) Apologies if I'm over-explaining basic SP feature set. –  bkwdesign Jan 10 '13 at 18:34

I don't think you have an OOTB support for this kind of scenario.
My suggestion is to create an item event receiver for your document library, and enforce this behavior programmatically based on your business logic.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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