Tuesday, August 16, 2011

SharePoint Document library Versioning and Recommended Practices

Based on a discussion with my colleague about SharePoint document library versioning, I thought of writing a blog post on SharePoint versioning recommended practices. By default, version history is turned off on document libraries. My own recommended practice is turn on versioning and limit the versions to 3 major and 3 minor versions with option to create major and minor versions. However, limiting the versions completely depends on the business requirements as well. Some business users need to keep 5 to 10 different versions based on their work strategy.

ü  Turn on Versioning with create major and minor (draft) versions
ü  Limit the versions to 3 major and 3 minor
ü  Enable require checkout functionality

Versioning is a great feature of SharePoint. We can easily restore the documents from earlier versions in case of any data loss. It provides a safety net in the event that a corrupted version gets saved and also you can track the changes (and see who made them) from version to version at a glance. This feature is not available with traditional Shared Drives. Users are used to rename the files with appended “_v1”, “_v2” etc. to maintain the versions in Shared Drives. So, I would definitely enable the versioning in SharePoint document libraries and limit the versions to 3 major and 3 minor versions.

Major and Minor Versions: Versions ending with a zero extension (.0) are major versions and versions ending with non-zero extensions are minor versions. Only major versions can be published. Additional permission levels can be configured for working with minor versions (draft). In most scenarios, users who can edit major versions are also allowed to edit minor versions, but read-only users can only view major versions/published documents.

Why do I need to limit versions to 3 major and 3 minor versions?

By default, SharePoint keeps all versions in the document library once you enable the versioning (all versions size is counted towards the site collection quota), and these aren't bitwise differential versions, they're the full versions. I.e. each time you save the document, SharePoint stores as a separate copy of complete document in the database though you make a small change. Just imagine If you have a 100 MB presentation with 20 different versions (Around 2 GB of storage capacity). With large documents, even a small but active library can eat up your database in a hurry. If you have a limited site collection storage capacity, this is going to be a big issue to store more number of documents as database reaches it max storage capacity very soon. So, restrict at max 3 major and 3 minor versions at any point in time in the document library.

If you forget to set the limitation, there is no way from SharePoint out-of-the-box UI to delete specific versions form document version history. Either you have to remove/delete all versions or all minor versions. There is no way to delete specific published or minor versions in bulk.

To enable version history, follow the below mentioned steps:

v  Navigate to your SharePoint document library
v  Select document library settings
v  In the settings page, under General Settings section, click Versioning Settings
v  Check the checkbox “Create major and minor (draft) versions” option
v  And, check the checkboxes to keep 3 major and 3 minor versions