Freigeben über


Hinzufügen und Anpassen eines Arbeitsaufgabentyps

Sie können Arbeitsaufgabentypen, die für ein bestimmtes Teamprojekt verwendet werden sollen, hinzufügen oder anpassen. Mit jedem Arbeitsaufgabentyp können Sie Felder, Zustände und Übergänge hinzufügen und das Formularlayout ändern. Sie können für jedes definierte Feld für den Typ Regeln hinzufügen und zulässige Werte definieren.

In dieser exemplarischen Vorgehensweise nehmen Sie Änderungen an den Komponenten des Typs vor, importieren die Änderungen in das Teamprojekt und überprüfen sie, indem Sie eine neue Arbeitsaufgabe dieses Typ öffnen.

Themeninhalt

Führen Sie die folgenden Schritte aus, um einen Arbeitsaufgabentyp hinzuzufügen und anzupassen:

  1. Erstellen eines Teamprojekts mit dem Namen "WITLab"

  2. Anzeigen des Arbeitsaufgabenformulars für den Aufgabentyp

  3. Eportieren des Aufgabentyps

  4. Kopieren und Umbenennen des Aufgabentyps zum Typ "Spezielle Aufgabe"

  5. Importieren des Typs "Spezielle Aufgabe" und Überprüfen der Änderungen

  6. Hinzufügen eines neuen Felds mit dem Namen "Category" zum Typ "Spezielle Aufgabe"

  7. Hinzufügen von Regeln zum Feld "Category"

  8. Erstellen einer Auswahlliste für das Feld "Category"

  9. Ändern des Workflows für den Typ "Spezielle Aufgabe"

  10. Ändern des Formularlayouts für den Typ "Spezielle Aufgabe"

Vorbereitungsmaßnahmen

Für die Durchführung dieser exemplarischen Vorgehensweise müssen folgende Bedingungen erfüllt sein:

  • Sie benötigen eine Kopie von Visual Studio, auf der Team Explorer installiert ist, sowie eine Verbindung mit Team Foundation Server. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Teamprojekten in Team Foundation Server und Zugriff auf die Teamprojekte.

  • 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.

Erforderliche Berechtigungen

Damit Sie diese Schritte ausführen können, müssen Sie Mitglied der Gruppe Team Foundation-Administratoren oder Mitglied der Gruppe Projektadministratoren für das Projekt sein. Weitere Informationen finden Sie unter Team Foundation Server-Berechtigungen.

Erstellen eines Teamprojekts mit dem Namen "WITLab"

So erstellen Sie ein Teamprojekt

  1. Starten Sie Visual Studio.

  2. Klicken Sie in Visual Studio im Menü Extras auf Mit Team Foundation Server verbinden.

    Tipp

    Wird diese Option nicht angezeigt, ist Team Explorer nicht installiert. Sie müssen Team Explorer installieren, bevor Sie eine Verbindung mit Team Foundation Server herstellen können.

  3. Wählen Sie im Dialogfeld Verbindung mit Teamprojekt herstellen aus der Liste Team Foundation Server einen Server mit Team Foundation Server aus.

  4. Wählen Sie im Dialogfeld Mit Teamprojekt verbinden aus der Liste Team Foundation Server den Server aus, auf dem die Teamprojektsammlung gespeichert ist, der Sie das Teamprojekt hinzufügen möchten.

    Tipp

    Wenn die Dropdownliste leer ist, klicken Sie auf die Schaltfläche Server, um manuell die Serververbindungseinstellungen einzugeben. Wenden Sie sich an den Team Foundation-Administrator oder den Teamprojektadministrator, um die richtigen Verbindungseinstellungen zu erhalten.

  5. Klicken Sie auf den Namen der Projektauflistung, der Sie das Teamprojekt aus der Liste Verzeichnis hinzufügen möchten.

  6. Klicken Sie auf Verbinden.

  7. Klicken Sie im Menü Datei auf Neues Teamprojekt.

    Tipp

    Wenn Sie die Umgebungseinstellungen des Projektmanagements nicht verwenden, zeigen Sie im Menü Datei auf Neu, und klicken Sie anschließend auf Teamprojekt.

    Der Assistent für neue Teamprojekte wird angezeigt.

    Tipp

    Wenn Sie noch keine Verbindung mit einem Team Foundation Server hergestellt haben, werden Sie nun aufgefordert, eine Verbindung herzustellen. Wiederholen Sie die Schritte 2 bis 6.

  8. Geben Sie auf der Seite Teamprojekteinstellungen angeben unter Wie lautet der Name des Teamprojekts? den Namen WITLab ein, und klicken Sie dann auf Weiter.

  9. 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.

  10. 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 mit dem Namen "WITLab" wird als Knoten in Team Explorer angezeigt.

Anzeigen des Arbeitsaufgabenformulars für den Aufgabentyp

Voraussetzungen: Sie müssen Erstellen eines Teamprojekts mit dem Namen "WITLab" abgeschlossen haben. Das Teamprojekt "WITLab" wird in einem Knoten in Team Explorer angezeigt.

So zeigen Sie ein Arbeitsaufgabenformular an

  1. Starten Sie Visual Studio, und öffnen Sie Team Explorer.

  2. Erweitern Sie in Team Explorer das Teamprojekt "WITLab", und warten Sie einige Augenblicke, bis die Ordner geladen werden.

  3. 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, das eine neue Arbeitsaufgabe "Aufgabe" darstellt, wird angezeigt. Einige Felder enthalten Standardwerte. An späterer Stelle in diesem Thema können Sie den Arbeitsaufgabentyp "Aufgabe", aus dem diese Arbeitsaufgabe erstellt wurde, anpassen.

Eportieren des Aufgabentyps

Voraussetzung: Sie müssen Erstellen eines Teamprojekts mit dem Namen "WITLab" abgeschlossen haben. Das Teamprojekt "WITLab" wird in einem Knoten in Team Explorer angezeigt.

So exportieren Sie einen Arbeitsaufgabentyp

  1. Öffnen Sie eine Visual Studio-Eingabeaufforderung.

  2. Geben Sie an der Eingabeaufforderung folgenden Befehl ein, und drücken Sie danach die EINGABETASTE:

    witadmin exportwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:WITLab /n:Task /f:"Dateipfad\task.xml"

    Dadurch wird der Arbeitsaufgabentyp "Aufgabe" aus Team Foundation Server in die Datei "task.xml" in den Ordner, in dem Sie den Dateipfad angeben, exportiert. Nach Abschluss des Exportvorgangs wird Folgendes angezeigt:

    Work item type export complete.

  3. (Optional) Wenn Sie die XML-Definition des Arbeitsaufgabentyps "Aufgabe" anzeigen möchten, geben Sie an der Eingabeaufforderung "Dateipfad**\ task.xml"** ein, und drücken Sie die EINGABETASTE.

Kopieren und Umbenennen des Aufgabentyps zum Typ "Spezielle Aufgabe"

Voraussetzung: Sie müssen den Vorgang Eportieren des Aufgabentyps abgeschlossen haben.

So kopieren Sie den Typ und benennen ihn um

  1. Klicken Sie in Visual Studio auf Datei, und klicken Sie dann auf Datei öffnen.

    Dadurch wird das Dialogfeld Datei öffnen angezeigt.

  2. Wechseln Sie unter Suchen in in das Verzeichnis, in das Sie die Datei exportiert haben.

    Wenn Sie einen Arbeitsaufgabentyp ändern, um eine Prozessvorlage anzupassen, navigieren Sie zu dem Speicherort, an den Sie die Vorlage heruntergeladen haben.

    Tipp

    Unter Windows Vista verfügen Sie möglicherweise für bestimmte Ordner über keine Berechtigungen. Wenn Sie versuchen, den Arbeitsaufgabentyp an einen Speicherort zu exportieren, für den Sie keine Berechtigungen festgelegt haben, wird die exportierte Datei durch die Technologie zur Registrierungsvirtualisierung automatisch umgeleitet und in einem virtuellen Speicher gespeichert. Um diese Umleitung zu vermeiden, können Sie die Datei an einen Speicherort exportieren, für den Sie Berechtigungen festgelegt haben. Weitere Informationen zur Registrierungsvirtualisierung finden Sie auf der Microsoft-Website: Registry Virtualization und Häufige Probleme mit der Datei- und Registrierungsvirtualisierung in Windows Vista.

  3. 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.

  4. Suchen Sie das folgende Element in der XML-Datei.

    <WORKITEMTYPE name="Task">
    
  5. Ändern Sie den Wert des Namensattributs in Spezielle Aufgabe.

    <WORKITEMTYPE name="Special Task">
    
  6. 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.

  7. Geben Sie specialtask.xml als Dateiname ein, und klicken Sie auf Speichern.

Importieren des Typs "Spezielle Aufgabe" und Überprüfen der Änderungen

Voraussetzung: Sie müssen den Vorgang Kopieren und Umbenennen des Aufgabentyps zum Typ "Spezielle Aufgabe" abgeschlossen haben.

So importieren Sie den neuen Typ

  1. Öffnen Sie eine Visual Studio-Eingabeaufforderung.

  2. Importieren Sie den Typ "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:

    witadmin importwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:WITLab /f:"Dateipfad\specialtask.xml"

    Dadurch wird der Typ "Spezielle Aufgabe" in das WitLab-Projekt auf dem Team Foundation Server importiert. Nach Abschluss des Importvorgangs wird Folgendes angezeigt:

    Work item type import complete.

  3. Wählen Sie in Team Explorer das Teamprojekt aus, und klicken Sie dann im Menü Ansicht auf Aktualisieren, um die neuesten Updates vom Server herunterzuladen.

    Diese Updates umfassen auch den Typ "Besondere Aufgabe", den Sie gerade importiert haben. Warten Sie einige Sekunden, bis alle Knoten geladen wurden. Für Knoten, für die noch ein Ladevorgang ausgeführt wird, wird In Arbeit angezeigt.

  4. Erstellen Sie eine Arbeitsaufgabe vom Typ "Spezielle Aufgabe". Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgaben, 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 neuen Felds mit dem Namen "Category" zum Typ "Spezielle Aufgabe"

Voraussetzung: Sie müssen den Vorgang Kopieren und Umbenennen des Aufgabentyps zum Typ "Spezielle Aufgabe" abgeschlossen haben.

So fügen Sie ein Feld hinzu

  1. Ö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.

  2. Suchen Sie den folgenden Abschnitt der XML-Datei:

    <FIELDS>
    
  3. Um ein Zeichenfolgenfeld mit dem Namen "Kategorie" und Hilfetext für eine QuickInfo zu erstellen, geben Sie das FIELD- und das HELPTEXT-Element wie in folgendem Beispiel ein:

    <FIELDS>
    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String">
        <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    </FIELD>
    

    Tipp

    Der Verweisname oder refname ist der programmgesteuerte Name für das Feld. Alle weiteren Regeln sollten auf diesen refname verweisen. Weitere Informationen finden Sie unter Benennungskonventionen für Arbeitsaufgabenverfolgungs-Objekte.

  4. Suchen Sie den Abschnitt der XML-Datei, in dem das Arbeitsaufgabenformular beschrieben wird.

    <FORM>
    
  5. 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>
    
  6. Um ein Steuerelement zur Anzeige des Felds Kategorie einzufügen, geben Sie das Control-Element mit Type="FieldControl" nach dem Steuerelement für System.IterationPath wie im folgenden Beispiel ein:

    <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>
    
  7. Klicken Sie im Menü Datei auf Speichern, um die Änderungen in der XML-Datei zu speichern.

  8. Importieren Sie den geänderten Typ "Spezielle Aufgabe" in Team Foundation Server. Wiederholen Sie dazu die im folgenden Verfahren angegebenen Schritte: Importieren des Typs Spezielle Aufgabe und Überprüfen der Änderungen.

    Beachten Sie das neue Formularfeld Category. Bewegen Sie den Mauszeiger über die Bezeichnung des Felds, um die QuickInfo anzuzeigen.

  9. 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 zum Feld "Category"

Voraussetzung: Sie müssen den Vorgang Hinzufügen eines neuen Felds mit dem Namen "Category" abgeschlossen haben.

So fügen Sie einem Feld Regeln hinzu

  1. Ö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.

  2. Suchen Sie den Abschnitt <FIELDS> der XML-Datei und darin das Feld Category.

  3. Fügen Sie das REQUIRED-Element wie im folgenden Beispiel hinzu, um Kategorie zu einem Pflichtfeld zu machen:

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    </FIELD>
    
  4. Klicken Sie im Menü Datei auf Speichern, um die Änderungen der XML-Datei zu speichern.

  5. Importieren Sie den geänderten Arbeitsaufgabentyp "Spezielle Aufgabe" in Team Foundation Server. Wiederholen Sie dazu die weiter oben in diesem Thema angegebenen Schritte: Importieren des Typs "Spezielle Aufgabe" und Überprüfen der Änderungen.

    witadmin importwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:WITLab /f:"Dateipfad\specialtask.xml"

    Das Feld Category wird jetzt hervorgehoben, wodurch angegeben wird, dass es erforderlich ist.

  6. Wählen Sie in der Arbeitsaufgabe Spezielle Aufgabe das Feld Titel aus, und geben Sie "Sample Task" ein.

  7. 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.

  8. Geben Sie im Feld Category für "Spezielle Aufgabe" eine Kategorie ein.

  9. Klicken Sie auf Speichern, um die Arbeitsaufgabe zu speichern.

    Die Option zum Speichern der Arbeitsaufgabe ist jetzt verfügbar.

  10. Klicken Sie auf Schließen, um die neue spezielle Aufgabe zu schließen.

Erstellen einer Auswahlliste für das Feld "Category"

Voraussetzung: Sie müssen den Vorgang Hinzufügen von Regeln zum Feld "Category" abgeschlossen haben.

So erstellen Sie eine Fehlerliste

  1. Ö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.

  2. Suchen Sie den Abschnitt <FIELDS> der XML-Datei und darin das Feld Category.

  3. Fügen Sie das ALLOWEDVALUES-Element und für jeden zulässigen Wert ein untergeordnetes LISTITEM-Element ein, um eine Liste von zulässigen Werten für das Feld Kategorie hinzuzufügen.

    <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>
    
  4. Löschen Sie das über dem ALLOWEDVALUES-Element aufgeführte REQUIRED-Element, um Kategorie zu einem optionalen Feld zu machen.

    <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>
    
  5. Klicken Sie auf Speichern, um die Änderungen in der XML-Datei zu speichern.

  6. Importieren Sie den geänderten Arbeitsaufgabentyp "Spezielle Aufgabe" in Team Foundation Server. Wiederholen Sie dazu die weiter oben in diesem Thema angegebenen Schritte: Importieren des Typs "Spezielle Aufgabe" und Überprüfen der Änderungen.

  7. Erstellen Sie eine Arbeitsaufgabe vom Typ "Spezielle Aufgabe". Klicken Sie hierfür mit der rechten Maustaste auf den Knoten Arbeitsaufgaben, 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.

  8. 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.

    Tipp

    Die zulässigen Werte in der Dropdownliste werden stets in alphabetischer Reihenfolge angezeigt. Die Reihenfolge der LISTITEM-Elemente in der XML-Datei ist dabei nicht von Bedeutung.

  9. 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 Workflows für den Typ "Spezielle Aufgabe"

Voraussetzung: Sie müssen den Vorgang Erstellen einer Auswahlliste für das Feld "Category" abgeschlossen haben.

So ändern Sie den Arbeitsablauf

  1. Ö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.

  2. 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, Aktiv und Geschlossen. Die Übergänge zwischen den Zuständen sind ebenso definiert wie der Anfangsübergang vom Zustand NULL, der beim Erstellen der Arbeitsaufgabe verwendet wird.

  3. Um der Typdefinition den Zustand "Unapproved" hinzuzufügen, fügen Sie ein weiteres STATE-Element über dem aktiven Zustand ein.

    <WORKFLOW>
      <STATES>
        <STATE value="Unapproved">
        </STATE>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    
  4. Erstellen Sie einen Übergang zwischen dem Zustand NULL und dem Zustand Unapproved. Suchen Sie dazu den Abschnitt der Arbeitablaufdefinition für Übergänge. Fügen Sie dem Zustand "Unapproved" anschließend ein TRANSITION-Element für den nicht zugewiesenen Zustand hinzu. 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>
    
  5. Löschen Sie das TRANSITION-Element für "nicht zugewiesen" bis "aktiv" und alle untergeordneten Elementen, die im folgenden Beispiel angezeigt werden. Führen Sie diesen Schritt aus, 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>
    
  6. Fügen Sie für den Anfangsübergang den Grund "Ported" hinzu, indem Sie das folgende REASON-Element nach dem Standardgrund einfügen. Durch diese Änderung können Benutzer überprüfen, ob eine Arbeitsaufgabe neu ist oder von einem anderen Nachverfolgungssystem portiert wurde.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
      </TRANSITION>
    ...
    
  7. Fügen Sie die COPY-Regel im folgenden Beispiel ein. Diese Regel legt den Namen des Benutzers, der die Arbeitsaufgabe erstellt hat, als Standardwert für das Feld Zugewiesen an fest. Diese Regel kann nur während des Anfangsübergangs ausgewertet werden.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
        <FIELDS>
           <FIELD refname="System.AssignedTo">
             <COPY from="currentuser" />
           </FIELD>
        </FIELDS>
      </TRANSITION>
    ...
    

    Tipp

    Durch das Einfügen dieser Regel in andere <TRANSITION>-Elemente oder <STATE>-Elemente wird die Regel auf andere Übergänge oder Zustände ausgeweitet.

  8. Fügen Sie das TRANSITION-Element und seine untergeordneten Elemente wie im folgenden Beispiel beschrieben ein, um einen Übergang vom Zustand "Unapproved" in den Zustand "Active" zu erstellen. 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>
    ...
    
  9. Klicken Sie auf Speichern, um die Änderungen in der XML-Datei zu speichern.

  10. Importieren Sie den geänderten Arbeitsaufgabentyp "Spezielle Aufgabe" in Team Foundation Server. Wiederholen Sie dazu die im folgenden Verfahren angegebenen Schritte: Importieren des Typs Spezielle Aufgabe und Überprüfen der Änderungen.

    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.

  11. 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.

  12. 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.

  13. Klicken Sie auf Speichern, um diesen Übergang zu speichern.

  14. Klicken Sie auf Schließen, um die spezielle Aufgabe zu schließen.

Ändern des Formularlayouts für den Typ "Spezielle Aufgabe"

Voraussetzung: Sie müssen den Vorgang Ändern des Workflows für den Typ "Spezielle Aufgabe" abgeschlossen haben.

So ändern Sie das Formularlayout

  1. Ö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.

  2. Greifen Sie auf den <TabGroup>-Abschnitt der XML-Datei zu. In den <Tab>-Elementen für Verknüpfungen und Dateianhänge enthalten die einzelnen <Tab>-Elemente das jeweilige <Control>-Element, das das jeweilige Steuerelement rendert.

    <Tab Label="Links">
      <Control Type="LinksControl" />
    </Tab>
    <Tab Label="File Attachments">
      <Control Type="AttachmentsControl" />
    </Tab>
    
  3. 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>
    
  4. Suchen Sie den Abschnitt der <Layout>-Definition von <FORM>, in dem die Gruppen Klassifizierung 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>
    

    Tipp

    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.

  5. Markieren Sie die Zeilen des CONTROL-Elements im folgenden Beispiel, 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>
    
  6. Löschen Sie die folgenden Zeilen aus dem Beispiel, um die Gruppe "Classification" von der aktuellen Position im Formular zu entfernen: Von <Group Label="Classification"> bis </Group>.

    <Layout>
      <Group>
        <Column PercentWidth="70">
          <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
        </Column>
        <Column PercentWidth="30">
          <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&amp;Discipline:" LabelPosition="Left" />
        </Column>
      </Group>
      <Group Label="Classification">
        <Column PercentWidth="100">
          <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left" />
          <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left" />
          <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
        </Column>
      </Group>
    
  7. Suchen Sie im Abschnitt <TabGroup> die folgenden Zeilen, die die Registerkarte Details definieren:

    <Tab Label="Details">
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&amp;xit criteria:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &amp;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 &amp;work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&amp;pleted work (hours):" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
      </Group>
    </Tab>
    
  8. Fügen Sie den Inhalt der Zwischenablage nach dem <Tab Label="Details">-Element 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" />
    ...
    
  9. Fügen Sie das Group- und das Column-Element wie im folgenden Beispiel ein, um die verschobenen Felder zu gruppieren und die Felder in zwei Spalten aufzuteilen:

    <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" />
    ...
    
  10. Klicken Sie auf Speichern, um die Änderungen in der XML-Datei zu speichern.

  11. Importieren Sie den geänderten Arbeitsaufgabentyp "Spezielle Aufgabe" in Team Foundation Server. Wiederholen Sie dazu die im folgenden Verfahren angegebenen Schritte: Importieren des Typs Spezielle Aufgabe und Überprüfen der Änderungen.

    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.

  12. 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.

Siehe auch

Konzepte

Anpassen von Projektnachverfolgungsdaten, Formularen, Workflow und anderen Objekten

Änderungsprotokoll

Datum

Verlauf

Grund

Juni 2010

Verweise auf fett formatierten Text auf Inhalt überprüft, der nicht fett formatiert ist.

Korrektur inhaltlicher Fehler.