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
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).aspxWenn nicht, kann man versuchen, das Process Template automatisch zu erkennen. Eine Anleitung dazu gibt es weiter unten. Das funktioniert ganz gut.
Herunterladen der Templates
Visual Studio öffnen, auf den Team Explorer wechseln, dort die Settings des Team Projekts auswählen und dann:
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?
set pt=Pfad zum gespeicherten TemplateScrum
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 TrackingTypeDefinitionsBug.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsCodeReviewRequest.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsCodeReviewResponse.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsEpic.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsFeature.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsFeedbackRequest.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsFeedbackResponse.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsImpediment.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsProductBacklogItem.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsSharedParameter.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsSharedStep.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsTask.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsTestCase.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsTestPlan.xml"
witadmin importwitd /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingTypeDefinitionsTestSuite.xml"
#REM #3 Import Link Types just in case coming from 2008
witadmin importlinktype /collection:%tpc% /f:"%pt%WorkItem TrackingLinkTypesSharedParameterLink.xml"
witadmin importlinktype /collection:%tpc% /f:"%pt%WorkItem TrackingLinkTypesSharedStep.xml"
witadmin importlinktype /collection:%tpc% /f:"%pt%WorkItem TrackingLinkTypesTestedBy.xml"
#REM #4 Import Categories
witadmin importcategories /collection:%tpc% /p:%tp% /f:"%pt%WorkItem Trackingcategories.xml"
#REM #5 Upload the new Common Config and Agile Config
witadmin importprocessconfig /collection:%tpc% /p:%tp% /f:"%pt%WorkItem TrackingProcessProcessConfiguration.xml"
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.
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?