Breaking up with Folders

One of the most minor but regular annoyances within SharePoint is this:checkbox

This is an option being set to “Yes” by default is normally the cause of a lot of misery for anyone managing a SharePoint site.There are a million and one blogs written about why you shouldn’t use folders in SharePoint, outlining a lot of valid points. While I’m not sure I completely agree with removing them entirely, it’s worth understanding why you should or should not use them.

Why do people use folders?

People use folders because they have always used them. The concept of a folder structure is easy to understand. In the words of a former coworker, “you don’t have to think about it, you can just drag and drop”.

Why are they a bad idea?

Of course, you “don’t have to think about” the funny sound your car is making… right up until your engine explodes.

There are plenty of lists online that give specific technical reasons to avoid lists, so I’m going to stick to why they cause problems for an end user.

Folders should be used to group files, not categorise them. However, the majority of the time they are used for both.

Here’s an example that I have seen of this: a company stores all of their documents related to projects in a single document library. It has the following folder structure (excuse the terrible drawings, graphics are not my strong point):

filestruct

In this we see a great example of a bad folder and a potentially good (well, “okay”) folder.

Bad Folders

The “Project Phase” level of folders is everything that is wrong with using folders in SharePoint. There are 4 folders at this level (Not Started, In Progress, Complete, On Hold). Obviously, this will change through the lifecycle of a project. This means that everytime the phase of a project changes, you need to move the project folder out of one Phase folder and into another. This causes a number of problems:

  1. It changes the URL of the documents, breaking any links currently being used.
  2. It is awkward. Because folders aren’t designed for moving data in this way, there is no easy way to do it, forcing you to cut and paste or click and drag across different file explorer windows.
  3. It is slow. Moving a folder full of files can take a long time depending on file size and connection speed.

“Okay” Folders

While many people would probably debate this with me, I think the folder for each Project is acceptable in this type of structure:

filestructnew

Now, these may be better suited to an individual document library for each project, the folder is still doing what it is meant to; grouping files. It is unlikely that a file would be moved from one project to another. The only major issue you would see here is that permissions may become hard to manage if each project has different people accessing files. But if that isn’t a concern then this setup isn’t too bad.

Improving things with Site Content Types

So you like the idea of using an “okay” folder, but you still want to categorise your data. What’s the solution?

Probably the quickest and easiest way is to have a metadata column called “Phase” on each file. This way, you can bulk edit the value when the phase and you’re done. No need to click and drag, move files or wait around for a file transfer. It would also allow you to sort and filter on a specific, something that is lost with folders.

However, this doesn’t really make sense. The document itself doesn’t have a phase, the folder it belongs to does, so really it should be the folder storing this info. Well… that’s where Site Content Types become useful.

Site content types are incredibly underused in SharePoint. Many people spend a lot of time and energy trying to fix a problem that has already been handled by simply using a different content type.

The one to look at here is the Document Set content type. This content type is great for the above example. By default, when you create a document set, you give it a name and description.

docset

You will then be given a much cleaner view to handle documents in the set, along with a new “Manage” ribbon that lets you control permissions and edit properties.

docview

What we can do now is either copy this content type or modify the existing document set content type to allow for Project Phase. This is basically the same as editing any other custom list column. Go to Site Settings -> Document Set -> Add from new site column. You can then update the column to include whatever data you need.

docphase2

Now when you open each document set and edit the properties, you have the option to edit the phase of each set.

docphase

So before you rush to create a folder ask yourself: does it accomplish what it needs to? Put some thought into this and I guarantee you it will save you a lot of headaches in the future.

Author: Ian Jones, Software Developer, Aspira.

Share