Check-out and edit in SharePoint document libraries

When I'm asked a question by a partner and feel that the answer is likely to benefit more people, I shall write a blog post about it.

The question in this case was regarding checking out documents from a SharePoint document library and editing documents, and why check-out and editing aren't the same thing.

By default, document libraries in SharePoint don’t require you to check out a document to be able to edit it. When you check out a document, a checked out icon appears next to it in the library and no other user can open the document for editing. This prevents multiple users editing the same document at the same time.

However, under SharePoint’s default settings, users can select to edit a document without checking it out. If the document is an Office 2007 document, then other users trying to edit it will be informed that it is being used by someone else, preventing issues with simultaneous edits. If the document is of a different format, this doesn’t necessarily happen, which can cause problems.

It is easy to change the settings of document libraries to force checking out before editing. There are plenty of help files and blog posts explaining how to do this, so I won’t repeat the information here. If check-out is required, then any user clicking to edit a document will be checking it out at the same time, without needing to explicitly say that they are checking it out.

The question I was asked was this: why isn’t required check-out the default?

It’s a good question. Given the number of sources I’ve seen that recommend getting users to always check out a document before editing, it seems surprising that required check-out isn’t the default.

There are two answers.

The quickest is that required check-out prevents users being able to edit multiple documents in datasheet view.

The second answer is that required check-out can make life harder for developers. SharePoint is a set of incredibly valuable tools in its own right, but it’s also a platform for developers to build custom solutions. In researching the answer to this question, I came across a few forum posts where developers were struggling to write custom workflows that involved editing documents that were in libraries where check-out was required. These workflows needed extra steps, extra code and therefore extra work. The workflows needed to include the check-out and check-in steps, which could sometimes cause conflicts with other steps in the workflows.

So if you, your company or your customer are not planning on coding any custom workflows, then maybe you should change the default settings to require check-out. On the other hand, think whether it would be easier to simply tell the users to always check-out first. You might be saving your developers a headache later.