cool IT Team-Blog

Umstellung des Process Templates für ein Microsoft Team Foundation Server Projekt

Ausgangssituation

Man hat ein Visual Studio Projekt, das mit dem Team Foundation Server verknüpft ist und ein Process Template hinterlegt, das man nicht mehr verwenden will.

Dieser Artikel geht davon aus, dass es sich um ein "MSF for Agile Development Template" handelt. Wenn man das hier beschriebene Prinzip aufgreift, ist das aber eigentlich egal.

Grundprinzip

​Die Installation eines Process Templates für ein Projekt funktioniert bei der Projekt-Neuanlage so, dass durch das Importieren eines XML-Files, das verschiedene Pfade und Einstellungen enthält, alle Tabellen für die Anlage von Work Items, etc. kreiert werden. Das ist auch der Grund, warum eine Umstellung auf automatische Art und Weise nicht so einfach ist.

Die Idee ist nun, sich das Template, das man verwenden will, zu holen und die darin enthaltenen Einträge, die man verwenden will (zum Beispiel neue WorkItems) zu importieren und damit die notwendigen Tabellen anzulegen.

Man kann auch nicht mehr zu verwendende Einträge löschen, auf äquivalente umbenennen oder Felder hinzufügen oder löschen - frei nach Belieben!

Der Artikel basiert auf diesem hier: http://nkdagility.com/upgrading-your-process-template-from-msf-for-agile-4-to-visual-studio-scrum-2-x/, der eine sehr gute Schritt-für-Schritt-Anleitung enthält.

Verstehen, welches Template man verwendet

Als gar nicht so leichte Aufgabe kann sich herausstellen, überhaupt herauszufinden, welches Template man installiert hat.
 
Wenn die Process Guidance aktiviert ist, erhält man auf diesem Weg einen Hinweis. https://msdn.microsoft.com/en-us/library/ms242876(v=vs.100).aspx

Wenn nicht, kann man versuchen, das Process Template automatisch zu erkennen. Eine Anleitung dazu gibt es weiter unten. Das funktioniert ganz gut.

Herunterladen der Templates

Der erste Schritt besteht darin, sich das Template, das man verwenden möchte, herunterzuladen. Der Speicherort ist egal, wichtig ist, dass man diesen dann für den Import braucht.
 
Visual Studio öffnen, auf den Team Explorer wechseln, dort die Settings des Team Projekts auswählen und dann:

Download a Process Template
Wenn man sich den Pfad anschaut und die darin enthaltenen xml-Dateien anschaut, sieht man, welche Typen und Konfigurationen auf diesem Weg importiert werden.

Man kann sich zum Vergleich auch das MSF-Template holen und schauen, welche Workitem-Types hier installiert worden sind. Dann sind die Unterschiede relativ schnell klar. 

Der Upgrade​

Entsprechend des Artikels von Martin Hinshelwood starten Sie einen Visual Studio Command Prompt mit Administratorrechten (elevated rights). Dort führen Sie folgenden Code aus (Ersetzen Sie die unten angeführten Variablen durch Ihre aktuellen. und spechern Sie diese als Batch-Datei).
 
set pt=Pfad zum gespeicherten Template\Scrum\
set tpc=https://Servername:Port/tfs/DefaultCollection/
set tp=NameTeamProject


#REM #1 Do Renames
witadmin renamewitd /collection:%tpc% /p:%tp% /n:"User Story" /new:"Product Backlog Item" /noprompt
witadmin renamewitd /collection:%tpc% /p:%tp% /n:"Issue" /new:"Impediment" /noprompt


#2 REM Apply new Template
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\Bug.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\CodeReviewRequest.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\CodeReviewResponse.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\Epic.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\Feature.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\FeedbackRequest.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\FeedbackResponse.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\Impediment.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\ProductBacklogItem.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\SharedParameter.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\SharedStep.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\Task.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\TestCase.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\TestPlan.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\TypeDefinitions\TestSuite.xml"


#REM #3 Import Link Types just in case coming from 2008
witadmin importlinktype /collection:%tpc% /f:"%pt%WorkItem Tracking\LinkTypes\SharedParameterLink.xml"
witadmin importlinktype /collection:%tpc% /f:"%pt%WorkItem Tracking\LinkTypes\SharedStep.xml"
witadmin importlinktype /collection:%tpc% /f:"%pt%WorkItem Tracking\LinkTypes\TestedBy.xml"


#REM #4 Import Categories
witadmin importcategories /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\categories.xml"


#REM #5 Upload the new Common Config and Agile Config
witadmin importprocessconfig /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Tracking\Process\ProcessConfiguration.xml"
 
Nach diesem Muster können Sie auch Definitionen löschen - das haben wir hier aber nicht gemacht.

Aktivieren der neuen Features

Um nun die neuen Features im Web Portal verwenden zu können, muss man sie aktivieren.

Das geht über die Systemsteuerung des Projekts im Portal. Dort findet man unter "Überblick" den Hinweis, dass versucht werden kann, die Features automatisch zu konfigurieren.

Automatische Erkennung des Process Templates

Nun sollte das Scrum Template gefunden werden und die Features sollten automatisch konfiguriert werden können. Sollte das schiefgehen, führen Sie das Upgrade-Batch-File noch einmal aus.

Tipp für die Anpassung der Queries

Queries können ganz bequem von einem Projekt in ein anderes kopiert werden, sogar mit Mehrfachselektion. Wenn diese also generisch und mit Variablen erstellt worden sind, ist das alles ganz rasch hergestellt.
 

Ist doch cool, oder?

LG,
Sabine​

Verfasst: 24.02.2016 14:12:27 von Sabine Stiller
Tags: Agile, Process Template, Scrum, Team Foundation Server, Visual Studio

1


Kommentare
Für diesen Blogbeitrag liegen zurzeit keine Kommentare vor.
Einen Kommentar schreiben



 Security code