Customizing Global Workflow
You define a global workflow when you want to maintain a set of work item fields that multiple types of work items share. If you use a global workflow, you can define fields and global lists that are available to all work item types in either a team project or a team project collection.
Note
Before you can define a global workflow, the feature must be enabled on the application-tier server. Therefore, the server must be running a version of Visual Studio Team Foundation Server, such as Team Foundation Server 2010 with Service Pack 1 (SP1), that supports this feature. You can obtain the service pack at the following page on the Microsoft website: Service Pack 1 of Visual Studio Team Foundation Server 2010, Beta.
In this topic
Contents of a Global Workflow
Defining and Managing Global Workflow
Example Global Workflow XML File
Contents of a Global Workflow
You can define a global workflow in a similar way that you customize a work item type. To customize or create a global workflow, you define or modify a n XML file.
Note
No global workflows are defined for any Microsoft Solutions Framework (MSF) process templates. However, if you install the appropriate Feature Pack, a global workflow is imported to the team project collections that you configure to participate in data synchronization. For more information, see Microsoft Team Foundation Server 2010 and Microsoft Project Server Integration Feature Pack.
A global workflow can contain the following elements:
FIELD (Definition). You can specify the definitions for fields and all qualifying and conditional rules for each field. These rules are contained within a FIELDS parent element.
GLOBALLIST. You can specify one or more global lists as part of the global workflow. These lists are contained within a GLOBALLISTS parent element.
If you specify a field that is not currently defined for the team project or the collection, the field is created when the global workflow is imported. You cannot change the properties of fields that have already been defined for a type of work item. For example, you cannot change the attributes that are associated with the friendly name, the reference name, or reporting by modifying the global workflow.
A global workflow cannot contain the following elements and definitions:
HELPTEXT. You cannot specify help text for a field.
WORKFLOW. You cannot specify a workflow that consists of states, transitions, and reasons. Workflow is always scoped to a type of work item.
FORM. You cannot specify the layout of the work item form because it is always scoped to a type of work item.
Global workflow elements belong to the https://schemas.microsoft.com/VisualStudio/2008/workitemtracking/globalworkflow namespace.
Back to top
Defining and Managing Global Workflow
Task |
Topic |
---|---|
Look up the syntax of a global workflow element. You define global workflow by using the FIELD (Definition) and GLOBALLIST elements and their child elements. |
|
Create, modify, export, or import a global workflow. You manage global workflow by using the following commands in the witadmin command-line tool:
|
Back to top
Example Global Workflow XML File
The following example shows how you can define two fields within the global workflow by using the FIELD (Definition) element and its supported rule elements. For more information, see All FIELD XML Elements Reference.
<?xml version="1.0" encoding="utf-8"?>
<GLOBALWORKFLOW>
<FIELDS>
<FIELD name="Project Server Enterprise Project" refname="Microsoft.Sync.ProjSrv.ProjectName" type="String">
<ALLOWEDVALUES not="[global]\Project Collection Service Accounts" expanditems="false">
<LISTITEM value="PsProject" />
</ALLOWEDVALUES>
<DEFAULT not="[global]\Project Collection Service Accounts" from="value" value="PsProject" />
</FIELD>
<FIELD name="Project Server Requested Project GUID" refname="Microsoft.Sync.ProjSrv.RequestedProjGuid" type="GUID">
<ALLOWEDVALUES not="[global]\Project Collection Service Accounts" expanditems="false">
<LISTITEM value="3aabbaa9-f204-4748-897c-47904155bc61" />
</ALLOWEDVALUES>
<DEFAULT not="[global]\Project Collection Service Accounts" from="value" value="3aabbaa9-f204-4748-897c-47904155bc61" />
<WHEN field="Microsoft.Sync.ProjSrv.ProjectName" value="PsProject">
<ALLOWEDVALUES not="[global]\Project Collection Service Accounts" expanditems="false">
<LISTITEM value="3aabbaa9-f204-4748-897c-47904155bc61" />
</ALLOWEDVALUES>
<COPY from="value" value="3aabbaa9-f204-4748-897c-47904155bc61" />
</WHEN>
</FIELD>
</FIELDS>
</GLOBALWORKFLOW>
Back to top