TFS Integration Platform – What is the configuration tag EnableLastRevisionAutoCorrection all about? Q&A-28

Blue Man Carrying a Heavy Question Mark in a Box Clipart Illustration We are busy consolidating all the blogs posts, documentation, readme files and emails which are concerned with the configuration of the TFS Integration Platform, to ship a consolidated and more user friendly configuration file experience. As part of this initiative we stumbled over the EnableLastRevisionAutoCorrection configuration element and as it has been queried before, the 28th Q&A post if dedicated to this feature :)

What is the feature all about?

The feature was introduced in the CQ Provider environment, but will be applied to other future adapters that are used to synchronize other repositories with TFS.

When enabled the platform generates additional attributes during the CQ delta computation for a particular record, to indicate that a certain revision is the last revision of a specific record.

Why … ?!?

  • With TFS we have the full history for each work item revision, in other words each value of each field is tracked in the work item tracking database.
  • In ClearQuest a record only contains the full set of field values for the current revision. Historical data is not preserved, except for basic information such as author name, date of change and action.

Shortly before we submit a record, which is attributed as the last revision of the record, we will use the TFS object model to figure out if the various field values are valid. If we detect an invalid field, we will attempt to figure out an appropriate value as part of this feature.

How do I configure it?

Here is a snippet of an example configuration file, which disables this feature:

<MigrationSource InternalUniqueId="F4741818-…" FriendlyName="TFS WIT target" ServerIdentifier="##SERVER_NAME##" 
                             ServerUrl="##https://SERVER_NAME:8090##"  SourceIdentifier="##TEAM_PROJECT_NAME##"
                  ProviderReferenceName="663A8B36-…">
  <CustomSettings>
    <CustomSetting SettingKey="EnableBypassRuleDataSubmission" SettingValue="true" />
    <CustomSetting SettingKey="DisableAreaPathAutoCreation" SettingValue="true" />
    <CustomSetting SettingKey="DisableIterationPathAutoCreation" SettingValue="true" />
    <CustomSetting SettingKey="EnableLastRevisionAutoCorrection " SettingValue="false" />
  </CustomSettings>
</MigrationSource>

By default, if the line in bold is missing,  the feature is enabled. Alternatively you can specify the attribute and specify false (disabled) or true (enabled) for the SettingValue.

Next up is Q&A-29, which takes a look at Addins.