Der TFS Web Access ist ein Sensibelchen – Folge 1: „Die fehlende Backlog Priority“

TFS2013_WebAccessVeränderungen am TFS WorkItem Template können weitreichende Auswirkungen haben und sollten deshalb im Vorfeld gut durchdacht sein. So kann es z.B. vorkommen, dass durch den Import von Work Items aus einem anderen Prozess Template unerwünschte Nebenwirkungen auftreten und bestimmte Bereiche des Team Foundation Servers lahm gelegt werden. In „Der TFS Web Access ist ein Sensibelchen“ zeige ich Euch in mehreren Folgen, welchen Bereichen Ihr besonders Beachtung schenken solltet und wie Ihr auf eventuell auftretende Schwierigkeiten reagieren könnt. 

Wenn Ihr Änderungen an Eurem Work Item Modell plant oder Euer altes Work Item Modell in den TFS 2013 integrieren und dabei nicht Gefahr laufen wollt, Eure Backlogs und Boards im TFS Web Access zu verlieren, dann solltet Ihr unbedingt weiterlesen. In dieser Folge werde ich Euch zeigen was passiert, wenn das Feld Backlog Priority in der Work Item Definition nicht existiert.

Warum reagiert der TFS  Web Access eigentlich so sensibel auf Änderungen?

Mit der TFS  Version 2012 wurde der neue TFS Web Access eingeführt. Ich denke, es wird mir jeder zustimmen, wenn ich sage, dass der neue Web Access um Welten schöner und besser ist als der Alte. Während der alte Web Access hauptsächlich Work Item Queries und eine Ansicht auf die Source Control und Builds bereitgestellt hat, ist der neue Web Access zur Einsatzzentrale für Entwicklungsteams mutiert. Und das meine ich im positiven Sinne.

TFS2013_WebAccess

Zahlreiche neue Features wie z.B. ein Feature oder Product Backlog, ein Task Board und ein Kanban Board sind hinzugekommen und können Entwicklungsteams bei Ihrer täglichen Arbeit richtig gut unterstützen.

Um auf die Eingangsfrage zurückzukommen, warum der Web Access so sensibel auf Änderungen im Work Item Modell reagiert: Damit die Backlogs oder Boards und deren Hilfsfunktionen (Kapazitätsberechnungen, Zustandszuordnungen, etc.) funktionieren, existiert in den Konfigurationsdateien des TFS Web Access eine Referenz zu einigen Work Item Typen und Work Item Felder. Wenn nun eine dieser Referenzen nicht mehr gefunden wird, weil eventuell ein Work Item Typ oder Feld verändert wurde, kann es vorkommen, dass der Web Access nicht mehr funktionsfähig ist.

Die fehlende Backlog Priority

Für den Fall, dass ihr ein Work Item aus einer älteren TFS Version (TFS 2010 oder älter) importiert habt und es auch im Backlog des Web Access anzeigen möchtet, dann müsst ihr dieses Work Item in die Requirement Category aufnehmen. Wenn aber dieses Work Item nicht das Feld Backlog Priority enthält, kommt es ebenfalls zu einem Fehler.

TFS WebAccess - backlog priority

Der WebAccess benutzt dieses Feld, um die Priorisierung im Backlog zu verwalten. Dieses Feld wird automatisch vom TFS befüllt und ist damit systemrelevant. Weitere Informationen zur Backlog Priority findet ihr hier.

Um den Fehler zu beheben, müsst ihr also dieses Feld Microsoft.VSTS.Common.BacklogPriority in Eure Work Item Definition aufnehmen (Field Type: double | Reportable: Detail) und Euer Problem ist gelöst.

Wie das genau geht, könnt Ihr Euch in diesem kurzen Video ansehen:

Achtung: Alle Änderungen am Prozess Template des TFS, sowohl Work Item Änderungen als auch Änderungen an der Prozess Konfiguration, sollten unbedingt zuerst in einer Test-Umgebung geprobt werden. Ausserdem solltet Ihr immer auf die letzte Version Eurer Definitions-Dateien zurückgreifen können – bitte Versionskontrolle verwenden.