Die Tatasache, dass sich Visual Studio Team System inzwischen zu einem Produkt mit einer enormen Funktionsvielfalt entwickelt hat, wird schon alleine dadurch dokumentiert, dass es vom 22.04 bis 24.04 eine Konferenz gibt, die sich nur mit diesem Produkt beschäftigt. Die Vorträge decken dabei einen großen Bereich von Projektmanagement über Qualitätsmanagement bis hin zu Best Practices und Erfahrungsberichte ab. Ich selbst werde auch mit einem Vortrag zum Thema hierarchische Workitems vertreten sein. Wer schon mal einen Blick in die Zukunft werfen möchte, dem sei der Vortrag von Christian Binder zum Thema Rosario ans Herz gelegt. Würde mich freuen, den einen oder anderen Leser meines Blogs auf der TeamConf persönlich kennen zu lernen. Wer auch dort ist, kann mir einfach einen Kommentar hinterlassen. 
Bin gerade auf das Jing-Projekt gestoßen. Damit lassen sich ganz einfach Screenshoots und Screencasts erstellen. Auf Wunsch kann man die Ergebnisse bei Screencast.com hochladen (ein kostenloser Account wird bei der Installation mit eingerichtet) oder in Flickr bzw. auf einem eigenen FTP-Server oder einem Fileshre ablegen. Werde das mal testen, ob sich damit meine Blog-Beiträge etwas aufwerten lassen.  Download Jing-Projet
Weitgehend unbemerkt von der breiten Masse der Entwickler bringt das .net Framework 3.0 auch eine Bibliothek zum Erstellen von automatisierten UI-Tests mit. Unter %PROGRAMFILES%\Reference Assemblies\Microsoft\Framework\v3.0 finden sich folgen sich die benötigten DLLs. Damit kann man UI-Tests selbst programmieren und auch in Unit-Tests integrieren. Das entspricht zwar nicht der weit verbreiteten Erwartungshaltung, die eher von einer "Record & Play" Methode ausgehen, bietet aber verschiedene Vorteile in Bezug auf Wartbarkeit und Stabilität. Ich habe hier mal ein kleines Beispiel gebaut, das den Einsatz demonstriert: Ich werde in Kürze weitere Details bloggen und verschiedene Einsatzgebiete, Erweiterungen und auch Grenzen aufzeigen. Auch ein Webcast ist zu dem Thema geplant. Bis dahin erst mal ein paar weiterführende Dokumente. Leider ist da im Moment noch nicht sehr viel publiziert worden. http://msdn2.microsoft.com/en-us/magazine/cc163288.aspx http://msdn2.microsoft.com/en-us/accessibility/bb892133.aspx Das Tool ist auf jeden Fall interessant und da es kostenlos mit dem .net Framework mitkommt, sollte jeder der sich mit Software-Tests beschäftigt mal einen Blick drauf werfen.
Mit diesem DSL Tool kann man WCF-Services einfach un komfortabel mit Hilfe eines Designers im Visual Studio bauen. Echt schick! Wie der Class-Designer hat man Two-Way-Synchronisation zwischen Code und Designer. Alle wichtigen Code-Elemente können durch den Designer erstellt werden. Schade nur, daß das Tool unter VS2008 momentan noch nicht verfügbar ist.  Ein Video in dem man das Tool in Aktion sehen kann gibt es hier. Weitere Infos und Downloads gibt es hier.
Ich bin in den nächsten Wochen wieder unterwegs Wer mich mal gerne persönlich kennenlernen möchte, gerne bei einem der folgenden Termine: | 13.03.2008 | UG Karlsruhe | Vortrag zum Thema "Qualitätsmanagement mit VSTS und TFS - für Entwickler!" | | 18.03.2008 | UG München | Vortrag zum Thema "Qualitätsmanagement mit VSTS und TFS - für Entwickler!" | | | | Dieser Vortrag ist auf einen späteren Termin verschoben. Neuer Termin wird noch bekanntgegeben | | 10.04.2008 | UG Braunschweig | Vortrag zum Thema "Qualitätsmanagement mit VSTS und TFS - für Entwickler!" | | 11.04.2008 | AfterLaunch Köln | Doppelsession zum Thema "Team Foundation Server in der Praxis" | | 24.04.2008 | TeamConf München | Vortrag zum Thema "Programmierung mit dem TFS SDK - Hierarchische Workitems im TFS 2008" | | 29.04.2008 | artiso Innovationsdialog | Innovationsdialog zum Thema "SOA in der Praxis" | | 30.04.2008 | UG Stuttgart | Vortrag zum Thema "Qualitätsmanagement mit VSTS und TFS - für Entwickler!" | | 27.05.2008 | artiso Innovationsdialog | Innovationsdialog zum Thema "Windows, Web, WCF - Oberflächentechnologien heute und in Zukunft" | | 26.06.2008 | artiso Innovationsdialog | Innovationsdialog zum Thema "Software-Architektur - das Fundament jeder Anwendung" |
Bei der Neuinstallation eines Entwicklungsrechners dauert es immer ewig, bis man sich die ganzen nützlichen Helferlein zusammengesucht hat, die man im Laufe der Zeit zu schätzen gelernt hat. Deshalb habe ich mir gedacht, ich schreibe mir mal eine Liste, die ich dann immer wieder ergänzen kann. Und vielleicht ist für den einen oder anderen da auch noch was interessantes dabei. Also so könnte ein Entwicklungsrechner aussehen: Betriebsystem / Standardanwendungen: - Windows Vista Ultimate
- Office 2007
- SQL-Server 2005 Express
- SQL-Server 2005 Management Studio
Entwicklungsumgebung: Tools Stand 12.03.2008 To be continued...
Die Frage "Wie lösche ich ein Team Projekt von meinem Team Foundation Server?" taucht immer wieder auf. Deshalb hier ein paar Infos dazu: 1.) Im Sourcecontrolexplorer kann man nur Dateien aus der Quellcodeverwaltung löschen 2.) Auch mit dem Commandozeilentool tf delete werden nur Quellcode-Dateien gelöscht. 3.) Zum Löschen eines kompletten Team-Projekts verwendet man das Commandozeilentool TfsDeleteProject /server:myteamserver “My Project“
Beim Betrieb des TFS gibt es hin und wieder Probleme mit dem lokalen Cahce. Vor allem wenn man mit mehreren Servern arbeitet, kommt es da immer wieder mal zu Problemen. Diese lassen sich durch Löschen des Caches lösen.Für mich selbst zur Erinnerung hier nochmals die Pfade: Unter XP: C:\Dokumente und Einstellungen\<User>\Lokale Einstellungen\Anwendungsdaten\Microsoft\Team Foundation\2.0\Cache Unter Vista: C:\Users\<User>\AppData\Local\Microsoft\Team Foundation\2.0\Cache
Um SQL-Projekte aus dem Management-Studio mit der Versionsverwaltung des Team Foundation Server zu verwalten gibt es einen recht einfachen Weg. Zunächst muss der MSSCCI-Provider installiert werden. Dann geht man im Management-Studio unter Tools / Options auf Source_Control und prüft, ob der richtige Provider eingestellt ist. Dann kann man seine Management-Studio Projekte einfach in die Quellcode-Verwaltung einfügen, wie man das aus Visual Studio gewohnt ist. Also einfach rechte Maustaste auf die Solution und Add Solution to Source Control. Nach der Auswahl des Servers und erfolgter Anmeldung wählt man den Ordner in der Versionsverwaltung aus. Und schon kann man seine SQL-Scripts in der Versionsverwaltung auschecken, einchecken etc. 
Ich bin gerade von der BASTA! Spring zurückgekehrt. Ich hatte dort 2 Vorträge.
Der absolute Oberknüller war mein erster Vortrag:
Beginn: 17:30 Uhr Thema: Qualitätsmanagement mit VSTS
ich hatte mich eigentlich schon darauf eingestellt, in einer kleinen überschaubaren Runde das Thema mit zwei Leuten zu diskutieren, die sich eigentlich nur verlaufen haben oder in den anderen Sessions keinen Platz mehr bekommen haben. Aber was soll ich sagen. Die Bude war voll! Den Vortrag haben sich ca. 50 Leute angehört und keiner ist vorzeitig gegangen oder eingeschlafen (glaube ich mal). Ich habe dann in dem Vortrag versucht, das Tooling aus dem VSTS, das bereits einige Speaker vor mir vorgestellt haben, in einen Prozess einzubinden, damit am Ende möglichst viel Qualität rauskommen. Danke für das große Interesse.
Hier noch meine Folien zu dem Vortrag:
Die zweite Session war zum Thema Programmierung mit dem TFS SDK.
Zu diesem Vortrag gibt es die
Folien, das
Demo  und auch noch das Video, das ich ganz am Anfang gezeigt habe.
Das TFS DataWarehouse wird standardmäßig jede Stunde aktualisiert. Das kann oft zu lange sein, gerade wenn man Reports neu anlegt. Will man nicht bis zur nächsten automatischen Aktualisierung warten, kann man das auch manuell anstarten. Hierzu ruft man die folgende URL auf dem TFS Application Tier auf: http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx?op=Run Dann einfach auf Invoke klicken uns schon startet der Aktualisierungs-Prozess
Das Veröffentlichen von Test Results auf dem TFS-Server ist eine schöne Sache, die vor allem die Kommunikation zwischen Tester und Entwickler erleichtert Aber damit gibt es immer wieder Probleme. Ich hatte gerade so einen Fall und möchte den hier kurz beschreiben, vielleicht kann jemand anderer sich damit Zeit sparen. Nach dem Publish erhielt ich immer die Meldung "The test result share \\notebook_thomas\builds\WVBuild_20080226.3\TestResults\41577b87-2935-473c-bf03-423c777cd030 is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions. Failed to upload test run results to the drop location '\\notebook_thomas\builds'. Ask your server administrator to make the drop location available." Das Problem liegt, wie sich aus der Fehlermeldung vermuten lässt, in den Berechtigungen. Ich hatte als Szenario den Build-Agent auf dem selben Rechner eingerichtet, auf dem ich auch entwickle. Wichtig sind hier zwei Dinge: - Es müssen die Berechtigungen auf dem Verzeichnis und auf dem Build Share eingerichtet sein.
- Es müssen Berechtigungen für den lokalen User eingerichtet sein.
Bei mir war Punkt 2 das Problem. Ich hatte für den lokalen Benutzer, mit dem ich im Visual Studio arbeite, keine Berechtigungen auf dem Share, deshalb diese Meldung. Nachdem ich diese Berechtigung eingetragen habe, funktionierte es ohne Probleme.
In den letzten Tagen wurde ich häufiger gefragt, welche Edition von Visual Studio man benötigt, um mit dem Team Foundation Server zu arbeiten. Viele sind irrtümlicherweise der Meinung, dass der TFS nur mit dem VSTS zusammenarbeitet, aber das stimmt glücklicherweise nicht. Bereits ab der Standard-Edition wird der Team-Explorer in Visual Studio integriert und man hat Zugriff auf die Quellcode-Verwaltung und Workitems, wie man das auch aus dem VSTS zusammen mit dem TFS gewohnt ist. Da der Team-Explorer sich ja auch als Standalone installieren lässt, wäre theoretisch auch ein Arbeiten mit der Express-Edition möglich, aber das ist natürlich nicht mehr sehr komfortabel. Ich würde aber auf jeden Fall dei Professional-Edition von Visual Studio 2008 empfehlen, da diese nun auch Unit-Tests unterstützt und für einen normalen Entwickler damit eigentlich ausreichend sein sollte.
Brian Harry beschreibt in diesem Beitrag verschiedene Upgrade-Szenarien, so z.B. auch wie eine Workgroup-Edition auf eine Full Version upgegraded (furchtbar diese Entwickler, können einfach kein Deutsch, hat jemand dafür eine Übersetzung?) werden kann. Danke an Lars für den Link bharry's WebLog : How do I upgrade to TFS 2008?
In Köln wird von den regionalen Communities ein Event organisiert. Für alle, die den Launch-Event von Microsoft in Frankfurt verpasst haben oder denen dabei die Praxis etwas zu kurz kam, sollten sich diesen Event vormerken. Ich selbst werde dort in 2 Tracks einen Überblick über den Team Foundation Server geben. Hier noch ein paar Infos zum Event: Es braut sich etwas zusammen in Nordrhein-Westfalen! Anlässlich der Vorstellung von Windows Server 2008, SQL Server 2008 und Visual Studio 2008 haben sich die User Groups aus Bonn (Bonn-to-Code.Net), Köln (.net User Group Köln) und vom Niederrhein (VfL Niederrhein) zusammengetan, um unter der Schirmherrschaft des JustCommunity e.V. ergänzend zum offiziellen Launch ein Community-Event der besonderen Art auf die Beine zu stellen: - Ein ganzer Tag voller Vorträge, verteilt auf drei parallele Tracks
- Sprecher, die als Entwickler und IT-Professionals aus ihrer täglichen Arbeit heraus Praxiswissen vermitteln
- Große Verlosung u.a. von Windows Server 2008, SQL Server 2008 und Visual Studio 2008 (not-for-resale-Versionen)
- Vielfältige Möglichkeiten zum Networking mit anderen Teilnehmern und Firmen aus der Region
Und das zu einem Preis von 8,- Euro, in dem auch noch Verpflegung und Parkausweis enthalten sind.
AFTERLAUNCH Launch war gestern - heute ist Praxis Freitag 11. April 2008, KonferenzZentrum im Technologiepark Köln
Anmeldung und weitere Infos auf www.afterlaunch.de
Ich war die vergangenen 3 Tage auf dem Launch-Event von Microsoft in Frankfurt als ATE. Das war wirklich mal eine Konferenz wie ich Sie bisher im .Net Umfeld noch nicht kannte. 7.500 Teilnehmer! Als Veranstaltungort hatte Microsoft die Messe Frankfurt ausgewählt und durch die langläufigen Gebäude waren leider die Wege recht weit.  | Das war nur die AUssteller-Halle. Hier bekommt man eine Ahnung wie groß die Veranstaltung war. | Ich war als ATE (Ask the Expert) mit dem Schwerpunkt Team Foundation Server aktiv und habe in den 3 Tagen viele Fragen zu dem Thema beantworten können und auch viele interessante Diskussionen geführt. Schön für mich war, dass man merkte, dass der Team Foundation Server nun langsam an Fahrt aufnimmt und immer mehr Verbreitung findet. Das konnte man sicher an der Zahl der Fragen zu dem Thema ablesen und sicher hat auch die Tatsache, dass sich eine Vollversion im Give-Away-Paket der Teilnehmer befand, dazu beigetragen, das der eine oder andere sich mit dem Thema nun doch auseinandersetzt.  | Der ATE-STand | Christian Binder hatte eine ganze Reihe von Vorträgen zum Thema VSTS und hatte mich im Vorfeld gebeten, einen kleinen Praxisbericht einzubauen. Ich konnte dann in einer seiner Sessions vor rund 600 Zuschauern in 10 Min. demonstrieren, wie wir den TFS im Rahmen unseres Entwicklungsprozesses nutzen. Da eine Live-Demo in dieser Zeit unmöglich ist, habe ich eine für mich neue Präsentationsform gewählt. Ich habe die Aktionen in einem Video aufgezeichnet und das Video dann live kommentiert. Damit konnte ich dann Sequenzen in denen beispielsweise Daten erfasst werden beschleunigt ablaufen lassen und so viel Zeit sparen. Ich schätze mal Live hätte das Ganze sicher 45 Minuten gedauert. In 10 Min. einen Entwicklungsprozess vom Kundengespräch bis zur Implementierung zu zeigen, man kann sich das Tempo des Vortrags vorstellen. Für alle, denen das zu schnell ging oder wer nicht dabei war, hier ist das Video nochmal zum Download. Danke an Chris. War echt eine geile Show. Das Feedback danach auf dem ATE-Stand war einfach überwältigend. Für mich war es eine echt coole Veranstaltung und ich habe viele neue Eindrücke und Kontakte mit nach Hause genommen. Bleibt nur zu hoffen, dass das Thema TFS nun endlich die breite Masse der Entwickler erreicht - ein echt cooles Tool, das sich jeder mal anschauen sollte.
Ich war am 13.02 und 14.02 auf der VSOne und habe dort insgesamt 4 Sessions gehalten. Für mich war es eine tolle Veranstaltung, die Resonanz auf meine Vorträge war sehr positiv und ich konnte viele interessante Diskussionen mit Teilnehmern und Sprecherkollegen führen. Hier nun meine Slides und den Code zum Download: Session Requirement Management mit Team Foundation Server Bei dieser Session habe ich vorgestellt, wie wir bei uns im Hause mit Hilfe des Team Foundation Servers Requirements verwalten. Hierbei kommt auch der artiso Workitem-Manager zum Einsatz um Workitems hierarchisch zu strukturieren. Spezifikationsdokumente Verwalten Spezifikationsdokumente werden oft als monolithische Worddokumente verwaltet Daraus ergeben sich eine Reihe von Problemen, die wir mit unserem Ansatz lösen, die Spezifikation in kleine Dokumente aufzuteilen und so jede einzelne Funktion zu Spezifizieren. Hierzu nutzen wir ein Word-AddIn das Bestandteil des artiso Workitem-Managers ist. Mit 3 Schichten zum Erfolg Das war der Titel meiner Architektur-Session. Hier habe ich zunächst den Aufbau und die Vorteile einer 3-Schicht-Architektur beschrieben. Anschließend erläuterte ich Komponentenorientierung. An einem kleinen Demo-Projekt zeigte ich die Planung und den Aufbau eines Projektes vom Architekturdesign bis zur Implementierung und demonstrierte dabei einige Best Practices aus unseren Projekten. Am Ende beschrieb ich noch die Auswirkungen für verteilte Systeme. Interessant für mich war, dass der Meister der Komponentenorientierung Ralf Westphal der Session beiwohnte uund den Vortrag mit interessanten Fragen bereicherte. XML-Serialisierung zur Persistierung von Objekten XML-Serialisierung ist eine Technologie, mit der Objekte schnell und einfach in ein XML-Format überführt und auch wieder zurück konvertiert werden kann. Dies Technik ist nicht neu und viele Entwickler kennen und nutzen sie. Ich habe in der Session verschiedene Möglichkeiten aufgezeigt, wie sich XML-Serialisierung nutzen lässt, von der Persistierung von kompletten Datenobjekten über Konfigurationsdateien bis hin zur Optimierung der Speicherung von Listenobjekten in der Datenbank. Nächste Woche bin ich dann auf dem Launch Event als ATE. Das wird sicher interessant bei diesem Mega-Event (6.500 Teilnehmer!).
Wir nutzen in unserem Entwicklungsprozess seit einiger Zeit den Team Foundation Server. Für das Requirement Management setzen wir Workitems ein. In der aktuellen Version des Team Foundation Servers fehlte uns dabei bisher allerdings die Möglichkeit, Workitems hierarchisch zu organisieren. Glücklicherweise verfügt der Team Foundation Server über ein leistungsfähiges API (siehe auch meinen MSDN-Webcast zu diesem Thema). Auf Basis dieser API haben wir ein Tool, den artiso Workitem Manager, entwickelt, mit dem wir nun Workitems so strukturieren können, wie wir das in unseren Projekten brauchen. Neben der hierarchischen Struktur können auch Iterationen in Baumstrukturen abgebildet werden.  Ebenfalls Bestandteil des artiso Workitem Manger ist ein Word-AddIn mit der Spezifikationsdokumente auf Funktionsebene verwaltet werden können. Damit lassen sich verschiedene Probleme mit Spezifikationsdokumente als monolithische Worddokumente lösen.  Den artiso Workitem Manager kann als Beta-Version kostenlos heruntergeladen werden. Die frei verfügbare Version ist auf 50 Workitems begrenzt. Weitere Informationen finden sich hier.
...sollte man sich mal die AsyncPostbackTriggers anschaen, evtl. liegt das Proble dort begraben. Aber erst mal der Reihe nach. Ich hatte eine Web-Seite, die sich plötzlich nicht mehr aufrufen lies. Ich habe unterschiedliche Fehler erhalten. Mit dem IIS wurde einfach angezeigt, dass die Seite nicht verfügbar ist, im Debug meldete Visual Studio eine OutOfMemoryException und der Developer Web Server ist gleich mal abgeschmiert. Nach einigem Suchen haben wir dann das Problem entdeckt. Auf der Seite war ein AsyncPostbackTrigger auf eine Textbox eingetragen. Diese Textbox wurde aber irgendwann entfernt. Dies scheint das oben beschriebene Problem ausgelöst zu haben. Vielleicht hat ja mal jemend einen ähnlichen Fehler und kann ihn mit dieser Info schnell beheben.
Mit Hilfe der neuen Extension Methods in C# 3.0 können einfache Matrizenoperationen ganz einfach als Methoden auf bestehende Objekttypen eingefügt werden. Ich habe hier mal ein Beispiel mit SortedDictionaries. Diese Extension Method erlaubt das addieren zweier Matrizen. | |