Exemplarische Vorgehensweise: Vornehmen von grundlegenden benutzerdefinierten Anpassungen für einen Arbeitsaufgabentyp
In dieser exemplarischen Vorgehensweise nehmen Sie gängige benutzerdefinierte Anpassungen für einen vorhandenen Arbeitsaufgabentyp vor. Außerdem erhalten Sie Informationen zu den Tools für die Anpassung von Arbeitsaufgabentypen und die XML-Sprache, auf der diese basieren.
Diese Anpassungen werden in den folgenden Verfahren veranschaulicht:
Erstellen eines Teamprojekts In diesem Verfahren erstellen Sie ein Teamprojekt, das die Arbeitsaufgabentypen enthält, die Sie in den nachfolgenden Verfahren verwenden.
Anzeigen eines Arbeitsaufgabentyps In diesem Verfahren zeigen Sie das Formular eines vorhandenen Arbeitsaufgabentyps an.
Exportieren eines Arbeitsaufgabentyps In diesem Verfahren exportieren Sie die Definition des Arbeitsaufgabentyps in eine XML-Datei.
Umbenennen eines Arbeitsaufgabentyps In diesem Verfahren ändern Sie die XML-Datei mit der Definition des Arbeitsaufgabentyps, um den Namen des Arbeitsaufgabentyps von Aufgabe in Spezielle Aufgabe zu ändern.
Importieren von Änderungen In diesem Verfahren importieren Sie den im vorangehenden Verfahren geänderten Arbeitsaufgabentyp in Team Foundation Server.
Hinzufügen eines Felds In diesem Verfahren fügen Sie einem vorhandenen Arbeitsaufgabentyp das neue Feld Category hinzu.
Hinzufügen von Regeln zu einem Feld In diesem Verfahren fügen Sie eine Regel hinzu, durch die das neue Feld Category zu einem erforderlichen Feld wird.
Erstellen einer Auswahlliste In diesem Verfahren fügen Sie dem Feld Category eine Liste zulässiger Werte hinzu. Die neuen Werte werden als Auswahlmöglichkeiten in einer Arbeitsaufgabe angezeigt, die aus diesem Arbeitsaufgabentyp erstellt wird.
Ändern des Arbeitsablaufs In diesem Verfahren fügen Sie dem Arbeitsaufgabentyp neue Zustände und Übergänge hinzu.
Ändern des Formularlayouts In diesem Verfahren ändern Sie die Positionierung der Felder im Arbeitsaufgabenformular.
Vorbereitungsmaßnahmen
Wenn Sie diese exemplarischen Vorgehensweisen ausführen möchten, benötigen Sie Folgendes:
Eine Kopie von Visual Studio 2005 Team System oder Visual Studio 2005 mit Team Explorer und eine Verbindung zum Team Foundation Server. Weitere Informationen finden Sie unter Gewusst wie: Herstellen einer Verbindung mit Team Foundation Server.
Wenn Sie eine Verbindung mit einem Team Foundation Server herstellen können und über die entsprechenden Berechtigungen verfügen, können Sie grundlegende benutzerdefinierte Anpassungen für einen Arbeitsaufgabentyp an einer Eingabeaufforderung, in einer Batchdatei oder einer Skriptdatei ausführen. Hierzu müssen Sie entweder das Dienstprogramm Visual Studio 2005-Eingabeaufforderung verwenden oder an der aktuellen Eingabeaufforderung mithilfe von vsvars32 verschiedene Umgebungsvariablen festlegen, wie im folgenden Beispiel beschrieben. Weitere Informationen über das Beitreten zu einem Teamprojekt finden Sie unter Exemplarische Vorgehensweise: Herstellen einer Verknüpfung mit einem Teamprojekt.
So aktivieren Sie Team Foundation-Befehle an einer Eingabeaufforderung
- Klicken Sie auf Start, zeigen Sie auf Alle Programme, auf Microsoft Visual Studio 2005 und auf Visual Studio-Tools, und klicken Sie anschließend auf Visual Studio 2005-Eingabeaufforderung.
Stattdessen können Sie auch vsvars32 im Visual Studio-Installationspfad ausführen. Dieser lautet i. d. R. Laufwerkbuchstabe:\Programme\Microsoft Visual Studio 8\Common7\Tools.
Erstellen eines Teamprojekts
So erstellen Sie ein Teamprojekt
Starten Sie Visual Studio.
Öffnen Sie Team Explorer, indem Sie auf Ansicht und anschließend auf Team Explorer klicken.
Klicken Sie in Team Explorer mit der rechten Maustaste auf den Namen des Team Foundation Server, mit dem Sie eine Verbindung hergestellt haben, und klicken Sie auf Neues Teamprojekt.
Geben Sie im Dialogfeld Neues Teamprojekt auf <Name des Team Foundation-Servers> unter Wie lautet der Name des Teamprojekts? den Namen WITLab ein, und klicken Sie auf Weiter.
Klicken Sie auf der Seite Prozessvorlage auswählen unter Zum Erstellen des Teamprojekts verwendete Prozessvorlage auf MSF for Agile Software Development - <Versionsnummer> und dann auf Fertig stellen.
Das Erstellen des Teamprojekts erfordert möglicherweise mehrere Minuten.
Deaktivieren Sie, nachdem die Seite Das Teamprojekt wurde erstellt angezeigt wird, das Kontrollkästchen Prozessleitfaden starten, und klicken Sie auf Schließen.
Das neue Teamprojekt "WITLab" wird erstellt und in einem Knoten unter dem Team Foundation Server in Team Explorer angezeigt.
Anzeigen eines Arbeitsaufgabentyps
Voraussetzung: Sie haben das Verfahren Erstellen eines Teamprojekts abgeschlossen. Das Teamprojekt "WITLab" ist verfügbar.
So zeigen Sie einen Arbeitsaufgabentyp an
Starten Sie Visual Studio, und öffnen Sie Team Explorer.
Erweitern Sie in Team Explorer das Teamprojekt "WITLab", und warten Sie einige Augenblicke, bis die Knoten angezeigt werden.
Klicken Sie im Teamprojekt mit der rechten Maustaste auf den Knoten Arbeitsaufgaben, zeigen Sie auf Arbeitsaufgabe hinzufügen, und klicken Sie dann auf Aufgabe.
Ein Formular wird angezeigt, das die neue Arbeitsaufgabe Aufgabe darstellt. Einige Felder enthalten Standardwerte. In dieser exemplarischen Vorgehensweise passen Sie die den Arbeitsaufgabentyp Aufgabe an, aus dem diese Arbeitsaufgabe erstellt wurde.
Exportieren eines Arbeitsaufgabentyps
Voraussetzung: Sie haben das Verfahren Erstellen eines Teamprojekts abgeschlossen. Das Teamprojekt "WITLab" ist verfügbar.
So exportieren Sie einen Arbeitsaufgabentyp
Öffnen Sie eine Visual Studio-Eingabeaufforderung.
Ändern Sie das Verzeichnis in den Speicherort der Assembly, die die Arbeitsaufgabentypen enthält, indem Sie den folgenden Befehl eingeben, und drücken Sie die EINGABETASTE.
cd ..Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
Geben Sie an der Eingabeaufforderung Folgendes ein, und drücken Sie danach die EINGABETASTE:
witexport /f task.xml /t < Name des Team Foundation-Servers > /p WITLab /n Task
Dadurch wird der Arbeitsaufgabentyp Aufgabe vom Team Foundation Server in eine XML-Datei exportiert. Nach Abschluss des Exportvorgangs wird Folgendes angezeigt:
Work item type export complete.
(Optional) Wenn Sie die XML-Definition des Arbeitsaufgabentyps Aufgabe anzeigen möchten, geben Sie an der Eingabeaufforderung task.xml ein, und drücken Sie die EINGABETASTE.
Umbenennen des Arbeitsaufgabentyps
Voraussetzung: Sie haben den Vorgang Exportieren eines Arbeitsaufgabentyps abgeschlossen.
So benennen Sie den Arbeitsaufgabentyp um
Klicken Sie in Visual Studio auf Datei, und zeigen Sie auf Datei öffnen.
Dadurch wird das Dialogfeld Datei öffnen angezeigt.
Wechseln Sie unter Suchen in zur folgenden Position der Installation von Visual Studio:
<drive>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
Klicken Sie auf die Datei task.xml und dann auf Öffnen. Klicken Sie in der Eingabeaufforderung für Zeilenenden auf Nein.
Dadurch wird die Datei task.xml geöffnet. Dabei handelt es sich um die XML-Datei, die die Definition für den Arbeitsaufgabentyp Aufgabe enthält.
Suchen Sie das folgende Element in der XML-Datei.
<WORKITEMTYPE name="Task">
Ändern Sie den Wert des Namensattributs in Spezielle Aufgabe.
<WORKITEMTYPE name="Special Task">
Speichern Sie die Änderungen in einer neuen XML-Datei. Klicken Sie dazu in Visual Studio im Menü Datei auf task.xml speichern unter.
Das Dialogfeld Datei speichern unter wird angezeigt.
Geben Sie specialtask.xml als Dateiname ein, und klicken Sie auf Speichern.
Importieren von Änderungen
Voraussetzung: Sie haben das Verfahren Umbenennen des Aufgabentyps abgeschlossen.
So importieren Sie Änderungen
Öffnen Sie eine Visual Studio-Eingabeaufforderung.
Ändern Sie das Verzeichnis in den Speicherort der Assembly, die die Arbeitsaufgabentypen enthält, indem Sie den folgenden Befehl eingeben, und drücken Sie die EINGABETASTE.
cd ..Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
Importieren Sie den geänderten Arbeitsaufgabentyp in den Team Foundation Server. Geben Sie hierfür an der Visual Studio-Eingabeaufforderung den folgenden Befehl ein, und drücken Sie die EINGABETASTE.
witimport /f specialtask.xml /t < Name des Team Foundation-Servers > /p WITLab
Hiermit wird der Arbeitsaufgabentyp specialtask in Team Foundation Server importiert. Nach Abschluss des Importvorgangs wird Folgendes angezeigt:
Work item type import complete.
Wählen Sie Team Explorer aus, und klicken Sie im Menü Ansicht auf Aktualisieren, um die neuesten Aktualisierungen vom Server herunterzuladen.
Diese Aktualisierungen enthalten die soeben importierten Änderungen. Warten Sie einige Sekunden, bis alle Knoten geladen wurden. Auf Knoten, auf denen noch ein Ladevorgang ausgeführt wird, wird In Arbeit angezeigt.
Erstellen Sie eine neue Arbeitsaufgabe vom Typ Spezielle Aufgabe. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgabe, zeigen Sie auf Arbeitsaufgabe hinzufügen, und klicken Sie dann auf Spezielle Aufgabe.
Diese Arbeitsaufgabe wird aus dem von Ihnen geänderten und importierten Arbeitsaufgabentyp erstellt.
Hinzufügen eines Felds
Voraussetzung: Sie haben das Verfahren Umbenennen des Aufgabentyps abgeschlossen.
So fügen Sie ein Feld hinzu
Öffnen Sie die Datei, die die Definition des Arbeitsaufgabentyps Spezielle Aufgabe enthält. Klicken Sie hierfür in Visual Studio auf die Registerkarte SpecialTask.xml.
Suchen Sie den folgenden Abschnitt der XML-Datei.
<FIELDS>
Erstellen Sie das neue Zeichenfolgenfeld Category sowie einen Hilfetext für die QuickInfo, indem Sie den folgenden XML-Code eingeben (Fettformatierung).
<FIELDS> <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT> </FIELD>
Hinweis
Der Verweisname oder
refname
ist der programmgesteuerte Name für das Feld. Alle weiteren Regeln sollten auf diesenrefname
verweisen. Weitere Informationen finden Sie unter Feldverweisnamen.Suchen Sie den Abschnitt der XML-Datei, in dem das Arbeitsaufgabenformular beschrieben wird.
<FORM>
Suchen Sie die folgenden Zeilen im Abschnitt <FORM>.
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group>
Fügen Sie ein neues Steuerelement ein, das im Feld Category angezeigt werden soll, indem Sie den folgenden XML-Code eingeben (Fettformatierung):
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
Klicken Sie im Menü Datei auf Speichern, um die Änderungen der XML-Datei zu speichern.
Importieren Sie den geänderten Arbeitsaufgabentyp Spezielle Aufgabe in Team Foundation Server. Geben Sie hierfür an der Visual Studio-Eingabeaufforderung den folgenden Befehl ein, und drücken Sie die EINGABETASTE.
witimport /f specialtask.xml /t < Name des Team Foundation-Servers > /p WITLab
Tipp Sie können in der Befehlszeile auch einfach die NACH-OBEN-TASTE drücken, um den zuletzt eingegebene Befehl anzuzeigen.
Hiermit wird der Arbeitsaufgabentyp specialtask in Team Foundation Server importiert. Nach Abschluss des Importvorgangs wird Folgendes angezeigt:
Work item type import complete.
Klicken Sie in Team Explorer auf Aktualisieren, um die neuesten Aktualisierungen vom Server zu downloaden.
Diese Aktualisierungen enthalten die soeben importierten Änderungen. Warten Sie einige Sekunden, bis der Knoten Arbeitsaufgaben geladen wurde. Auf Knoten, auf denen noch ein Ladevorgang ausgeführt wird, wird In Arbeit angezeigt.
Erstellen Sie eine neue Arbeitsaufgabe vom Typ Spezielle Aufgabe. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgabe, zeigen Sie auf Arbeitsaufgabe hinzufügen, und klicken Sie dann auf Spezielle Aufgabe.
Diese Arbeitsaufgabe wird aus dem von Ihnen geänderten und importierten Arbeitsaufgabentyp erstellt.
Beachten Sie das neue Formularfeld Category. Bewegen Sie den Mauszeiger über die Bezeichnung des Felds, um die QuickInfo anzuzeigen.
Klicken Sie auf Schließen, um die neue spezielle Aufgabe zu schließen. Klicken Sie auf Nein, wenn Sie zum Speichern der Arbeitsaufgabe aufgefordert werden.
Hinzufügen von Regeln zu einem Feld
Voraussetzung: Sie haben das Verfahren Hinzufügen eines Felds abgeschlossen.
So fügen Sie einem Feld Regeln hinzu
Öffnen Sie die Datei, die die Definition des Arbeitsaufgabentyps Spezielle Aufgabe enthält. Klicken Sie hierfür in Visual Studio auf die mit specialtask.xml bezeichnete Registerkarte.
Suchen Sie den Abschnitt
<FIELDS>
der XML-Datei und darin das Feld Category.Machen Sie Category zu einem erforderlichen Feld, indem Sie der XML-Datei die folgende Regel hinzufügen. Die Regel wird in fett formatiertem Text angezeigt.
<FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT> <REQUIRED /> </FIELD>
Klicken Sie im Menü Datei auf Speichern, um die Änderungen der XML-Datei zu speichern.
Importieren Sie den geänderten Arbeitsaufgabentyp Spezielle Aufgabe in Team Foundation Server. Geben Sie hierfür an der Visual Studio-Eingabeaufforderung den folgenden Befehl ein, und drücken Sie die EINGABETASTE.
witimport /f specialtask.xml /t < Name des Team Foundation-Servers > /p WITLab
Hiermit wird der Arbeitsaufgabentyp specialtask in Team Foundation Server importiert. Nach Abschluss des Importvorgangs wird Folgendes angezeigt:
Work item type import complete.
Klicken Sie in Team Explorer auf Aktualisieren, um die neuesten Aktualisierungen vom Server zu downloaden.
Diese Aktualisierungen enthalten die soeben importierten Änderungen. Warten Sie einige Sekunden, bis der Knoten Arbeitsaufgaben geladen wurde. Auf Knoten, auf denen noch ein Ladevorgang ausgeführt wird, wird In Arbeit angezeigt.
Erstellen Sie eine neue Arbeitsaufgabe vom Typ Spezielle Aufgabe. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgabe, zeigen Sie auf Arbeitsaufgabe hinzufügen, und klicken Sie dann auf Spezielle Aufgabe.
Diese Arbeitsaufgabe wird aus dem von Ihnen geänderten und importierten Arbeitsaufgabentyp erstellt.
Das Feld Category ist jetzt hervorgehoben. Dadurch wird angegeben, dass es sich um ein erforderliches Feld handelt.
Wählen Sie in der Arbeitsaufgabe Spezielle Aufgabe das Feld Titel aus, und geben Sie "Sample Task" ein.
Klicken Sie auf der Symbolleiste auf Speichern, um die Arbeitsaufgabe zu speichern.
Ein Fehlerdialogfeld mit der Meldung, dass das Feld Category nicht leer sein darf, wird angezeigt. Klicken Sie auf OK, um das Dialogfeld zu schließen.
Geben Sie im Feld Category für Spezielle Aufgabe A category ein.
Klicken Sie auf Speichern, um die Arbeitsaufgabe zu speichern.
Beachten Sie, dass die Arbeitsaufgabe jetzt gespeichert werden kann.
Klicken Sie auf Schließen, um die neue spezielle Aufgabe zu schließen.
Erstellen einer Auswahlliste
Voraussetzung: Sie haben das Verfahren Hinzufügen von Regeln zu einem Feld abgeschlossen.
So erstellen Sie eine Fehlerliste
Öffnen Sie die Datei, die die Definition des Arbeitsaufgabentyps Spezielle Aufgabe enthält. Klicken Sie hierfür in Visual Studio auf die mit specialtask.xml bezeichnete Registerkarte.
Suchen Sie den Abschnitt
<FIELDS>
der XML-Datei und darin das Feld Category.Fügen Sie dem Feld Category eine Liste zulässiger Werte hinzu, indem Sie eine ALLOWEDVALUES-Regel einfügen. Die neue Regel wird in fett formatiertem Text im folgenden XML angezeigt.
<FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT> <REQUIRED /> <ALLOWEDVALUES> <LISTITEM value="Process Management" /> <LISTITEM value="Planning" /> <LISTITEM value="Execution" /> <LISTITEM value="Review" /> </ALLOWEDVALUES> </FIELD>
Machen Sie Category zu einem optionalen Feld, indem Sie die REQUIRED-Regel löschen (Fettformatierung).
<FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT> <REQUIRED /> <ALLOWEDVALUES> <LISTITEM value="Process Management" /> <LISTITEM value="Planning" /> <LISTITEM value="Execution" /> <LISTITEM value="Review" /> </ALLOWEDVALUES> </FIELD>
Klicken Sie auf Speichern, um die Änderungen in der XML-Datei zu speichern.
Importieren Sie den geänderten Arbeitsaufgabentyp Spezielle Aufgabe in Team Foundation Server. Geben Sie hierfür an der Visual Studio-Eingabeaufforderung den folgenden Befehl ein, und drücken Sie die EINGABETASTE.
witimport /f specialtask.xml /t < Name des Team Foundation-Servers > /p WITLab
Hiermit wird der Arbeitsaufgabentyp specialtask in Team Foundation Server importiert. Nach Abschluss des Importvorgangs wird Folgendes angezeigt:
Work item type import complete.
Klicken Sie in Visual Studio im Fenster Team Explorer auf Aktualisieren, um die neuesten Aktualisierungen vom Server herunterzuladen.
Diese Aktualisierungen enthalten die soeben importierten Änderungen. Warten Sie einige Sekunden, bis der Knoten Arbeitsaufgaben geladen wurde. Auf Knoten, auf denen noch ein Ladevorgang ausgeführt wird, wird In Arbeit angezeigt.
Erstellen Sie eine neue Arbeitsaufgabe vom Typ Spezielle Aufgabe. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgabe, zeigen Sie auf Arbeitsaufgabe hinzufügen, und klicken Sie dann auf Spezielle Aufgabe.
Diese Arbeitsaufgabe wird aus dem von Ihnen geänderten und importierten Arbeitsaufgabentyp erstellt.
Klicken Sie auf das Listenfeld für das Feld Category.
Beachten Sie, dass das Feld jetzt nur die von den ALLOWEDVALUES-Regeln angegebenen Werte unterstützt.
Hinweis
Der zulässigen Werte in der Dropdownliste werden stets in alphabetischer Reihenfolge angezeigt, die Reihenfolge der LISTITEM-Elemente in der XML-Datei spielt dabei keine Rolle.
Klicken Sie auf Schließen, um die neue spezielle Aufgabe zu schließen. Klicken Sie auf Nein, wenn Sie zum Speichern der Arbeitsaufgabe aufgefordert werden.
Ändern des Arbeitsablaufs
Voraussetzung: Sie haben das Verfahren Erstellen einer Auswahlliste abgeschlossen.
So ändern Sie den Arbeitsablauf
Öffnen Sie die Datei, die die Definition des Arbeitsaufgabentyps Spezielle Aufgabe enthält. Klicken Sie hierfür in Visual Studio auf die mit specialtask.xml bezeichnete Registerkarte.
Suchen Sie die Definition des Arbeitsablaufs für den Arbeitsaufgabentyp in der XML-Datei im Abschnitt
<WORKFLOW>
, wie im nachfolgenden XML dargestellt:<WORKFLOW> <STATES> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
Beachten Sie, dass nur zwei Zustände definiert sind, Active und Closed. Die Übergänge zwischen den Zuständen sind ebenso definiert wie der Anfangsübergang vom Zustand NULL, der beim Erstellen der Arbeitsaufgabe verwendet wird.
Fügen Sie der Typdefinition den Zustand Unapproved hinzu, indem Sie ein weiteres <STATE>-Element einfügen. Der neue Zustand wird in fett formatiertem Text angezeigt.
<WORKFLOW> <STATES> <STATE value="Unapproved"> </STATE> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
Erstellen Sie einen Übergang zwischen dem Zustand NULL und dem Zustand Unapproved. Suchen Sie dazu zunächst den Abschnitt der Arbeitablaufdefinition für Übergänge. Fügen Sie anschließend das nachfolgende XML ein (Fettformatierung). Durch diese Änderung wird allen neuen Arbeitsaufgaben dieses Typs zunächst der Zustand Unapproved mit dem Standardgrund New zugewiesen.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
Löschen Sie den Übergang zu Active, der im folgenden XML-Code angezeigt wird (Fettformatierung). Dies ist erforderlich, da nur ein Anfangsübergang festgelegt sein kann, und Sie nun den im nachfolgenden Schritt definierten Anfangsübergang "Ported" verwenden.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
Fügen Sie für den Anfangsübergang den Grund "Ported" hinzu, indem Sie den folgenden XML-Code einfügen (Fettformatierung). Dadurch wissen die Benutzer, ob die Arbeitsaufgabe neu ist oder von einem anderen System zur Nachverfolgung portiert wurde.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> </TRANSITION> ...
Fügen Sie die folgende Copy-Regel ein (Fettformatierung). Diese Regel verwendet für das Feld Zugewiesen an standardmäßig den Benutzer, der die Arbeitsaufgabe erstellt hat, und wird nur während des Anfangsübergangs ausgewertet.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> ...
Hinweis
Durch das Einfügen dieser Regel in andere
<TRANSITION>
-Elemente oder<STATE>
-Elemente wird die Regel auf andere Übergänge oder Zustände ausgeweitet.Erstellen Sie einen Übergang vom Zustand Unapproved in den Zustand Active, indem Sie den folgenden XML-Code einfügen (Fettformatierung). Aufgrund dieser Änderung kann durch die Genehmigung einer speziellen Aufgabe dieser Übergang stattfinden.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Unapproved" to="Active"> <REASONS> <DEFAULTREASON value="Approved" /> </REASONS> </TRANSITION> <TRANSITION from="Active" to="Closed"> <REASONS> <DEFAULTREASON value="Completed" /> <REASON value="Deferred" /> <REASON value="Obsolete" /> <REASON value="Cut" /> </REASONS> ...
Klicken Sie auf Speichern, um die Änderungen in der XML-Datei zu speichern.
Importieren Sie den geänderten Arbeitsaufgabentyp Spezielle Aufgabe in Team Foundation Server. Geben Sie hierfür an der Visual Studio-Eingabeaufforderung den folgenden Befehl ein, und drücken Sie die EINGABETASTE.
witimport /f specialtask.xml /t < Name des Team Foundation-Servers > /p WITLab
Hiermit wird der Arbeitsaufgabentyp specialtask in Team Foundation Server importiert. Nach Abschluss des Importvorgangs wird Folgendes angezeigt:
Work item type import complete.
Klicken Sie in Team Explorer auf Aktualisieren, um die neuesten Aktualisierungen vom Server zu downloaden.
Diese Aktualisierungen enthalten die soeben importierten Änderungen. Warten Sie einige Sekunden, bis der Knoten Arbeitsaufgaben geladen wurde. Auf Knoten, auf denen noch ein Ladevorgang ausgeführt wird, wird In Arbeit angezeigt.
Erstellen Sie eine neue Arbeitsaufgabe vom Typ Spezielle Aufgabe. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgabe, zeigen Sie auf Arbeitsaufgabe hinzufügen, und klicken Sie dann auf Spezielle Aufgabe.
Diese Arbeitsaufgabe wird aus dem von Ihnen geänderten und importierten Arbeitsaufgabentyp erstellt.
Der ursprüngliche Zustand lautet nun Unapproved, und der Grund ist standardmäßig auf New festgelegt. Darüber hinaus wird der Wert des Zugewiesen an standardmäßig auf den Kontonamen festgelegt. Klicken Sie auf das Feld Grund, um ein Listenfeld anzuzeigen, das die Gründe New und Ported enthält.
Geben Sie im Feld Titel einen Titel ein, und klicken Sie auf Speichern, um die Arbeitsaufgabe zu speichern. Warten Sie, bis der Speichervorgang beendet ist, wie durch Gespeicherte(s) Element(e) auf der Statusleiste angegeben wird.
Wählen Sie im Feld Zustand den Wert Active aus, um die Arbeitsaufgabe zu genehmigen und den Übergang erneut auszuführen. Das Feld Grund ist auf den Standardwert Approved festgelegt.
Klicken Sie auf Speichern, um diesen Übergang zu speichern.
Klicken Sie auf Schließen, um die spezielle Aufgabe zu schließen.
Ändern des Formularlayouts
Voraussetzung: Sie haben das Verfahren Ändern des Arbeitsablaufs abgeschlossen.
So ändern Sie das Formularlayout
Öffnen Sie die Datei, die die Definition des Arbeitsaufgabentyps Spezielle Aufgabe enthält. Klicken Sie hierfür in Visual Studio auf die mit specialtask.xml bezeichnete Registerkarte.
Suchen Sie den
<TabGroup>
-Abschnitt der XML-Datei. In den<Tab>
-Elementen für Verknüpfungen und Dateianhänge enthalten die einzelnen<Tab>
-Elemente das jeweilige<Control>
-Element, das das jeweilige Steuerelement wiedergibt.<Tab Label="Links"> <Control Type="LinksControl" /> </Tab> <Tab Label="File Attachments"> <Control Type="AttachmentsControl" /> </Tab>
Führen Sie die beiden
<Tab>
-Elemente in einem<Tab>
-Element für Verknüpfungen und Anhänge zusammen, die beide Steuerelemente enthält, indem Sie das XML aus dem vorherigen Schritt durch das nachfolgende XML ersetzen.<Tab Label="Links and Attachments"> <Control Type="LinksControl" Label="Links" LabelPosition="Top" /> <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" /> </Tab>
Suchen Sie den Abschnitt der
<Layout>
-Definition von<FORM>
, in dem die Gruppen Classification und Status beschrieben werden.<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
Hinweis
Alle Steuerelemente oder jede Gruppen sollten in einer Spalte angezeigt werden, auch wenn die Spalte sich über das ganze Formular erstreckt, um optimale Ergebnisse zu erzielen. Alle Spalten sollten wiederum in einer Gruppe angezeigt werden, auch wenn die Gruppe keine sichtbare Bezeichnung oder Begrenzung aufweist.
Markieren Sie die folgenden fett formatierten Zeilen, und klicken Sie im Menü Bearbeiten auf Kopieren, um diese zur späteren Verwendung in der Zwischenablage abzulegen.
<Column PercentWidth="70"> <Group> <Column PercentWidth="100"> <Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
Löschen Sie die fett formatierten Zeilen im folgenden XML, um die Gruppe Classification von der aktuellen Position im Formular zu entfernen.
<Layout> <Group> <Column PercentWidth="70"> <Control Type="FieldControl" FieldName="System.Title" Label="&Title:" LabelPosition="Left" /> </Column> <Column PercentWidth="30"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&Discipline:" LabelPosition="Left" /> </Column> </Group> <Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&Area:" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&Iteration:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
Suchen Sie im Abschnitt
<TabGroup>
die folgenden Zeilen, in denen die Registerkarte Details definiert ist:<Tab Label="Details"> <Group> <Column PercentWidth="50"> <Group Label="General"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&ue:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&xit criteria:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &build:" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="50"> <Group Label="Schedule"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Label="Remaining &work (hours):" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&pleted work (hours):" LabelPosition="Left" /> </Column> </Group> </Column> </Group> </Tab>
Fügen Sie den Inhalt der Zwischenablage an der folgenden Position ein, um diese Steuerelemente auf die Registerkarte Details zu verschieben.
<Tab Label="Details"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> <Group> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" /> ...
Nehmen Sie folgende fett formatierte Änderungen vor, um die verschobenen Felder zu gruppieren und die Felder in zwei Spalten aufteilen.
<Tab Label="Details"> <Group Label="Classification"> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group> </Column> </Group> <Group> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" /> ...
Klicken Sie auf Speichern, um die Änderungen in der XML-Datei zu speichern.
Importieren Sie den geänderten Arbeitsaufgabentyp Spezielle Aufgabe in Team Foundation Server. Geben Sie hierfür an der Visual Studio-Eingabeaufforderung den folgenden Befehl ein, und drücken Sie die EINGABETASTE.
witimport /f specialtask.xml /t < Name des Team Foundation-Servers > /p WITLab
Hiermit wird der Arbeitsaufgabentyp specialtask in Team Foundation Server importiert. Nach Abschluss des Importvorgangs wird Folgendes angezeigt:
Work item type import complete.
Klicken Sie in Team Explorer auf Aktualisieren, um die neuesten Aktualisierungen vom Server zu downloaden.
Diese Aktualisierungen enthalten die soeben importierten Änderungen. Warten Sie einige Sekunden, bis der Knoten Arbeitsaufgaben geladen wurde. Auf Knoten, auf denen noch ein Ladevorgang ausgeführt wird, wird In Arbeit angezeigt.
Erstellen Sie eine neue Arbeitsaufgabe vom Typ Spezielle Aufgabe. Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgabe, zeigen Sie auf Arbeitsaufgabe hinzufügen, und klicken Sie dann auf Spezielle Aufgabe.
Diese Arbeitsaufgabe wird aus dem von Ihnen geänderten Arbeitsaufgabentyp erstellt.
Beachten Sie, dass die Gruppe Classification nicht mehr im Hauptformular enthalten ist. Klicken Sie auf die Registerkarte Verknüpfungen und Anlagen und auf die Registerkarte Details, um die vorgenommenen Änderungen anzuzeigen.
Klicken Sie auf Schließen, um die neue spezielle Aufgabe zu schließen. Klicken Sie auf Nein, wenn Sie zum Speichern der Arbeitsaufgabe aufgefordert werden.
Nächste Schritte
Detaillierte Anweisungen für zusätzliche Anpassungen von Arbeitsaufgabentypen finden Sie unter Exemplarische Vorgehensweise: Durchführen von erweiterten Anpassungen für einen Arbeitsaufgabentyp.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Verwalten von Feldern in einem Arbeitsaufgabentyp
Weitere Ressourcen
Anpassen von Arbeitsaufgabentypen
Anpassen von Arbeitsaufgabentypen in Team Foundation Server