Recently, I was asked to summarize my top 10 best practices for document libraries. Anyone who knows me knows that I can be verbose, so summarizing is not easy! Plus, there are probably 15 to 20 best practices. See, I'm already digressing. So, I'm rising to the challenge and trying to summarize in one page the 10 most important things you need to know about implementing SharePoint document libraries correctly. These aren't in order of importance—they're all important! And, unfortunately, as often is the case, the default configuration of an out-of-box document library is rarely going to meet your needs—you really have to make changes! What didn't make the Top 10 list that you can think of? Let me know at firstname.lastname@example.org.
These are the things you really must do for every document library:
- Require Check Out on any document library where multiple users might make changes.
- Check out is supported by, but not enforced on, document libraries unless you make it that way!
- Add the Checked Out By column to the default view of the library.
- That way users can see easily who has a document checked out. If you hover over the Checked Out icon, it tells you in a tip, but that's not exactly a "discoverable" little gem.
- Train users how to check out, check in, and discard check out.
- Be sure they understand that the changes they make can't be seen by other users until checked in.
- Do they understand the purpose of Keep document checked out after checking in? They check in the document to make their changes visible, but maintain an editorial lock to make more changes.
- If there is a required column (property/attribute/metadata) that's blank, the document can't be checked in. Train users how to deal with this. This is particularly challenging if you're using Internet Explorer (IE) to upload documents. You can upload them, but they won't be visible to others until checked in, and they can't be checked in until required columns are complete. So after uploading, open the SharePoint document library in IE and fill in those columns! What solutions have YOU found in your organization to this problem? I've yet to uncover a really great answer. DO YOU HAVE ONE?
- Create a permission level that gives someone the Override Checkout permission.
- Take the burden off of yourself and your IT team to check documents in when users forget to do so before going on vacation.
- Train your "check in managers" and your users so that they know what it means when a document has been checked in "on behalf" of someone else. If that someone else was using Microsoft Office 2007's SharePoint Drafts folder, there are likely to be changes in the local copy of the document that were not included when the document was checked in. At some point, the two versions (the server's copy and the user's local copy) will need to be reconciled.
- Decide whether to use versioning.
- If you want to restrict who can see drafts, use minor versions. Most of the time your processes will require that. If not, there's no real point in using minor versions.
- If you're using versioning, set retention limits.
- By default, SharePoint keeps all versions, and these aren't bitwise differential versions—they're the full version. With large documents, even a small but active library can eat up your database in a hurry!
- Configure views that will help users navigate libraries effectively and find the documents they require.
- Use folders only if you need to scope unique permissions on documents or if you need to make a subset of documents easily offline-able by Microsoft Outlook.
- If your library has more than 2,000 items, be sure you remove the out-of-the-box default view, which shows all items. Add views with filters so that no view returns more than 2,000 items. Paging and grouping doesn't count. You must use a filter. (BTW, in its sneak peek of SharePoint 2010, Microsoft announced that SharePoint 2010 will have large-list support, so this won't need to be done much longer.)
Then there are things that take a bit more time and configuration but really pay off:
- Create content types for documents that belong in a library, and upload a template for that document into the content type. Users can then click the NEW button on the library, choose the document type, and a new document with the right template appears.
- Push navigation aids to users: Add Favorites to users' Internet Explorer (Group Policy Shortcut Preferences) and Network Places (XP) or Network Locations (Vista), which can be created by an administrator (separately for XP and Vista), uploaded to file shares, then distributed by copying into users' systems (%userprofile%\nethood in XP and %appdata%\Microsoft\Windows\Network Shortcuts in Vista).
- Integrate custom columns (metadata) into Microsoft Word 2007 documents using Quick Parts. You can "link" content in your document with SharePoint metadata.
If you want more detail about any of these best practices, see these resources:
- The Office & SharePoint Pro website. I've written detailed columns on most of these practices over the past three years.
- The book Windows Administration Resource Kit by yours truly. Chapter 4 has tons of detail about SharePoint document libraries. The rest of the book is a gold mine for anyone who administers a Windows and Active Directory (AD) enterprise.
And speaking of best practices, we're just weeks away from the next Best Practices Conference in Washington, DC, on August 24-26. This really great, unique event is one of my favorites. One of the most exciting developments is that they've added tracks on SQL Server and business intelligence (BI). This is truly an opportunity to learn the best practices of implementing collaboration, portal, database, custom development, and BI technologies. While many of the top speakers presenting have spoken at the Best Practices Conference previously, several top new speakers have been added to the list. Additionally, they've announced that Arpan Shah of the Microsoft SharePoint product group will be delivering the keynote address. To see the full agenda, go to http://www.bestpracticesconference.com/agenda.