Azure DevOps: CMMI Project Creation Fails with Chinese or Italian Locale

Table of Contents

This article addresses an issue encountered in Team Foundation Server 2017 RTW where creating a CMMI team project with Simplified Chinese or Italian locales results in failure. This problem specifically affects users who have installed Team Foundation Server 2017 RTM in either Simplified Chinese or Italian languages and are attempting to utilize the built-in CMMI template.

Symptoms

Users attempting to create a team project using the built-in CMMI template in Team Foundation Server 2017 RTM with Simplified Chinese or Italian language settings will encounter an error. The error message displayed is localized and may vary slightly depending on the language, but it generally resembles the following:

VS403080: Group label already exists on the same page

This error message indicates a conflict within the CMMI template when used with these specific language locales, preventing the successful creation of the team project. The issue arises from inconsistencies in how group labels are defined and interpreted by Team Foundation Server when operating in Simplified Chinese or Italian environments with the default CMMI template. This problem is specific to Team Foundation Server 2017 RTM and the built-in CMMI template.

Azure DevOps: CMMI Project Creation Fails with Chinese or Italian Locale

Workaround

A permanent fix for this issue is included in Team Foundation Server 2017 Update 1. However, for users who require an immediate solution before upgrading to Update 1, a workaround is available. This workaround involves downloading the existing CMMI template, modifying it to resolve the conflict, and then re-uploading the modified template as a new custom template. This allows users to create CMMI team projects without encountering the described error.

The workaround process involves the following steps:

1. Connect to Team Foundation Server

First, establish a connection to your Team Foundation Server instance using Visual Studio 2017 RC or a later version. This step is crucial as it provides the necessary interface to access and manage process templates within Team Foundation Server. Ensure that you are connected to the correct Team Project Collection where you intend to apply the CMMI template. A stable and reliable connection is important for seamless template management.

2. Open Process Template Manager

Navigate to the Process Template Manager within Visual Studio. This tool is accessed through the Team menu, then by selecting Team Project Collection Settings, and finally choosing Process Template Manager. The Process Template Manager is the central hub for managing process templates within Team Foundation Server. It allows you to view, download, upload, and delete process templates associated with your Team Project Collection. Accessing this manager is essential for the subsequent steps in the workaround.

3. Download the CMMI Template

Within the Process Template Manager, locate the CMMI template in the list of available templates. Select the CMMI template and click the “Download” button. This action will download a local copy of the CMMI template to your computer. It is recommended to choose a readily accessible location on your local file system to save the downloaded template for easy access in the following steps. Downloading the template is necessary to make the required modifications.

4. Edit the ProcessTemplate.xml File

After downloading the CMMI template, navigate to the downloaded root folder. Inside this folder, locate the file named ProcessTemplate.xml. Open this file using a text editor such as Notepad, Visual Studio Code, or Sublime Text. This XML file contains the core definitions and configurations for the CMMI process template. Careful modification of this file is crucial for the workaround to be effective.

Within the ProcessTemplate.xml file, perform the following two modifications:

a. Change the Template Type GUID

Locate the <Type> element within the ProcessTemplate.xml file. The current value of the <Type> element will be 27450541-8E31-4150-9947-DC59F998FC01. Replace this existing GUID with a new, unique GUID. For example, you can replace it with 57860870-4ae5-4212-b591-1e4f7d905650. Generating a new GUID ensures that the modified template is recognized as a distinct custom template and avoids conflicts with the original built-in CMMI template. Online GUID generators are readily available if you need to create a new GUID.

b. Change the Template Name

Locate the <Name> element within the ProcessTemplate.xml file. The current value will be CMMI. Change this name to something different, for instance, CMMI_fixed. Renaming the template is important to differentiate it from the original CMMI template after it is re-uploaded. This prevents confusion and allows users to easily select the modified template for project creation. Choosing a descriptive name like “CMMI_fixed” or “CMMI_Custom” is recommended.

5. Edit the Task.xml File

Navigate to the WorkItem Tracking\TypeDefinitions folder within the downloaded CMMI template directory. Inside this folder, find and open the Task.xml file with a text editor. This XML file defines the work item type “Task” within the CMMI process template and contains layout configurations that need to be adjusted for the Simplified Chinese and Italian locales.

Within the Task.xml file, search for specific text snippets within the <WebLayout> element and replace them as outlined in the table below. It is crucial to only modify the first instance of each text snippet found within the <WebLayout> element. There will be two instances of each text snippet in the file, but only the first one, specifically within the <WebLayout> section, needs to be updated. Text snippets appearing outside the <WebLayout> element should not be changed.

The following table details the text replacements required for each language:

Language Find Replace as
CHS <Group Label="<span class=\"no-loc\" dir=\"ltr\" lang=\"en-us\">\"&#35745;&#21010;\"</span>"> <Group Label="<span class=\"no-loc\" dir=\"ltr\" lang=\"en-us\">&#35268;&#21010;</span>">
ITA <Group Label="Pianificazione"> <Group Label="Programmazione">

Explanation of Changes:

  • CHS (Simplified Chinese): The original template uses “计划” which translates to “计划” (Jìhuà), meaning “Plan”. This is replaced with “规划” which translates to “规划” (GuÄ«huà), also meaning “Plan” or “Planning”, but is a more appropriate and commonly used term in this context.
  • ITA (Italian): The original template uses “Pianificazione” which translates to “Planning”. This is replaced with “Programmazione” which translates to “Programming” or “Scheduling”. In the context of project management and task organization, “Programmazione” is often considered a more suitable term, aligning better with the intended meaning of task grouping.

These replacements address the group label conflict that triggers the error message by using alternative, but semantically similar, terms that are correctly processed by Team Foundation Server in the Simplified Chinese and Italian locales.

6. Re-upload the Template

After making the necessary modifications to both ProcessTemplate.xml and Task.xml files, return to the Process Template Manager in Visual Studio (as accessed in Step 2). Click the “Upload” button in the Process Template Manager. Browse to the root folder of the modified CMMI template that you have been working with and select it for upload. The Process Template Manager will upload the modified template to your Team Project Collection.

Once the upload is complete, the modified CMMI template, now with a new name (e.g., CMMI_fixed), will be available in the list of process templates when creating a new team project. Users can now select this modified template to create CMMI team projects even when using Simplified Chinese or Italian locales in Team Foundation Server 2017 RTM, effectively circumventing the original error.

By following these steps, users can successfully work around the CMMI project creation issue in Team Foundation Server 2017 RTM when using Simplified Chinese or Italian locales. Remember to apply these changes carefully and ensure that you are modifying the correct files and sections as described. After applying the workaround, you should be able to create CMMI team projects without encountering the “VS403080: Group label already exists on the same page” error.

If you have any questions or encounter further issues, feel free to leave a comment below. Your feedback is valuable and helps improve the quality of these solutions.

Post a Comment