[In Part 3 of his series on Document Management and Collaboration in Microsoft SharePoint, Matt Milsark introduces SharePoint Versioning. Missed the last post? Please read about SharePoint Document Check-In and Check-Out]
Understanding SharePoint Versioning
Version control is a critical feature for any enterprise-scale document collaboration platform. In SharePoint, the versioning feature automatically saves every version of a document. This allows multiple people to make changes to a document without the fear of overwriting a previous version. If necessary, you can always revert to a previous document versions.
Sometimes it’s necessary to revert if the most recent copy becomes corrupt or is inadvertently saved in a “messy” state. SharePoint Versioning will also prevent the (disastrous, yet all too familiar) scenario of “accidentally” saving over a live copy of a document. Compared to using a simple file share, the ‘roll-back’ versioning feature makes SharePoint a more reasonable and viable choice for storing critical corporate documents.
SharePoint Versioning also allows you to use the ability to leverage content approval. This is useful if a document needs to be reviewed before it’s published “live.” For example, contracts typically need approval from a separate legal department or 3rd party law firm. Using content approval versioning features, documents must be reviewed and approved- by a user with sufficient privileges- before publishing or moving to the next stage of workflow. We’ll discuss more about the SharePoint 2010 content approval process in the next article in this blog series.
By default, SharePoint 2010 has Versioning turned off. To enable Versioning you must configure Versioning on every library where you want Versioning used.
How to Access Versioning Settings
From your Document Library, click Library and then Library Settings.
In the General Settings section, click Versioning settings.
For the purposes of this post, we’re going to just look at Document Version History section. There are three options available: No versioning, Create major versions, and Create major and minor (draft) versions.
No versioning is the default setting and basically means only one copy of a document exists. If you overwrite that copy with a new copy, you cannot retrieve the older version.
Create major versions:
Create major versions specifies numbered versions of a document using a basic number scheme (such as 1, 2, 3). When an existing document is saved to a document library, a new version is created. You can always revert to a previous iteration of a document by its version number.
Create major and minor (draft) versions:
Create major and minor (draft) versions uses a major and minor versioning scheme (such as 1.0, 1.1, 2.0, 2.1). Versions ended in .0 are major versions, often referred to as published versions. All other versions are minor (or draft) versions. So a document with a version of 2.3 means it’s the third draft from the second published versions. This option allows you to differentiate between published content and content in draft form that is not yet ready for public consumption. Major and minor versioning will be discussed in the next article of this blog series, as it is best used with content approval.
For now, however, we’re going to take a look at how major versioning works. So I’ll go ahead and select Create major versions. Remember, you can use Versioning in conjunction with the SharePoint document Check-In/Check-Out process.
After choosing Create major versions, return to the document library and upload a document. You can see from the screenshot, the version is 1.0.
A new version is created whenever the content or the metadata associated with the content is changed. So upon changing the value in the POAmount field, you can see the Version number changes.
And when I make a change to the document and save it back to the library, the version number changes from 2.0 to 3.0.
If I use the Edit drop-down for the document, I can choose Version History.
The Version History screen displays the previous versions that are retained, as well as any metadata changes that were made. For example, in the following screenshot, version 2.0 shows the POAmount column and the value that it was changed to.
Version 3.0 does not display this information, because the actual document was changed and not the metadata.
Reverting to a Previous Version
Use the Version History screen to revert to a previous version. Use the Edit drop-down for the version you want to restore, and click Restore.
Reverting to a previous version replaces the current version with the old one. Click OK to proceed when the message box appears.
It does not delete the current version. It just creates a new version. So now my version history screen looks like this:
Version 4.0 is actually the same document and metadata as version 2.0 because I chose to restore that specific version.
Versioning and Storage Space
If you are using Versioning, keep in mind that each version of a document is stored in the SQL Server content database. So in our example, there are actually four copies of this single document being stored in SQL Server. As you can see, this can exponentially increase your storage needs.
In the Versioning settings, you have the ability to limit the number of versions saved. It is recommended to use this option if storage capacity is a concern (and when is it not?).
As you can see, SharePoint Versioning is a significant feature for document management and document collaboration in SharePoint 2010. It allows users to make edits to content and metadata without fear of destroying an already live or published document.
SharePoint Versioning also keeps track of who makes changes and when, and what metadata changes were made. This improves accountability and makes it easier to follow the changes of a specific document.
Next time we’ll take a look at major and minor versioning and how content approval ensures only approved documents are published and accessible.