SharePoint Tip of the Day: 1000 file limit in document libraries

Although I’m anti-folders and I like to use columns as a way to organize things – there is a limit to how many things you can put in a folder before SharePoint performance starts to degrade. I have always preferred 1000 although some say you can go as high as 2000 items per folder before you have issues.  There’s a good article on scaling the performance of SharePoint here.

You can have up to 5 million files comfortably in a document library – but you must use folders. You should set your views to show less than 2000 items. This can be difficult, but remember that your views don’t have to show folders. A flat view can allow you to use folders for organization but still display without folders when needed.

Also remember that you can turn on indexing to improve performance as well.

SharePoint Document Libraries: The Inside Scoop

Whenever people think about SharePoint, the first thing that comes to mind is document management. I can’t tell you how many times I meet people and they say “SharePoint yeah – isn’t that for managing documents?”. Technically this is true, but there’s so much more to it than that. However, since document management seems to be the first thing that people think of, I figured that I’d do a post about what you can do with SharePoint document libraries.

To start, this section is to answer anyone who prefers share drives over SharePoint document libraries. If you’ve worked with a large group of people using a share drive, you know that they quickly devolve into a myriad of folders, reports, photos, and randomly organized project folders. This isn’t a reflection on anyone’s poor organizational skill at all. After all, since you can’t see what is inside of a folder, until you open it – how can you possibly keep all sub folders organized? SharePoint has all of the solutions for this:
Columns:

Columns are a great feature of SharePoint. Since most people are guilty of tacking on names and letters to the end of a document to show who edited it last and what version it is – you will like this solution. A column is simply meta data that can be added onto any item in a list in SharePoint. In the case of a document library they come automatically with two columns: title and description. By default SharePoint keeps track of the creator, person that last modified, and when it was last modified – so there’s no reason to have special columns for that. However, despite these columns, you can add your own columns. For example, a notes column for members to leave notes to one another about the document. I often use a “type of resource” column to give people a chance to code the document. For example – you might want people to select if the document is minutes, agenda, report, or other. By doing this – with a view you can instantly see all documents coded as minutes, agendas , or reports ( even if they are in sub folders!).

Also important to note – the file name and the title of a document are two completely different things. You can have normal file names in SharePoint but have descriptive titles and descriptions columns. This makes it easier for people to see what files they are really looking at.

Views:

Views are available to all SharePoint lists, but they make the document library especially powerful. By using columns, you can create views based on those columns. For example, I may want to have a view that shows a user all documents that they have modified. I may want a view for all documents that are pending approval. I may want a view that shows all documents in alphabetical order and another one in chronological order from the time that they were created. Views allow you to take an entire set of documents and display them in different ways to different people.

Folders:

Yes folders still exist in SharePoint! You can combine them with columns as well. This means that you can have folders which are familiar to your users, but also use columns so that you can benefit from views. Here’s a little known fact: when setting up a view, you can actually specify whether folders should appear or be collapsed. This means that you can “hide” folders when you want to see all documents but also show folders, when you want to.

folder options in views
folder options in views

This is done when configuring a view. You simply scroll down to the folder section and select your choice. Show items inside folders will show your folders. Show all items without folders will hide your folders. Please note** In both cases, you will still be able to see the columns you’ve decided to show. Therefore you can have folders and columns in the same view.

Content Approval:

Sometimes you will want all of your team members to submit documents, but as a manager, you don’t want people to share those documents until you have reviewed and approved them. Content approval allows everyone to upload documents, but limits everyone else from seeing them until they are approved.

Versioning:

One of SharePoint’s strongest features is version control. Finally there is a way to create accountability and secure modifications to documents. The version feature in SharePoint is robust, giving you a wide range of options. With versioning you can ensure that no changes to documents are lost. This is great for collaboration. You can easily roll back to previous versions and even have users submit comments with each version. You can then scroll through the previous versions getting quick summaries of what comments were left with each copy. This allows multiple people to work on a single document without fear of anyone overwriting someone else’s work.

version options in sharepoint
version options in sharepoint

From the version options menu you can turn versioning on and off. You also have the option to determine how you want the versions to be logged. You can choose major and minor reviews. This is the difference between going 1, 2, 3, 4 etc in version numbers to 1.0 , 1.1 , 1.2, 2.0, 3.0, 3.1, 3.2….etc.

It’s important to determine how many versions you want to keep. It’s tempting to just keep it unlimited – but choose a realistic number. For example – will you need to roll back 45 versions of  a document? You can also select how many drafts to keep. Now I should clarify, the 1.1 , 1.2, 1.3 are all considered drafts. Major versions have whole numbers, 1.0, 2.0, 3.0 ….etc.

You can also determine who gets to see the draft items in the library. You can allow any user to see them, only their creators, or only people with approval rights.

You can require that documents be checked out before they are edited. But I’ll discuss that next.

Version control also gives a good measure of accountability. Not that we ever expect it, but version control keeps a footprint of every action , protecting you from someone who may maliciously  modify a file.

Check In / Check Out:

Check In / Check Out is a wonderful feature. This allows a team member to mark a document as “mine for editing” and it restricts anyone else from editing the document until they are done. When combined with versioning you get a very strong solution for collaborating on documents. While a document is checked out, other people can see the previous version, but they can’t make edits. They also can’t see the version that is being worked on. I highly recommend turning this feature on.

Templates:

So what if you are creating a library to hold a certain type of report? You may want users to first download a template and then start compiling their reports. With SharePoint you can actually set a template for a document library. This template could be, for example, a blank report that team members can use to fill out.

template options for a document library
template options for a document library

Under advanced settings, there are template options. You can simply click on the Edit Template link to customize this to whatever content you want. This is extremely useful because once this feature is set, when a user clicks “new” they will automatically get a document formatted with this template. You will have saved the step of having to first get the template document and then save it to the document library before they start working on the file.

Workspaces:

Document workspaces are mini sites designed to allow advanced collaboration on a document. While your IT policy may restrict this, because it can create a situation where you have thousands of miniature sites, the functionality is pretty cool.

Creating a document workspace menu options
Creating a document workspace menu options

You can access this by clicking the arrow in the menu box around your file name. Then you click on Send To and then Create Document Workspace.

This creates a sub site where you have the option to work on a document, assign tasks, manage links, view members of the workspace, and collaborate further.

Once you have finished your collaboration and finalized your document, you can send it back to your main team site. Just imagine the implications for business processes that require extensive revision of documents by multiple people!

Document Work Space Send Options
Document Work Space Send Options

Once the document has been finalized, simply open the document menu options, go to Send To and then Publish to Source and the document will be sent back to the main team site.

Workflows:

I won’t go too deep into workflows, but I’ll try to give a quick overview. Workflows are just AWESOME! They are a way to trigger actions in SharePoint when something happens. For example, what if you want three people to provide feedback on a document when it is uploaded? You could use a feedback workflow to manage this process. The workflow would notify people that they need to provide feedback, create a task in a task list asking for their review, send reminders when it isn’t completed on time, and notify you that all feedback has been received. Just for good measure, the workflow would automatically collate those responses and make them available instantly. That’s just one example of a workflow. You may want to route a report to multiple team sites when it has been approved. This can be done with a workflow as well. There are endless options when creating workflows.

Alerts:

Alerts are a quick and dirty way to get email notifications when something has changed in your document library. I’ll save the details for alerts for another day – but I will mention the following things:

  1. You can set alerts for yourself as well as for others.
  2. You can choose when to receive alerts (daily, weekly, instantly)
  3. You can choose what types of alerts you want to receive ( when something’s added, deleted, edited, or even if someone has done something to a document you created or modified)

Explorer View:

For those users who are still accustomed to viewing their documents like a windows folder, there is an explorer view option that is default. This will display your document library like a network folder. Here’s a great tip – when dumping large amounts of files into SharePoint or trying to move a large amount out – you can click and drag files in and out of the explorer view.

Recycle Bin:

Network drives do not have recycle bins. Therefore when you delete a file – it’s truly gone. Any good IT setup will have some kind of backup solution, but it’s costly to have to back up huge amounts of data to retrieve one file. SharePoint provides a recycle bin within the team site as well as an additional one in the Central Administration. By doing this, you can protect your content from being truly destroyed.

Advanced Permissions:

You have the option to really set your permissions in SharePoint to a granular level. You can limit the ability to upload, edit, read, approve, and delete files across the document library. With the new version of SharePoint (2007) you can also set granular item-level permissions. Therefore you set broad permissions for the entire library and then have different rules for individual documents. No share drive gives you that much control.

Warnings:

So I figured I’d give some tips  and point out pitfalls for good document library management.

  • The first is that there is a 1000 item limit in folders in document libraries.  This doesn’t mean that you can’t have over 1000 items in a folder, but that your document library performance will start to go quirky. If you are using columns, this should be a non issue. After all, you can create views where you hide the folders. So don’t be afraid to use folders, and keep the 1000 limit number in mind.
  • You should avoid crazy file names. The number one problem I’ve seen with people having issues with uploading files is that they put punctuation in file names. My advice is to never put punctuation in a file name. I’d stick to letters, numbers, spaces, and underscores.  SharePoint is web based so things like ampersands “&” can cause all kinds of havoc.
  • You should avoid long file names. Since SharePoint is web based there is a limit to the number of characters that a URL can have. Your file names fall into this category.
  • Avoid excessively deep folder structures. Your folder names fall into that character limit as well – so after a while, if you go willy nilly with your folder creation, SharePoint will start to tell you “No more folders!”. My advice has always been this – if you need more than 2 – 3 folder levels then you need multiple document libraries!
  • Always use titles and description fields – they make your document library easy to use.
  • When using the explorer view: If you have required fields your documents will automatically be checked out to you when you upload documents with the explorer view. To avoid this you should not make any fields required. If you must make them required, you should make a datasheet view that will allow users to quickly update the documents and check them back in. This problem can be a nuisance.

Final Thoughts:

Hopefully I’ve made a strong case for this – but I hope from reading this you can see why share drives are completely antiquated. By utilizing document libraries to their full capability, you can improve efficiency by providing team members with endless ways to find their resources. You can also create programmatic solutions for team members to collaborate effectively while preventing version control problems, unwanted loss of information and accountability. You also have ways to organize information in ways that no folder structure on a share drive could ever do!

Building a tracking system in SharePoint

Today I did something kind of cool! I’ve been tasked with overseeing the printing of a range of documents. I’ve created a document library for clients to upload the files. I wanted a way to create an interface so that the team could go in and see all of the uploaded documents, the status of the documents , the number that were printed, and any notes. I created a view with the following settings for the document library :

Columns

  • Notes(Text field )
  • Quantity Printed (Number)
  • Document Name
  • Printed Status ( Choice of Printed, Not Printed, and In Progress)

All of these columns are set to visible in this view.

Grouping :

I set the view to group the documents by their printed status. By doing this – unprinted documents appeared first. Then you had a group of pending documents and a group of printed documents.

Totals:

With the grouping, I added the totals – using the quantity printed field. This gives an instant snapshot of how many copies of each document were printed. It also gives a grand total of the number of documents printed.  **Note** you have to use the SUM option to get the total for this.

Style:

Finally I set the style to be shaded. I’ve always liked that because it is much easier on the eye.

Item Limit:

Finally – I made the mistake of setting an item limit that was too low. If it’s too low, it will appear as if some documents are just missing. When in doubt – set it to batches of 100.

ALL DONE! So by implementing these few steps, I quickly had a solution for tracking and displaying the status of documents in a large print job.