InfoPath form and form template version control in SharePoint libraries

Learn how you can apply version control or versioning to an InfoPath form or an InfoPath form template that is stored in a SharePoint form library or SharePoint document library.


Versioning or version control is the ability to assign numbers to documents to thereby associate (and lock) changes made to a particular document by a particular user to a particular version number.

Versioning is part of document management. Every time a document is updated, a document management system should keep track of these updates through versioning.

Documents can be given whole numbers, such as 1.0, 2.0, etc., which are called major versions, but they can also be assigned numbers such as 1.2, 1.3, etc., which are then called a minor versions. Document numbers are incremented as a document is checked-out, modified, saved, and checked-in.

InfoPath forms consist of two components: 1. An InfoPath form template, and 2. The InfoPath form (XML file) itself. You can choose to apply version control to both components if your requirements call for it.

SharePoint supports versioning on lists and libraries, so also on form libraries, which means that you can keep track of all of the changes made to a particular InfoPath form and revert to (or restore) an older version of the InfoPath form if necessary.

Versioning is turned off by default in SharePoint, so if you want to make use of it, you would have to first turn it on. To turn on versioning on a SharePoint form library:

  1. In SharePoint, navigate to the form library, and then click Library Tools > Library > Settings > Library Settings.
  2. On the Form Library Settings page under General Settings, click Versioning settings.
  3. On the Versioning Settings page under the Document Version History section, select either the Create major versions option or the Create major and minor (draft) versions option, and click OK.

Note that when you turn on version control, you can also require users to check out documents before they can be edited. This is not necessary in SharePoint however. If you do not enable check-out and check-in of documents, SharePoint will apply versioning to a document as soon as it has been modified and saved.

While you can apply versioning to InfoPath forms themselves, you may also want to keep track of changes made to an InfoPath form template. A fairly easy way to have SharePoint assign version numbers to a published InfoPath form template, is to publish the form template as a content type, which is one of 3 ways to publish an InfoPath form template to SharePoint.

Unlike direct publishing to a SharePoint form library, publishing an InfoPath form template as a content type allows you to specify the location where the InfoPath form template is stored. And since you can store an InfoPath form template in a normal SharePoint document library on which you can apply versioning, this publishing method makes the application of versioning to InfoPath form templates a fairly easy process to implement.

Once you have stored a form template in a versioning-enabled SharePoint document library, you can download the form template from the document library whenever you want to make changes to it, edit it, and then republish it. SharePoint should automatically increase its version number and keep track of the changes made to a form template as soon as you have republished the form template.

Keep in mind that if you revert back to (or restore) an older version of an InfoPath form template, any InfoPath forms that were based on a newer version of the form template could fail to work properly. And also note that version control in SharePoint works independently from versioning in InfoPath, which you can access via the Versioning category on the Form Options dialog box.


Related Posts


Copyright: This article may not be used on web sites (whether personal or otherwise), copied, disseminated, altered, printed, published, broadcasted, or reproduced in any way without an expressed written consent. The techniques demonstrated in this article may be used within any Microsoft InfoPath project. This article is provided without any warranties. Copyright for this article is non-transferrable and remains with the author.

InfoPath 2013 Cookbook: 121 Codeless Recipes for Beginners

InfoPath 2013 Cookbook 2: 121 Codeless Recipes for SharePoint 2013

InfoPath 2010 Cookbook: 101 Codeless Recipes for Beginners

InfoPath 2010 Cookbook 2: 101 Codeless Recipes for SharePoint 2010

InfoPath 2010 Cookbook 3: 101 Code Recipes for C# Developers

InfoPath 2010 Cookbook 4: 101 Code Recipes for VB Developers

InfoPath 2010 Cookbook 5: Integrating InfoPath with Excel and Excel Services