Subscribe via RSS Feed Connect with me on LinkedIn

Applied SharePoint 2010 Governance: Managing Document Versions with Information Management Policies

[ 5 ] February 21, 2011 |

There are many articles written about how governance is a fundamental part of any successful SharePoint 2010 strategy. However I think that there is a bit of a gap on how we can implement practical governance in SharePoint 2010, using the features that exist in the platform.

To some peoples surprise there are many tools with the platform that can help enforce governance. I’m not going to talk about what governance is, there are many great articles about that, but in this series of articles I am going to talk about some of the techniques that I use to support governance on the 2010 platform. In my view governance is really about controlling SharePoint and the content that resides within SharePoint. I know that governance encompasses a lot more than this from a holistic lever but if we assume for simplicities sake that we simply want to control content then this series will make sense.

One way to govern the growth of content within your SharePoint environment is to make sure that no longer useful versions or draft of documents are deleted. This is one of the many ways that you can control content within SharePoint 2010 on an item level, the other that is most commonly used is implementing Site Quota’s around Site Collections which control the growth of content on a Site Collection level.

Of course this can be done manually but the chances of users actually doing this manual, laborious task are pretty much zero. Ideally what we would like is to be able to delete previous versions and drafts of documents after a specified of time automatically. Sounds like something that might be complicated to do, but it’s actually really easy.

From a governance standpoint slowing the growth of content, whilst ensuring that valuable content is retained is something that is frequently requested. So let’s see if we can configure SharePoint 2010 to help us out with this (incidentally this also applies to MOSS 2007 as well)

The Issue

An automated way to delete previous document versions and drafts that is transparent to end users. Ideally we would like to be able to specify the different types of content that this can apply to and be configurable around dates.

The Solution – Information Management Policies

For me Information Management Policies (IMP’s) is the forgotten golden arrow in many SharePoint implementations. IMP’s are extremely flexible and contain a number of different policies that you can apply: Retention, Auditing, Barcodes and Labels. You can also create your own policies programmatically if you are so inclined as well, check out MSDN.


Policies can also applied to specific Content Types as well which gives us some flexibility.

But today we are going to look at the Retention Policy Feature to see if it can help us manage document versions. We have created a custom Content Types called ‘Contract’ and have some recommendations from the governance committee:

· 1 year after a Contract is created all previous drafts should be deleted

· 2 years after a contract is approved all previous versions should be deleted

So we create our custom Contract Content Type (don’t even start a discussion with me about NOT using content types, I am likely to become extremely agitated J ) and to represent that a contract is approved we have a date field called ‘Approved Date’ as seen below:


Now let’s set up our IMP. Click on Information Management Policy Settings and then click on Retention. A couple of things to note that are important from an Information Architecture perspective. Firstly the Administrative description field is only visible to administrators so fill it in with useful administer focused information:


More important is the Policy Statement which allows you to communicate with end users what the policy is and why. When a user creates or edit’s a document with this policy, they will see the policy statement in the Office client as below. It’s a really great way to provide information to users about policies, all with very little effort:


Now if we click on Add a retention stage we see that we are presented with a number of options.

Firstly we have an event date that contains the dates that are associated with our Content Type. The default Created, Modified and Declared Record dates are there but so is our custom column, Approved Date.

Secondly we have a range of actions that we can perform. The ones that we are interested in are ‘Delete previous drafts’ and ‘Delete all previous versions’. There is also another action that I will talk about next time but that will have to wait.


So back to our requirements firstly we want to delete all previous drafts after one year. That is easy enough:


Then we want to delete all previous versions 2 years after the Contract is approved. That is also easy since we now have our ‘Approved Date’ field that we can use:


So at the end of this we should have our IMP looking something like:


And that’s it really! Now this will happen automatically when the dates are hit on the piece of content. No user input is needed, everything is handled by SharePoint. If you ask me that is pretty impressive, for 5 minutes of configuration we can keep Contract versions in check, satisfying both user and governance requirements.

Other Scenarios

You might have noticed that there are a lot more options available in Information Management Policies. I will talk about this in latter articles however there are a wide range of possible business scenario’s that IMP’s can handle. You can also launch a workflow at a specified date as well which means that you can easily implement content review life cycles.

However for me one of the most powerful uses of IMP’s and SharePoint 2010 is Content Type Syndication. This allows me to define Content Types, with associated metadata and IMP’s from a central location, and have this available within any Site Collection on the same farm.

Tags: , ,

Category: How To, Planning, Requirements and Analysis

About Michal Pisarek: Michal Pisarek is the founder of Dynamic Owl Consulting and a Microsoft SharePoint MVP. View author profile.

Comments (5)

Trackback URL | Comments RSS Feed

  1. vikas says:

    Hi Michal,

    Recently I have implemented SharePoint 2010 in few Legal and financial firms and I agreed with your point that it is very important from governance point of view that valuable and critical historic data should be retained and available to users whenever required. IMP is quiet useful in retaining the content but still one issue I have encountered is that older versions of document not indexed in SharePoint 2010 and same is not visible to users in search when they should be.
    After my lot of research I found a product which enables search on older versions of document with SharePoint 2010 and FAST and in my view this is very useful in implementing the governance.
    Any thoughts on this!

  2. Jay says:

    Can you set a policy that will remove previous versions but not all of them? For example I would like any version created within the last 7 days to remain but any version older than 7 days to be deleted. Now people always say just set the keep previous version to 7 but that is 7 versions and there might be 10 different versions a day so that doesn’t really work.

  3. Hey Jay,
    You can’t out of the box but its certainly something that you can do with some custom code.

  4. Robyn Gwinn says:

    When you select “Delete” as the action, does Sharepoint actually delete the item from the content database permanently or does it just expire the item so it no longer shows up on the website and can no longer be searched on?

  5. Robyn Gwinn says:

    Is there any type of notification sent to the Creator and/or Last person who modified the document to say that the document is going to be deleted or is it just deleted automatically based upon the retention period that is set in the Expiration area?

Leave a Reply

If you want a picture to show with your comment, go get a Gravatar.