Archive for the ‘Process-Template’ Category

h1

Anpassungsmöglichkeiten des TFS 2013

Juni 11, 2014

Beim Thema Anpassung und Erweiterung des TFS muss man sich immer mit verschiedenen Aspekten auseinandersetzen. So zum Beispiel:

  • “Welche Prozesstemplates gibt es und wo finde ich eine Dokumentation?”
  • “Welche Felder, Stati, Workflows gibt es?”
  • “Was kann ich wann ändern?”
  • “Wie kann ich ein bestehendes Projekt am Prozesstemplate updaten?”
  • “Welche Erweiterungsmöglichkeiten habe ich neben dem Prozesstemplate?”

Dazu habe ich ein paar passende Links gesammelt:

  • MSF for CMMI, MSF for Agile software development und Visual Studio Scrum process template liegen im Moment in Version 2013.2 vor. Eine Field-Reference findet sich hier.
  • Zum Thema Anpassungsmöglichkeiten des TFS im allgemeinen empfehle ich die folgenden Seiten: hier und hier
  • Zum Thema Möglichkeiten die Änderungen nachdem man ein Projekt mit einem bestimmten Template angelegt hat für bestehende Projekte zu übernehmen gibt es hier – eine schöne Gegenüberstellung von Pro und Contra der Varianten.
  • Zum Thema TFS 3rd Party Erweiterung war es eigentlich angedacht dieses Tool zu evaluieren.
  • Ein Videotraining in der Microsoft Virtual Academy zum Thema Anpassung und Erweiterung von TFS 2013 findet man hier.

Viel Spaß beim Anpassen und gerne nehme ich weitere gute Informationen als Kommentar entgegen.

Advertisements
h1

Microsoft Process Template (MPT) mit TFS2010

Juni 4, 2010

Microsoft hat auf Codeplex ein Template zur Verfügung gestellt, dass für Visual Studio Team System 2008 (VSTS) eine hierarchische Abbildung von Work Items ermöglicht. Mit TFS 2010 wird die Hierarchie nun aber von Haus aus unterstützt und somit ist mit Sicherheit eine Reimplementierung dieses Templates notwendig. Zur Zeit steht aber weder dieses Template auf Codeplex zur Verfügung noch, dass es Infos zu diesem Template im Zusammenhang mit TFS 2010 existieren.

Wir haben dieses Template etwas abgewandelt eingesetzt und standen jetzt aber vor dem Schritt, wie wir dieses weiter unter TFS 2010 supporten, bevor die Projekte auslaufen oder auf neue Templates migriert werden. Die gute Nachricht vorweg, wir haben einen Weg für uns gefunden, den zugehörigen Dienst weiterhin funktionstüchtig zu halten. Dazu hier ein kurzer Abriss zu den notwendigen Schritten:

  1. Es bietet sich an die Solution mit Visual Studio 2010 zu öffnen und die verwendeten Referenzen auf den TFS neu zu setzen (von Version 9.0.0.0 auf 10.0.0.0)
    image
    Das gilt für das Projekt “MptCodeLibrary” und “Test.UnitTest”
  2. Ein Recompile des Codes liefert jetzt einige Warnungen von denen man einige sehr schnell abarbeiten kann. Folgende Änderung sollte man auf jeden Fall durchführen:
       1: TeamFoundationServer tfs 

       2:   = TeamFoundationServerFactory.GetServer(serverName)

    ersetzen durch:

       1: TfsTeamProjectCollection tfs 

       2:   = TfsTeamProjectCollectionFactory.

       3:     GetTeamProjectCollection(new Uri(serverName));

  3. In der App.config müssen die WCF Einstellungen an 2 Stellen angepasst werden, weitere Infos findet man auch hier und hier

    image

    basicHttpBinding zu wsHttpBinding 
    und wsHttpBinding muss  an der entsprechenden Stelle noch konfiguriert werden:

       1: <bindings>

       2:     <webHttpBinding>

       3:     ...

       4:     </webHttpBinding>

       5:   <wsHttpBinding>

       6:     <binding name="noSecurity">

       7:       <security mode="None"/>

       8:     </binding>

       9:   </wsHttpBinding >          

      10: </bindings>

  4. Es muss jetzt die URL der Collection zu den Team Projekten in die App.config eingetragen werden.
       1: <teamServerSection>

       2:  <teamservers>

       3:   <teamserver servername="http://tfs:8080/tfs/default" />

       4:  </teamservers>

       5: </teamServerSection>

  5. In der TeamFoundationFacade muss in einer Methode die Sid ermittelt und mit übergeben werden (alter Code wurde auskommentiert):
       1: public void SignupForReceivingEvent(string serverName, 

       2:     string receiverPath, string filterExpression)

       3: {

       4: ...

       5:   try

       6:   {

       7:     //eventEndpoint.SubscribeEvent("Sid is ignored", 

       8:     //  "WorkItemChangedEvent", filterExpression, delPreference);

       9:     // get sid from current user

      10:     string sid 

      11:         = System.Security.Principal.WindowsIdentity

      12:         .GetCurrent().User.Value;

      13:     eventEndpoint.SubscribeEvent(sid, "WorkItemChangedEvent", 

      14:         filterExpression, delPreference);

      15:   }

      16: ...

      17: }

  6. Jetzt sollte man den Stand erreicht haben, dass wieder Events am Service ankommen, doch leider werden sie noch nicht richtig bearbeitet. Dazu muss eine weitere kleine Anpassung in GlobalListBuilder erfolgen (in diesem Fall wurde nur für eine Collection eine Unterstützung eingebaut!!!):
       1: private string DeriveTfsServerName(

       2:   XContainer workItemChangedEvent)

       3: {

       4:   ...

       5:   Uri artifactMoniker = new Uri(displayUrlElement.First().Value);

       6:   //IEnumerable<TeamServerConfiguration> teamServers 

       7:   //   = from teamServer in mptConfiguration.TeamServers where ...

       8: ...

       9:   //if (teamServers.Count() <= 0)

      10:   //    throw new MptException("Could not determine the TFS...

      11:   return artifactMoniker.Scheme + "://" 

      12:          + artifactMoniker.Authority 

      13:          +"/tfs/defaultCollection";

      14: }

  7. Jetzt sollte sowohl der Dienst als auch das TFS Event empfangen und bearbeiten funktionieren.

Ziel ist es nach der Migration des TFS 2008 auf TFS 2010 die Projekte mit dem MPT Template weiter zu unterstützen, aber perspektivisch auf ein neues Template zu migrieren. Dazu wollen wir die Tools von der TfsIntegration Plattform verwenden. Vielleicht kann ich ja dazu in den kommenden Wochen auch noch Erfahrungsberichte veröffentlichen.

h1

TFS 2010 Beta 2 Installation – Advanced Scenario

Dezember 2, 2009

Vor ein paar Tagen hatte ich ja schon kurz vom TFS 2010 Beta 2 berichtet. Jetzt kann ich auch ein paar Details berichten.

Ziel war es Application Tier (AT), Data Tier (DT) und Sharepoint voneinander zu trennen. Die Installation erfolgt also auf 3 Maschinen. Alle 3 wurden mit Windows 2008 R2 Enterprise Server ausgestattet. Auf dem DT wurde dann SQL Server 2008 Standard Edition SP1 mit Reporting- und Analysis Services installiert. Das ganze ging relativ schnell und ohne weitere Komplikationen. Jetzt wollte ich den AT installieren, da die SharePoint-Komponente für den TFS 2010 optional ist und somit auch im Nachgang installiert und konfiguriert werden kann.

Der AT ist eigentlich auch ziemlich übersichtlich zu installieren, nur an einer Stelle kann es passieren, dass man ins stocken gerät. Bei den Analysis Services erscheint wahrscheinlich bei den meisten erst mal der Fehler “TF255040: Install SQL Reporting Services or at a minimum SQL Client Connectivity Tools on the application tier to ensure Analysis Services object model is present for warehouse processing.” Meine Lösung zu dem Thema sieht wie folgt aus. Ich habe auf dem AT das SQL Management Studio 2008 installiert und den Installation-Wizard + TFS Admin-Console komplett geschlossen (das ist wichtig!!!). Nach dem neu Öffnen der TFS Admin Console und des Installation-Wizard hat der Test im Analysis Service Bereich nach Eingabe des SQL Servers geklappt und der Installation stand nix mehr im wege.

Beim Sharepoint 2007 (MOSS) auf dem W2k8 R2 Server gab es das nächste Problem (KB article 962935, der aber leider noch nicht live zu sein scheint…). Hier hilft ein Eintrag vom SharePoint Blog. Folgt man der Anleitung für SharePoint 2007 SP2 Slipsteam, dann klappt es mit der Installation auch ohne Fehlermeldung.

Jetzt, da endlich die TFS 2010 Beta 2 PowerTools verfügbar sind kann es auch mit dem Customizing des ProzessTemplates los gehen. Infos dazu kommen sicher bald.

h1

Team Foundation Server – Prozess Template anpassen

Juli 27, 2009

Wer sich schon immer gefragt hat wie man das Prozess Template anpassen kann kommt auf keinen Fall am “Process Template Manager” des TFS vorbei.

Zu finden ist dieser im “Team Explorer” (z.B. Visual Studio 2005/2008 öffnen) und das Team Explorer Fenster anzeigen (View > Team Explorer). Wenn man dort den TFS Server eingetragen hat, kann man den “Process Template Manager” unter “Team Foundation Server Settings” finden.

processtemplatemanager 
Process Template Manager starten

Im Manager kann man dann komplette Templates Hoch- und Runterladen sowie löschen.

processtemplatemanager1
Process Template Manager

Ein Prozess-Template besteht aus einer Reihe Ordner und Dateien (viel XML). Zum Anpassen eines Templates kann man z.B. ein vorhandenes (Standard-Template bei TFS Installation oder z.B. von Codeplex) in einen lokalen Ordner herunterladen und an der gewünschten Stelle mit Visual Studio bearbeiten.

processtemplatemanager2
Ordnerstruktur eines TFS Process Templates

Visual Studio unterstützt sowohl bei der Bearbeitung von Feldern, Layouts, Workflows und Workitem Typen. Das ganze kann man beliebig Komplex betreiben und ist sicher Inhalt vieler weiterer Blogeinträge, Artikel, …

processtemplatemanager3 
TFS Process Template im Visaul Studio bearbeiten


Hat man nun seine gewünschten Änderungen vorgenommen lädt man das angepasste Template über den Process Template Manager wieder hoch (Auswahl des Ordners wo die “ProcessTemplate.xml” liegt). Zuvor sollte man die Bezeichnung des Templates anpassen. War der Upload erfolgreich kann man nun ein neues Projekt mit dem gewünschten Template anlegen.

Viel Spaß beim ersten anpassen eines Templates.