Dieser Artikel wurde maschinell übersetzt.

Team System

Anpassen von Arbeitselementen

Brian A. Randell

Beispielcode herunterladen

Team Foundation Server ’s Arbeitsaufgabenverfolgung System bietet eine Reihe von Optionen zur erweiterten Anpassung. Wenn Sie das neue Element Anpassung und das Objektmodell arbeiten Element ’re, können Sie meinen früheren Artikeln (siehe msdn.microsoft.com/magazine/cc301186.aspx) überprüfen, sowie die Dokumentation. Der Bereich in diesem Artikel eingegangen wird benutzerdefiniertes Steuerelement unterstützt. Um zu starten, warum möchten Sie ein benutzerdefiniertes Steuerelement in Ihrer Arbeitsaufgaben verwenden? Gut, sollten Sie eine bessere Benutzererfahrung, möglicherweise möchten Sie Daten von einem anderen externen System (z. B. eine Hilfe Helpdesk-Anwendung) zu verknüpfen bzw. Sie möglicherweise vorhandene Arbeitsaufgabendaten im Diagrammformat präsentieren möchten. Was der Grund können benutzerdefinierte Steuerelemente.

Benutzerdefinierte Steuerelemente

In der 2005 SP1-Version von Team System fügte Microsoft Unterstützung für benutzerdefinierte Steuerelemente, wenn Sie den standardmäßigen Arbeit Element Renderer in Visual Studio oder Ihren eigenen benutzerdefinierten Windows-Anwendungen verwenden. In der Version 2008 fügte Microsoft Unterstützung für benutzerdefinierte Steuerelemente von webbasierten für Team System Web Access. Sie schreiben ein benutzerdefiniertes Steuerelement als Kombination aus Benutzeroberfläche und Logik, die mit der Arbeitsaufgabe API interagiert. Benutzerdefinierte Steuerelemente in der standardmäßigen Arbeit Element Renderer gehostet sind Klassen, die von System.Windows.Forms.Control erben und die IWorkItemControl-Schnittstelle implementieren. Für Team System Web Access erstellen Sie eine Klasse, von der System.Web.UI.Control erbt und IWorkItemWebControl implementiert.

Zum Einstieg benötigen Sie Visual Studio 2008 Professional oder höher, die Visual Studio Team System 2008 Team Explorer und Zugriff auf Team Foundation Server. Wie bereits erwähnt in früheren Artikeln, empfehle ich Ihnen eine Testumgebung wie eines der von Microsoft bereitgestellte Virtual Machine Bilder verwenden. Erstellen Sie in Visual Studio-Klasse Bibliothek Projekt, und benennen Sie die Standardklasse Rang von der Vorlage hinzugefügt. Dieses benutzerdefinierte Steuerelement wird eine Kombinationsfeld-Schnittstelle für das integrierte Rank-Feld aus der integrierten Arbeitsaufgabentyp Aufgabe bereitstellen. Die Microsoft bereitgestellten Prozess Anleitungen Zustände: “ Erforderlich. Der Rang stellt eine subjektive Einschätzung der Wichtigkeit dar. Wenn das Feld Rang auf 1 festgelegt ist, wird der Vorgang ist ein Vorgang muss und sollte so bald wie möglich abgeschlossen werden. Wenn der Rang auf 2 festgelegt ist, ist die Aufgabe einen Vorgang sollte haben folgende Rangfolge 1 alle Vorgänge abgeschlossen werden. Wenn der Rang auf 3 festgelegt ist, ’s Sie einen Vorgang konnte müssen abgeschlossen werden, nachdem Aufgaben 1 und 2 eingestuft. eingeben Rank Feld beim Rendern verwendet jedoch ein öffnen Textfeld, das dem Benutzer zufällige Daten eingeben kann. Verwenden eines Kombinationsfelds ermöglicht Ihnen, die vom Benutzer eingegebenen Werte zu beschränken.

Sie müssen Verweise auf eine Anzahl von Assemblys hinzufügen, bevor Sie Code schreiben können. Zunächst benötigen Sie einen Verweis auf System.Windows.Forms. Zweitens müssen Sie eine Reihe von Team System-Assemblys verweisen. Fügen Sie zum Starten einen Verweis auf Microsoft.TeamFoundation.WorkItemTracking.Controls.dll, befindet sich in % %Programme%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

Fügen Sie am oberen Rand der Klassendatei die folgenden Imports-Anweisungen:

Imports System.Windows.Forms
Imports Microsoft.TeamFoundation.WorkItemTracking.Controls

Da Sie das vorhandene Textfeld-Steuerelement durch ein Kombinationsfeld ersetzen, möchten Sie die Rank Klasse, um ComboBox vererben. Nächste, damit der Arbeit Element Renderer zu Host des Steuerelements müssen Sie die IWorkItemControl-Schnittstelle implementieren. Die in Abbildung 1 gezeigte Schnittstelle besteht aus zwei Ereignisse, die vier Methoden und die vier Eigenschaften. Abbildung 2 bietet eine Aufschlüsselung der jedes Element und seinen Zweck.

Abbildung 1 Die IWorkItemControl-Schnittstelle

Public Interface IWorkItemControl
    Event AfterUpdateDatasource As EventHandler
    Event BeforeUpdateDatasource As EventHandler
    Sub Clear()
    Sub FlushToDatasource()
    Sub InvalidateDatasource()
    Sub SetSite(ByVal serviceProvider As IServiceProvider)
    Property Properties As StringDictionary
    Property [ReadOnly] As Boolean
    Property WorkItemDatasource As Object
    Property WorkItemFieldName As String
End Interface

Member Beschreibung

Member Beschreibung
AfterUpdateDatasource Löst dieses Ereignis aus, nachdem Sie Änderungen an den Arbeitswert für Artikel vorgenommen.
BeforeUpdateDatasource Löst dieses Ereignis, bevor Sie Änderungen an den Arbeitswert für Artikel vornehmen.
Löschen Löscht die Anzeigeelemente von Daten.
FlushToDatasource Speichert alle Daten im Steuerelement an der Arbeitsaufgabe; angezeigtTritt in der Regel als Teil einer Arbeitsaufgabe speichern-Operation.
InvalidateDatasource Lädt und zeigt aktuelle Daten aus der Arbeitsaufgabe.
SetSite Stellt einen Verweis auf die IServiceProvider müssen Sie Dienste innerhalb von Visual Studio; zugreifender Wert kann null sein.
Eigenschaften Eine Eigenschaftensammlung, relevanten Attribute für bestimmte Feld aus der XML-Definition der hosting Arbeitsaufgabentyp enthält.
ReadOnly Gibt an, dass das Steuerelement im Nur-Lesen-Modus angezeigt werden sollte.
WorkItemDatasource Ein Verweis auf die aktiven Arbeit Element Instanz;müssen Sie es in einem WorkItem-Instanz umgewandelt.
WorkItemFieldName Der Name des Felds an das das Steuerelement gebunden ist.

Abbildung 2 Mitglieder IWorkItemControl

Für jede der Eigenschaften der Schnittstelle müssen Sie ein entsprechendes Feld sichern zu erstellen. Um die WorkItemDatasource als einen stark typisierten Verweis zu speichern, müssen Sie einen Verweis auf die an % %Programme%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies gespeicherte Microsoft.TeamFoundation.WorkItemTracking.Client.dll-Assembly hinzufügen. Nachdem Sie diesen Verweis hinzugefügt, sollten Sie auch den Microsoft.TeamFoundation.WorkItemTracking.Client-Namespace importieren. Nachdem Sie die Eigenschaften mit Ihren Feldern sichern verknüpft ’ve, können Sie die Schnittstellenmethoden implementieren.

Bevor Sie tun, müssen Sie jedoch die Datenelemente für das Kombinationsfeld und Adresse die Frage definieren, ob Sie einfach die Werte anpassen möchten. Wenn dies der Fall ist, sollten Sie einen Mechanismus, z. B. ein Webdienst implementieren, die das Steuerelement, die aktuellsten Werte abzurufen ermöglicht. Zusätzlich, wenn Sie Zeichenfolgenwerte anzeigen möchten, sollten Lokalisierung Sie. In diesem Beispiel jedoch wir nur einem Standardkonstruktor, Hardcodes, die die Werte in der folgenden angezeigt hinzufügen. Beachten Sie, dass die Arbeit Element Runtime nur Steuerelemente unterstützt, die standardmäßig kein Konstruktor Argumente aufweisen.

Public Sub New()
  MyBase.New()

  Me.Items.Add("1 - Must Have")
  Me.Items.Add("2 - Should Have")
  Me.Items.Add("3 - Could Have")
End Sub

Sie sollten auch eine Implementierung für die Clear-Methode bereitstellen. Wenn die Arbeit Element Common Language Runtime das Steuerelement lädt, ist der angezeigte Wert wird standardmäßig leer. Um diesen Zustand wiederherzustellen, müssen Sie die SelectedIndex-Eigenschaft auf-1 in der Clear-Methode festgelegt. Die letzten beiden Methoden, die Sie implementieren müssen beziehen sich auf den Wert des Feldes Element gebundenen Arbeit zu und von der Arbeitsaufgabeninstanz laden und dann den Wert beibehalten, wenn der Benutzer die Arbeitsaufgabe speichert. ’S des Steuerelements anzuzeigenden Daten aus der aktuellen Arbeitsaufgabe aktualisieren oder löschen, der zuvor geladenen Daten verwenden Sie die InvalidateDataSource-Methode. Die Arbeit Element Runtime ruft FlushToDataSource, wenn die aktive Arbeitsaufgabe speichern. Abbildung 3 stellt eine Implementierung für beide Methoden für das Rank benutzerdefinierte Steuerelement bereit.

Abbildung 3 Implementierung von FlushToDatasource und InvalidateDataSource

Public Sub FlushToDatasource() _
  Implements IWorkItemControl.FlushToDatasource
 
  If SelectedIndex > -1 And workItemDS IsNot Nothing Then
    RaiseEvent BeforeUpdateDatasource(Me, EventArgs.Empty)
    workItemDS.Fields(fieldName).Value = CStr(SelectedIndex + 1)
    RaiseEvent AfterUpdateDatasource(Me, EventArgs.Empty)
  End If
End Sub

Public Sub InvalidateDatasource() _
  Implements IWorkItemControl.InvalidateDatasource
  If workItemDS IsNot Nothing AndAlso _
    Not String.IsNullOrEmpty(workItemDS.Fields(fieldName).Value) Then

    Dim current As Integer = CInt(workItemDS.Fields(fieldName).Value)
    ' Make sure the value returned does not exceed our valid range
    ' If it does, set it to our most important value
    If current > Me.Items.Count Then
      current = 1
    End If
    SelectedIndex = (current - 1)
  Else
    Clear()
  End If
End Sub

FlushToDataSource überprüft, ob der Benutzer einen Wert ausgewählt hat und der Verweis auf die aktive Arbeitsaufgabe noch gültig ist. Wenn dies der Fall ist, löst das BeforeUpdateDataSource-Ereignis, schreibt den aktuellen Wert in der Arbeitsaufgabe und folgt dies durch einen Aufruf von AfterUpdateDataSource. InvalidateDataSource überprüft, ob ein gültiger Verweis auf eine aktive Arbeitsaufgabe ’s. Wenn also es überprüft, wenn ein derzeit in das gebundene Feld gespeicherte Wert ’s, entnimmt den Wert, wenn vorhanden ist und in eine ganze Zahl umgewandelt, da es als Zeichenfolge gespeichert. Schließlich wird ein Bereich stellen Sie sicher, dass der Wert des unterstützten Bereichs des Steuerelements übersteigen doesn’t – in diesem Beispiel 1 bis 3. Hier wird der Code einfach den Wert auf 1 Wenn es außerhalb des unterstützten Bereichs ’s. Als Alternative können Sie einige Benutzeroberfläche um den Benutzer einen unterstützten Wert auswählen zu ermöglichen oder andere Erfahrung bereitstellen. Wenn ’s gibt es keine aktive Arbeitsaufgabe oder wenn der Benutzer keine Auswahl vorgenommen hat, ruft der Code schließlich die Clear-Methode des Steuerelements zurücksetzen. Abbildung 4 stellt die vollständige Implementierung des Rank-Steuerelements bereit.

Abbildung 4 die Rank Steuerelement

Imports System.Windows.Forms
Imports Microsoft.TeamFoundation.WorkItemTracking.Controls
Imports Microsoft.TeamFoundation.WorkItemTracking.Client
Imports System.Collections.Specialized

Public Class Rank
  Inherits ComboBox
  Implements IWorkItemControl
  ' Backing fields
  Private fieldName As String
  Private fReadOnly As Boolean
  Private serviceProvider As IServiceProvider
  Private workItemDS As WorkItem
  Private workItemProperties As StringDictionary

  Public Event AfterUpdateDatasource( _
    ByVal sender As Object, ByVal e As System.EventArgs) _
    Implements IWorkItemControl.AfterUpdateDatasource

  Public Event BeforeUpdateDatasource( _
    ByVal sender As Object, ByVal e As System.EventArgs) _
    Implements IWorkItemControl.BeforeUpdateDatasource

  Public Sub New()
    MyBase.New()
 
    Me.Items.Add("1 - Must Have")
    Me.Items.Add("2 - Should Have")
    Me.Items.Add("3 - Could Have")
  End Sub

  Public Sub Clear() Implements IWorkItemControl.Clear
    SelectedIndex = -1
  End Sub

  Public Sub FlushToDatasource() _
    Implements IWorkItemControl.FlushToDatasource

    If SelectedIndex > -1 And workItemDS IsNot Nothing Then
      RaiseEvent BeforeUpdateDatasource(Me, EventArgs.Empty)
      workItemDS.Fields(fieldName).Value = CStr(SelectedIndex + 1)
      RaiseEvent AfterUpdateDatasource(Me, EventArgs.Empty)
    End If
  End Sub

  Public Sub InvalidateDatasource() _
    Implements IWorkItemControl.InvalidateDatasource
    If workItemDS IsNot Nothing AndAlso _
      Not String.IsNullOrEmpty(workItemDS.Fields(fieldName).Value) Then
 
      Dim current As Integer = CInt(workItemDS.Fields(fieldName).Value)
      ' Make sure the value returned does not exceed our valid range
      ' If it does, set it to our most important value
      If current > Me.Items.Count Then
        current = 1
      End If
      SelectedIndex = (current - 1)
    Else
      Clear()
    End If
  End Sub

  Public Property Properties() As StringDictionary _
    Implements IWorkItemControl.Properties
    Get
      Return workItemProperties
    End Get
    Set(ByVal value As System.Collections.Specialized.StringDictionary)
      workItemProperties = value
    End Set
  End Property

  Public Property IsReadOnly() As Boolean _
    Implements IWorkItemControl.ReadOnly
    Get
      Return fReadOnly
    End Get
    Set(ByVal value As Boolean)
      fReadOnly = value
      Enabled = (Not fReadOnly)
    End Set
  End Property

  Public Sub SetSite(ByVal serviceProvider As IServiceProvider) _
    Implements IWorkItemControl.SetSite
    Me.serviceProvider = serviceProvider
  End Sub

  Public Property WorkItemDatasource() As Object _
    Implements IWorkItemControl.WorkItemDatasource
    Get
      Return workItemDS
    End Get
    Set(ByVal value As Object)
      workItemDS = TryCast(value, WorkItem)
    End Set
  End Property

  Public Property WorkItemFieldName() As String _
    Implements IWorkItemControl.WorkItemFieldName
    Get
      Return fieldName
    End Get
    Set(ByVal value As String)
      fieldName = value
    End Set
  End Property
End Class

Bevor Sie das Steuerelement versuchen können, müssen Sie drei zusätzliche Schritte ausführen. Zunächst müssen Sie eine einfache XML-Konfigurationsdatei bereitstellen, die das Steuerelement für die Arbeit Element Runtime definiert. Zweitens müssen Sie Bereitstellen der ’s Assembly Steuerelements Konfiguration Datei (sowie die PDB-Datei), wenn Sie debuggen möchten auf einen der die gültigen Positionen von der Common Language Runtime unterstützt. Schließlich müssen Sie zum Aktualisieren der Typdefinition für eine Arbeitsaufgabe, die das Feld Rank verwendet und fügen Sie die richtige Informationen das Control zu laden.

Bereitstellen und Debuggen

Jedes benutzerdefiniertes Steuerelement, das Sie erstellen benötigt eine WICC-Datei. Müssen Sie erstellen eine einfache XML-Datei wie hier dargestellt, die die Host Assembly und den Klassennamen des Steuerelements definiert.

<?xml version="1.0" encoding="utf-8" ?>
<CustomControl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Assembly>BrianRandell.MSDNMag.WICC.Winforms.dll</Assembly>
  <FullClassName>BrianRandell.MSDNMag.WICC.Winforms.Rank</FullClassName>
</CustomControl>

Nachdem Sie diese Datei erstellt, sollten Sie die WICC-Datei der DLL und der PDB an zwei Speicherorten kopieren. Wenn das Steuerelement nur für Ihr Konto angezeigt werden soll, kopieren Sie Sie zu % lokale Anwendung Data%\Microsoft\Team Foundation\Work Artikel Tracking\Custom Controls\9.0. Das Steuerelement für alle Benutzer auf einer bestimmten Arbeitsstation sichtbar ist, kopieren Sie die Dateien auf % Common Application Data%\Microsoft\Team Foundation\Work Artikel Tracking\Custom Controls\9.0. Wahrscheinlich müssen Sie die Ordnerstruktur unter dem Microsoft-Ordner erstellen. System.Environment.GetFolderPath können mit dem Wert der Environment.SpecialFolder.LocalApplicationData oder Environment.SpecialFolder.CommonApplicationData Sie herausfinden, die Pfade auf der lokalen Arbeitsstation. Nachdem Sie die Dateien auf eine der folgenden Verzeichnisse kopiert, müssen Sie die Typdefinition für eine Arbeitsaufgabe ändern – in diesem Beispiel wird der Task Arbeitsaufgaben aus der MSF Agile-Vorlage, um das Steuerelement zu verwenden. (Siehe meinen Artikel msdn.microsoft.com/magazine/dd221363.aspx Informationen.)

Sie können die Formularinformationen Layout für das Feld Rank ändern, wie in den folgenden Code dargestellt. Zur Laufzeit übergibt die Grundstruktur Arbeit Element die Attribute als Teil der ’s Feld-Layout-Definition auf das Steuerelement über die IWorkItemControl.Properties-Eigenschaft aufgeführt. Die einzige Änderung, die Sie müssen besteht darin, das Type-Attribut vom Standardwert FieldControl in Rang, den Namen des neu erstellten Steuerelements zu ändern. Nachdem Sie die Änderung vorgenommen und neue Arbeitsaufgaben-Typdefinition in einem Teamprojekt importiert haben, können Sie ausprobieren.

<Control Type="Rank" FieldName="Microsoft.VSTS.Common.Rank" 
Label="Ran&amp;k:" LabelPosition="Left" 
NumberFormat="WholeNumbers" MaxLength="10"/>

Debuggen, müssen Sie die aktuelle Bits in den richtigen Bereitstellung-Ordner kopiert und die geänderte Typdefinition in ein Teamprojekt importiert haben. Anschließend sollten Sie die Debug-Einstellungen für das Projekt, verwenden Sie die Option “ externes Programm starten eingeben und devenv.exe auf ändern (siehe Abbildung 5). Jetzt können Sie einige Haltepunkte festlegen und dem Debuggen beginnen.


Abbildung 5 wählen die Option externe Programm festlegen.

Produktionsbereitstellung

Nachdem Sie in Ihrem Steuerelement, alle Kinks bearbeitet, müssen Sie es für Personen, die die betroffenen Arbeitsaufgabe verwendet auf Arbeitsstationen bereitgestellt. Dazu können Sie eine Reihe von Möglichkeiten. Sie können ein Installationsprogramm mit der integrierten Visual Studio Vorlage erstellen, oder erstellen ein einfaches Skript, das als Teil eines Benutzers ’s Anmeldeskript und Xcopy die Dateien an Stelle ausgeführt wird. Schließlich können die Team Foundation Server Power Tools-Version vom Oktober 2008 bereits bereitgestellt, Sie die Bereitstellung-Funktion verwenden, die Power Tools bereitstellen. Um dieses Feature verwenden zu können, müssen Sie Ihre Assembly und ein Ordner % Team Project Name%/TeamProjectConfig/CustomControls WICC Datei einchecken. Anschließend müssen Sie lediglich die Option persönliche Einstellungen auf dem Knoten Teammitglieder zugreifen und die Option “ Installation heruntergeladen benutzerdefinierte Komponenten eingeben. Beachten Sie ’re sollten stark Ihrer Assemblys Namen, wenn Sie diese Funktion verwenden. Microsoft bietet weitere Informationen zu diesem Feature in den Hilfedateien Power Tools.

Vorsichtsmaßnahmen

Zu diesem Zeitpunkt Sie die Vorteile von benutzerdefinierten Steuerelementen gesehen. Nun ein paar Vorsichtsmaßnahmen wurde. Das erste große Problem ist Host unterstützt. Wir ein benutzerdefiniertes Steuerelement erstellt, das nur in Visual Studio 2008 oder eine Anwendung, dass Hosts Microsoft benutzerdefiniertes Steuerelement bereitgestellt ausgeführt wird. Wenn Sie Visual Studio 2005 unterstützen möchten, müssen Sie eine Version mit der Version 2005 von Team Explorer erstellen und Bereitstellen der Assembly und WICC Dateien separat. Und was Team System Web Access? In Theorie Wenn Sie nur Internet Explorer als Webbrowser verwenden, könnte dies funktioniert, aber es doesn’t. Was Sie sehen, ist Abbildung 6 ähnelt.


Abbildung 6 Unterstützung für Visual Studio 2005 erforderlich zusätzliche Schritte

Die gute Nachricht ist, dass der Team System Web Access 2008-Version ein eigenes benutzerdefiniertes Steuerelementmodell unterstützt. Finden Sie Dokumentation mit Beispielen unter % Programm %ProgramFiles%\Microsoft Visual Studio 2008 Team System Web Access\Sdk auf dem Computer, auf dem Team System Web Access installiert. Funktioniert dies jedoch nur, wenn die 2008-Version ausgeführtVersion 2005 doesn’t benutzerdefinierte Steuerelemente unterstützt. Darüber hinaus doesn’t ein Fremdanbieter-Produkt wie Teamprise entweder. Die beste Lösung ist mehrere LAYOUT-Elemente in ’s Arbeitselement-Typdefinition definieren. Anschließend müssen Sie die Definition für jedes Host nicht unterstützte oder anderen duplizieren. Dann möchten Sie das LAYOUT-Element mit einem Ziel-Attribut Dekorieren. Verwenden Sie für Windows WinForms, für den Wert. Verwenden Sie für Team System Web Access Web. Verwenden Sie für Teamprise Teamprise. msdn.microsoft.com/library/aa337635 (VS.80) .aspx für Weitere Informationen angezeigt.

Mit benutzerdefinierten Layouts löst das Problem Rendering, aber auch ein Licht an eine weitere feine Problem fällt. Hosts wie Microsoft Excel und Microsoft Project don’t benutzerdefinierte Steuerelemente zu unterstützen. Sie sind nicht betroffen von Korrekturen an das Layoutelement einen Arbeitsaufgabentyp. Daher wird Host, die das benutzerdefinierte Steuerelement unterstützen doesn’t die unformatierten Daten über die standard-Schnittstelle verfügbar machen. Im Fall von Feld Rank bedeutet, dass ein Bearbeitungsfeld standard. Jeder Host erzwingt die Regeln für die Arbeitsaufgabe definiert. Jedoch werden nicht benutzerdefinierter Logik, den Sie in das benutzerdefinierte Steuerelement implementieren. Also wenn Sie unten die Straße der Verwendung benutzerdefinierter Steuerelemente wechseln, müssen Sie informieren Sie Ihre Benutzer auf entsprechenden Dateneintrag Ausführung außerhalb unterstützte Hosts und achten Sie darauf, dass das Steuerelement entsprechende Gültigkeitsprüfung durchführt.

Team System 2010

Die bevorstehende 2010 Veröffentlichung von Team System verspricht, der Client und Server Anpassungsgüte voll sein. Im Mai 2009 veröffentlicht Microsoft Beta 1 für die Überprüfung. Wie Schreiben von dieser Spalte hat Microsoft eine zweite Betaversion irgendwann im Herbst von 2009 zugesagt. Während es noch einige Änderungen vorgenommen werden, ist Funktion für die Arbeitsaufgabenverfolgung sehr ausgereift. Die am häufigsten angeforderte Funktion von Microsoft bereitgestellten ist wohl, hierarchische Arbeitsaufgaben. Andererseits ich verwende, sodass nichts und alles, was hier erörtert vorbehalten zwischen jetzt und die endgültige Version ist die Beta 1-Version.

Frühere Versionen von Team Foundation Server unterstützen das Konzept der Arbeitsaufgaben verknüpfen. Wenn Sie eine Arbeitsaufgabe mit einer anderen Arbeitsaufgabe verknüpfen, erstellen Sie eine bidirektionale Beziehung. Jede Arbeitsaufgabe kann zu anderen Arbeitsaufgabe verknüpft werden. Während nützlich, doesn’t dieses Feature über-und untergeordneten Beziehungen bieten. Darüber hinaus sollten Sie außerdem definieren Sie Vorrang, etwas sehr häufig, wenn Sie Microsoft Project verwenden, um Aufgaben zu verwalten können. Glücklicherweise werden beide Bereiche in der Version 2010 behandelt. Um die neue Verknüpfung Semantik zu unterstützen, erstellt Microsoft zwei neue Abfrage Arbeitsaufgabentypen: Arbeitsaufgaben und direkte Verbindungen (Links Abfrage) und Struktur der Work Items (Struktur Abfrage). Wenn Sie eine neue Arbeitsaufgabenabfrage erstellen, können Sie wählen Sie eine dieser neuen Typen oder wählen Sie flach Liste von Arbeitsaufgaben, die den standardmäßigen Typ der Abfrage vor der Veröffentlichung 2010 zur Verfügung steht.

Erste Schritte, betrachten Sie die neue integrierte Arbeitsaufgabentypen und Arbeitsaufgabenabfragen. Da es mit früheren Versionen verfügt, ist Microsoft derzeit zwei Prozessvorlagen bereit. In dieser Phase des Entwicklungszyklus wird der Großteil Ihrer Arbeit in MSFT für V5. 0-Vorlage Agile Software Development angezeigt. Microsoft verspricht, dass die CMMI-basierten Version wichtige Aktualisierungen in der Beta 2-Version angezeigt wird. Folglich ich Agile Vorlage als meine Bezugspunkt verwenden. Nachdem Sie ein neues Teamprojekt erstellt und erweitert den Knoten Arbeitsaufgaben, Sie die bekannten Knoten Eigene Abfragen und Teamabfragen finden. Bemerken Sie zwei geringfügige Verbesserungen in Team Explorer-Fenster. Microsoft geändert zunächst die Sortierreihenfolge: Meine Abfragen sortiert vor Teamabfragen. Zweitens angepasst Microsoft für die einzelnen Knoten verwendeten Symbole. Wenn Sie den Knoten Teamabfragen öffnen, finden Sie die Liste der vordefinierten Abfragen erheblich geändert hat (siehe Abbildung 7). Beachten Sie außerdem, Sie, dass Microsoft einen neuen Ordner Arbeitsmappe Abfragen hinzugefügt hat. Dieser Ordner enthält Abfragen, die das neue Excel-Arbeitsmappen-Feature unterstützen. ’Re Sie frei, um die Abfragen ausgeführt, aber Sie sollten nicht ändern diese;Andernfalls konnte Sie unterbrechen, eine oder mehrere Arbeitsmappen, die diese bestimmten Abfragen abhängen.

TFS 2008 TFS 2010 Beta 1
Aktive Fehler Aktive Fehler
Alle Probleme Mein Fehler
Alle Servicequalitätsanforderungen Meine Aufgaben
Alle Szenarien Meine Testfälle
Alle Aufgabe Eigene Arbeitsaufgaben
Alle Arbeitsaufgaben Offene Probleme
Eigene Arbeitsaufgaben für alle Teamprojekte
Offene Aufgaben
Projektprüfliste Öffnen von Testfällen
Gelöste Fehler Öffnen Benutzer Artikeln
Untriaged Fehler Geöffnete Arbeitsaufgaben
  P1 und P2 aktive Fehler
  Gelöste Fehler
  Benutzer von Artikeln ohne Testfälle

Abbildung 7 vordefinierten Abfragen in Team System 2010

Sie aus den neuen Namen sehen, dass Microsoft an der gesamten Vorlage Tiefe Änderungen vorgenommen hat. Es sind neue Arbeit Elementtypen, wie Benutzer Artikel (siehe acht) und eigene Testfall. Microsoft hat für die Community überwacht und Tonnen des Feedbacks (z. B. Bedingungen mit häufiger übernommen werden) angewendet, vorgenommen Vereinfachungen und verbesserte Berichterstellung. Neue Excel-Arbeitsmappen erwähnten rich Projekt nachverfolgen früher bereitzustellen, ohne SQL Server Reporting Services, mit besser einschätzen und Ressourcen überwachen und neue Diagramme wie Brennen-Down-Diagramme. Während Microsoft näher Version bewegt, ich untersuchen weiter in der Version 2010 wie Ihre benutzerdefinierten Vorlagen und den benutzerdefinierten Code aktualisieren.


Abbildung 8 die Geschichte Benutzer vordefinierte Abfrage

Zusammenfassung

Arbeit Element benutzerdefinierte Steuerelemente in Team Foundation Server bieten einen schönen Mechanismus um die Verwendbarkeit von Arbeitsaufgaben in Ihren Teams zu verbessern. Dieses Feature ist, zwar nicht perfekt weiterhin um ihn besser machen Microsoft. Tatsächlich, wie ich der 2010 Veröffentlichung von Team System freuen, ich finden Sie eine sehr helle Zukunft für Team System als Ganzes und insbesondere Arbeitsaufgabenverfolgung.