Freigeben über


Prozessvorlagen-Plug-In für Klassifizierung

Aktualisiert: November 2007

Das Plug-In für Klassifizierung steuert die Iterationen und die Struktur eines Teamprojekts. Der Name des Plug-Ins lautet Microsoft.ProjectCreationWizard.Classification. Die XML-Datei für Klassifizierung hat den Namen Classification.xml und befindet sich im Ordner Klassifizierung in der Ordnerhierarchie der Prozessvorlage. Sie können die Namen der XML-Datei und des Ordners ggf. ändern.

Geben Sie in der XML-Datei eine oder mehrere Aufgaben mit den zugehörigen Abhängigkeiten an. In der Regel benötigen Sie nur eine Aufgabe, um alle für ein Teamprojekt erforderlichen Iterationen und Knoten anzugeben. Eine Beispielaufgabe, bei der Iterationen angegeben werden, finden Sie in der Datei Classifications.xml in der Prozessvorlage für MSF for Agile Software Development.

Hinweis:

Team Foundation Server enthält keinen Mechanismus für die Bereitstellung clientseitiger Plug-Ins, Richtlinien oder anderer Änderungen. Wenn Sie Plug-Ins, Richtlinien oder andere Änderungen für Team Explorer bereitstellen möchten, müssen Sie ein eigenes Verteilungs- und Installationsprogramm verwenden.

Iterationen

Durch die für einen Prozess definierten Iterationen wird bestimmt, wie häufig eine bestimmte Gruppe von Hauptaktionen (z. B. Planungs-, Entwicklungs-, Testaktionen) vom Team wiederholt wird. Iterationen haben Einfluss auf Arbeitsaufgabenabfragen und Berichte, da Iterationen zum Gruppieren von Arbeitsaufgaben verwendet werden. Beispielsweise kann ein Teammitglied alle Fehlerarbeitsaufgaben aus Iteration 1 abfragen. Iterationen werden für alle Arbeitsaufgaben, die auf dieses Feld verweisen, im Feld System.IterationPath angezeigt.

Der Stammknoten für Iterationen muss mit der folgenden Syntax angegeben werden.

<Node StructureType="ProjectLifecycle" Name="Iteration" >

Geben Sie dann 0 (null) oder so viele untergeordnete Knoten an, wie Iterationen für den Prozess erforderlich sind. Verwenden Sie das Node-Element, um jede Iteration anzugeben. Sie müssen das StructureType-Attribut auf ProjectLifecycle festlegen.

Das folgende Beispiel zeigt, wie vier Iterationen angegeben werden: Milestone 1, Milestone 2, Beta und RTM.

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Team project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectLifecycle" Name="Iteration" >
               <Children>
                  <Node StructureType="ProjectLifecycle" Name="Milestone 1"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Milestone 2"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Beta"></Node>
                  <Node StructureType="ProjectLifecycle" Name="RTM"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>

Bereiche

Bereiche stellen Hauptgruppen im Teamprojekt dar. Beispielsweise könnte ein Team die Arbeit an einem Produkt so organisieren, dass ein Clientbereich, ein Serverbereich und ein Erweiterbarkeitsbereich entsteht. Bereiche werden zum Gruppieren von Arbeitsaufgaben für Abfragen und Berichte verwendet. Bereiche werden für alle Arbeitsaufgaben, die auf dieses Feld verweisen, im Feld System.AreaPath angezeigt.

Der Stammknoten für Bereiche muss mit der folgenden Syntax angegeben werden.

<Node StructureType="ProjectModelHierarchy" Name="Area" >

Geben Sie dann 0 (null) oder so viele untergeordnete Knoten an, wie Bereiche für den Prozess erforderlich sind. Verwenden Sie das Node-Element, um jeden Bereich anzugeben. Sie müssen das StructureType-Attribut auf ProjectModelHierarchy festlegen.

<Node StructureType="ProjectModelHierarchy" Name="" ></Node>

Das folgende Beispiel zeigt, wie die beiden Bereiche Client und Server angegeben werden.

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Portfolio project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectModelHierarchy" Name="Teams" >
               <Children>
                  <Node StructureType="ProjectModelHierarchy" Name="Client"></Node>
                  <Node StructureType="ProjectModelHierarchy" Name="Server"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>
Hinweis:

Beim Ändern von Iterationen oder Bereichen einer Prozessvorlage sollten Sie darauf achten, dass in der Datei workitems.xml nicht keine Aufgaben für eine Arbeitsaufgabeninstanz unterbrochen werden. Arbeitsaufgabeninstanzen können auf spezielle Iterationen oder Bereiche verweisen.

Festlegen von Microsoft Project-Feldzuordnungseigenschaften

Durch das Plug-In für Klassifizierung werden auch Feldzuordnungen zwischen Arbeitsaufgabentypen und Microsoft Project definiert. Microsoft Project verwendet im Gegensatz zu Microsoft Excel eine begrenzte Anzahl von Spalten, einschließlich vordefinierter Spalten wie Aufgabenname und benutzerdefinierte Felder. Wenn ein Benutzer Arbeitsaufgabendaten in einer Microsoft Project-Datei veröffentlicht oder aktualisiert, wird anhand der Feldzuordnung festgestellt, welche Felder in der Arbeitsaufgaben-Datenbank den Spalten in Microsoft Project entsprechen.

Die Zuordnungen können angepasst werden, beispielsweise zur Unterstützung eines neu erstellten Felds oder um Felder vordefinierten Spalten und nicht benutzerdefinierten Spalten zuzuordnen. Eine vollständige Dokumentation zur Feldzuordnungsdatei von Microsoft Project finden Sie unter Microsoft Project-Feldzuordnungsdatei.

Die Feldzuordnung befindet sich in einer XML-Datei mit dem Namen FileMapping.xml. In der Datei Classification.xml muss ein Eintrag vorhanden sein, der auf die Datei FileMapping.xml verweist, wie im folgenden Beispiel dargestellt.

<properties>
   <property name="MSPROJ" 
             value="Classification\FileMapping.xml" 
             isFile="true" />
</properties>

Zugeordnete Felder geben Sie in FileMapping.xml mithilfe des Mapping-Elements an.

<Mappings>
   <Mapping WorkItemTrackingFieldReferenceName="System.Id" 
            ProjectField=""
            ProjectName=""
         ProjectUnits=""
         PublishOnly=""/>
</Mappings>

In der folgenden Tabelle werden die Attribute für das Mapping-Element beschrieben.

Attribut

Beschreibung

WorkItemTrackingFieldReferenceName

Erforderlich. Gibt den Verweisnamen eines Arbeitsaufgaben-Typfelds an.

ProjectField

Erforderlich. Gibt den Namen einer Microsoft Project-Spalte an. Geben Sie vordefinierte Spaltennamen an, indem Sie dem Namen "pj" voranstellen, z. B. pjAufgabenname für die Spalte Aufgabenname. Geben Sie benutzerdefinierte Felder als pjAufgabentext gefolgt von einer Zahl an, z. B. pjAufgabentext11.

ProjectName

Optional. Gibt den Namen an, der dem Benutzer als Spaltenname angezeigt wird. Wenn dieses Attribut nicht angegeben ist, wird der Feldname des Arbeitsaufgabentyps verwendet.

ProjectName

Optional. Gibt den Namen an, der dem Benutzer als Spaltenname angezeigt wird. Wenn dieses Attribut nicht angegeben ist, wird der Feldname des Arbeitsaufgabentyps verwendet.

ProjectUnits

Optional. Gibt den für die Zuordnung von Feldtypen zu Microsoft Project zu verwendenden Einheitentyp an. Gültige Werte sind pjMinute, pjHour, pjDay, pjWeek und pjMonthUnit.

PublishOnly

Optional. Wenn PublishOnly auf true festgelegt ist, wurde das Feld in der Arbeitsaufgabendatenbank veröffentlicht, jedoch nicht aktualisiert. Dieser Wert wird üblicherweise für berechnete Felder verwendet, die in Team Explorer nicht aktualisiert werden sollten. Wenn PublishOnly auf no festgelegt ist, wurde das Feld veröffentlicht und aktualisiert. Wenn nicht anders angegeben, ist der Standardwert no.

Das folgende Beispiel veranschaulicht, wie Microsoft Project durch die Prozessvorlage für MSF for Agile Software Development Arbeitsaufgabenfelder zugeordnet werden.

<?xml version="1.0" encoding="utf-8"?>
<MSProject>
   <Mappings>
      <Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID"/>
      <Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
      <Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Discipline" ProjectField="pjTaskText17" />
      <Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.BaselineWork" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish"  PublishOnly="true"/>
      <Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" />
      <Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Rank" ProjectField="pjTaskText16" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Issue" ProjectField="pjTaskText15" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.ExitCriteria" ProjectField="pjTaskText20" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.QualityOfServiceType" ProjectField="pjTaskText21" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
      <Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
      <Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
      <Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
      <ContextField WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.TaskHierarchy"/>
      <LinksField   ProjectField="pjTaskText26" />
      <SyncField   ProjectField="pjTaskText25" />
   </Mappings>
</MSProject>

Die Zuordnungsfeldliste enthält drei besondere Spalten. Bei einer handelt es sich um das Synchronisierungsfeld, das angibt, welche Spalte als Synchronisierungsfeld dient. Das Synchronisierungsfeld hat den Titel "Veröffentlichen und aktualisieren". Über dieses Feld kann der Benutzer angeben, ob eine Aufgabenzeile veröffentlicht oder lediglich aktualisiert werden soll.

Verwenden Sie die folgende XML-Syntax, um anzugeben, welche Spalte dem Synchronisierungsfeld zugeordnet wird. Das ProjectField-Attribut muss auf eine gültige Microsoft Project-Spalte festgelegt werden.

<SyncField ProjectField="" />

Das andere spezielle Feld ist das Feld für Verknüpfungen und Anlagen. Mithilfe der Verknüpfungs- und Anlagenspalte können Benutzer angeben, ob Verknüpfungen oder Anlagen für eine bestimmte Aufgabenzeile vorhanden sind.

Verwenden Sie die folgende XML-Syntax, um anzugeben, welche Spalte dem Feld für Verknüpfungen und Anlagen zugeordnet wird. Das ProjectField-Attribut muss auf eine gültige Microsoft Project-Spalte festgelegt werden.

<LinksField ProjectField="" />

Das letzte besondere Feld ist das Kontextfeld. Das Kontextfeld ist ein Arbeitsaufgabentypfeld, das Informationen über die hierarchischen Beziehungen einer Arbeitsaufgabe zum Zusammenfassen von Arbeitsaufgaben anzeigt. Das Kontextfeld wird in Team Explorer angezeigt, damit Benutzer, die Microsoft Project nicht verwenden, erkennen können, zu welchen zusammengefassten Aufgaben eine untergeordnete Aufgabe gehört.

Verwenden Sie die folgende XML-Syntax zum Angeben, welches Arbeitsaufgabentypfeld das Kontextfeld ist. Zum Angeben eines Kontextfelds wird das ContextField-Element verwendet. Das WorkItemTrackingFieldReferenceName-Attribut muss einen gültigen Verweisnamen auf ein vorhandenes Arbeitsaufgabentypfeld enthalten.

<ContextField WorkItemTrackingFieldReferenceName="" />

Siehe auch

Aufgaben

Gewusst wie: Überprüfen von Klassifizierungsänderungen

Konzepte

Vorlagen-Plug-In für Windows SharePoint Services

Prozessvorlagen-Plug-In für Versionskontrolle

Prozessvorlagen-Plug-In für Berichte

Vorlagen-Plug-In für Gruppen und Berechtigungen

Microsoft Project-Feldzuordnungsdatei

Weitere Ressourcen

Prozessvorlagen-Plug-In für die Arbeitsaufgabenverfolgung