We all know that SharePoint offers some great features in terms of versioning documents in libraries. Frequently the ability to version content is one of the drivers for implementing the platform.
What is less known is that there is more than meets the eye in terms of versioning of documents apart from deciding between major/minor or major versions.
The versioning options in SharePoint allow you to do some pretty complex things that can be super useful in various situations. In this article lets look at these options and the types of business problems that they cad address. Although you can version almost any type of content in SharePoint lets look at this from the view of versioning documents since this is the most common use case.
I'm not going to go into detail about how to configure all of these options but there is a really great set of articles from Matt Milsark from PFWeb that I am going to reference. These go into all of the detail you need so it saves me some work!
Content Approval allows you make sure that content is only visible to readers of a site when it is approved by someone that is authorized to do so.
Essentially what this allows you to do is hide draft versions from a certain group of users and only have ‘Approved’ versions shown . Matt provides a great overview of the functionality here.
So in what situations would having Content Approval be useful?
- Great for Extranet scenarios: For example your internal team wants to publish read only information to an outside partner but create the documents in the same location as they are published. Using Content Approval means that the document is hidden from readers until its approved so you can be working on a draft version without your readers knowing the document exists until its approved.
- When you want to control approval of a document with a workflow: If you need to ensure that content goes through an automated review cycle you can easily create a workflow in SharePoint Designer that approves the content and makes it visible.
- Great for Intranet Scenarios: When you want to ensure that content is not visible in a draft state to Intranet readers but needs to be approved before being published out for all to see. In fact if you create a publishing site in SharePoint then the pages library has content approval enabled by default.
Draft Item Security
The Draft Item Security option allows the control of who can see items that are in a draft state (that is minor versions of items):
This option is used conjunction with Minor Versions, you can’t have one without the other, and can be very useful in situations where you don’t necessarily want a group of users to be able to see minor version of content.
Now the three options listed correspond to the following scenarios:
- and this is more restrictive than the “only users who can edit items option’ because in this case it will only be users in the “Approvers” SharePoint group.
A common question is what is the difference between having Content Approval and Draft Item Security? Well they work hand in hand but my rule is if you want to hide minor versions only then use draft item security only. However if you also require content to be approved prior to be shown to the masses then also enable Content Approval.
Require Check Out
This option requires that people check out a document before being able to edit it. It also locks the document for editing by others. How to configure this is covered, once again, in awesome detail by Matt in his post “Check In and Check Out Documents in Microsoft SharePoint”.
So what is ‘Require Check Out’ useful for:
- Only person can edit the document at one time: You can control who is editing the document and make sure that only one person can be working in it at any one time. This can be useful in making sure that people don’t over write each others documents by accident
- People can enter in comments: This is actually quite useful as each time a person checks a document back in they can enter in a comment.
Which can be viewed in the version history:
However in my mind I am NOT a fan of enabling check in/out for libraries for a number of reasons:
- Different workflow: One major issue that I find is that using check in/out is a completely different set of actions for users. When they click on edit a document they are asked to check it out, then asked where they should check it out to. Then when closing the document they are asked to check it back in. For users unfamiliar with SharePoint it leads to a WTF moment that makes document management much more difficult than it should be.
- Not checking stuff back in: Basically people don’t check content back in which can make it a major PITA to work with this feature. Yes with training this can be mitigated but its still a major issue.
- Office 2010 Co-Authoring: The ability to co-author documents with SharePoint 2010 and Office 2010 for certain file types makes this feature pretty much redundant. The whole idea with check in/out is that you don’t over write peoples changes but with the cool new features of co-authoring this happens auto-magically!
By far the most common thing that people do, and like, about SharePoint is the ability to version their documents:
So firstly some things to know about version history:
- By default version history is not enabled on list and libraries, you will need to turn it on. Be careful since there have been multiple occasions where a client has lost content because they assumed version history was enabled out of the box, when its not.
- No matter how many times you click the save button you wont get a new version, you will only get one when you close the current editing session (think of it as the same way as if you were editing something on your desktop)
- For co-authoring you will have versions automatically created every 30 minutes, you can change this however (and I often do to something smaller).
- If you are versioning large documents (digital assets for example) you may want to limit how many versions you are keeping. Even if you change a field of metadata SharePoint will keep an entire copy of the file so be careful as this will chew through storage
So here are some tips about using versions:
- Major Versioning Only: Use this for simple versioning needs and for content that doesn’t require an approval cycle
- Major and Minor: Use this when content goes through a lifecycle of approval or events. All minor changes are stored as drafts and when a major event happens to a document ( for instance we issue it to a client) promote this to a major version.
- Limit number of version: For gods sake yes! If you have an adequate back up strategy will people need to go back 351 version of a document? Probably not. I always limit this to between 10 and 50 version depending on the content.
As you can see there is quite a lot of flexibility in what you can do with out of the box SharePoint for document versioning. As always you need to know what your requirements to make the appropriate choice. But with the wealth of options available you should have most common scenarios covered.
Thanks for reading and please comment away!