Setting Major/Minor versions and Content Deployment issues

Just a quick heads-up when you want to limit versions in a Web Content Management scenario and you have Content Deployment set up.

 

First of all, let me explain why you would like to do this:  Basically, if you happen to execute routinely a Full Content Deployment, a new version of every document (pages, images, document, etc.) at the destination.  Since the default library settings are set to accept unlimited major and minor versions, you will likely run into a disk space issue before long.  I noticed that on a WCM portal that was planned for about 100 MB of web content that turned out to have 600 MB quickly because not all content had been "web-ified" and was still in PDF and document.  That 600 MB was being added at each Full Content Deployment, that a modification occurred or not!

 

So now you have a fully deployed portal with 150+ sub-sites that you want to limit the versions on at least "/documents" and "/images" (and likely "/pages" as well).  At the time, we didn't know enough (or anything really) about Feature Stapling to use them so we created an STSADM extension that updates a library's versioning settings (i.e.: does it require approval, the major & minor versions supported, etc.).  I would suggest using Feature Stapling for yourself (with the same codebase really) since it will also affect new sites.

 

To get back to the primary subject: if you set a major or a minor version limit in the GUI, apply the change, and deploy the update to the publishing farm;  then you go back and update to only have a major limit and do not support minors, the GUI will work correctly when you apply.  In fact, the "staging or authoring" farm will work correctly.  Unfortunately, when you use content deployment, it will say that you cannot set minor version limit on a library that only supports major versions!

 

I happened to know that error exactly since, when creating the STSADM extension, I got that error when playing with the properties in the "wrong" order.  It seems that Content Deployment do use the right order either.  You will have to remove the version limits, use content deployment, and then update to have only major versions.

 

Maxime