<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-22247919</atom:id><lastBuildDate>Wed, 07 May 2008 21:48:34 +0000</lastBuildDate><title>A Developer's Life</title><description /><link>http://devmatter.blogspot.com/</link><managingEditor>noreply@blogger.com (Jeff B.)</managingEditor><generator>Blogger</generator><openSearch:totalResults>109</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ADevelopersLife" type="application/rss+xml" /><feedburner:browserFriendly></feedburner:browserFriendly><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-4791655782430575777</guid><pubDate>Sat, 12 Apr 2008 03:55:00 +0000</pubDate><atom:updated>2008-04-11T22:55:09.563-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Conferences</category><title>Tech-Ed '08 Birds of a Feather Session</title><description>&lt;p&gt;I have been planning on attending this year's Tech-Ed &amp;quot;Developers&amp;quot; conference for a while now.&amp;#160; This will be my 3rd trip to the Tech-Ed conference so this year I decided to see if I could become more involved and submitted a couple topics for Birds of a Feather (BOF) sessions.&amp;#160; I just found out a couple of days ago that my submission, &lt;em&gt;Using Team Foundation Server in your Organization&lt;/em&gt;, has been accepted.&amp;#160; This will be my first time moderating a BOF session and I am looking forward to it.&amp;#160; I have no doubt that we will be able to learn a lot from each other regarding the use of TFS within our organizations.&amp;#160; So, if you have an interest in discussing TFS in your organization, plan on attending this BOF session on Wednesday, June 4th, from 10:15am - 11:30am.&amp;#160; I look forward to meeting new people and learning new things.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2008/04/tech-ed-birds-of-feather-session.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-6795394680677164293</guid><pubDate>Sat, 01 Mar 2008 03:57:00 +0000</pubDate><atom:updated>2008-02-29T21:57:13.513-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">visual studio</category><category domain="http://www.blogger.com/atom/ns#">utilities</category><category domain="http://www.blogger.com/atom/ns#">add-ins</category><title>PowerCommands for VS 2008</title><description>&lt;p&gt;A short while ago I &lt;a href="http://devmatter.blogspot.com/2008/02/msdn-code-gallery.html"&gt;wrote a post&lt;/a&gt; about the &lt;a href="http://code.msdn.microsoft.com/"&gt;MSDN Code Gallery&lt;/a&gt;.&amp;#160; For all intents and purposes I liked what I saw with a few exceptions (nothing major).&amp;#160; I even posted a simple &lt;em&gt;&lt;a href="http://code.msdn.microsoft.com/sendemail"&gt;Send Email Message&lt;/a&gt;&lt;/em&gt; snippet just to try it out.&amp;#160; &lt;/p&gt;  &lt;p&gt;Today, I noticed a new post that I think will prove to be very useful to many Visual Studio 2008 users - &lt;a href="http://code.msdn.microsoft.com/PowerCommands"&gt;PowerCommands for Visual Studio 2008&lt;/a&gt;.&amp;#160; This is a set of extensions for the Visual Studio 2008 IDE that offer various types of functionality, including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Collapse Projects&lt;/li&gt;    &lt;li&gt;Copy/Paste Class&lt;/li&gt;    &lt;li&gt;Copy/Paste References (this will be hugely popular in my opinion)&lt;/li&gt;    &lt;li&gt;Copy As Project Reference (another popular one)&lt;/li&gt;    &lt;li&gt;Edit Project File&lt;/li&gt;    &lt;li&gt;Open Containing Folder (very nice!)&lt;/li&gt;    &lt;li&gt;Open Command Prompt (also very nice!)&lt;/li&gt;    &lt;li&gt;Unload/Reload Projects&lt;/li&gt;    &lt;li&gt;Remove and Sort Usings (C# only)&lt;/li&gt;    &lt;li&gt;Extract Constant&lt;/li&gt;    &lt;li&gt;Clear Recent File/Project List (yet another popular one)&lt;/li&gt;    &lt;li&gt;Transform Templates&lt;/li&gt;    &lt;li&gt;Close All&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can download the MSI, a Microsoft Word 2007 &amp;quot;read me&amp;quot; document, and/or the source code.&amp;#160; I installed the MSI, ran Visual Studio, and was able to access the new functionality without any issues.&lt;/p&gt;  &lt;p&gt;This set of extensions will no doubt become popular among Visual Studio users.&amp;#160; With any luck, new features will be added along the way :-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/PowerCommands"&gt;Click here&lt;/a&gt; to visit the PowerCommands for Visual Studio 2008 home page.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2008/02/powercommands-for-vs-2008.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-4024708746246704218</guid><pubDate>Sat, 01 Mar 2008 03:20:00 +0000</pubDate><atom:updated>2008-02-29T21:20:48.731-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">team system</category><title>TFS 2008 Setup/Admin FAQ</title><description>&lt;p&gt;A new forum post has been added to the &lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=68&amp;amp;SiteID=1"&gt;Team Foundation Server - Setup&lt;/a&gt; forum titled &lt;em&gt;&lt;a href="http://blogs.msdn.com/robcaron/default.aspx"&gt;TFS 2008 Setup and Administration FAQs&lt;/a&gt;&lt;/em&gt;.&amp;#160; The intent of this forum post is to deliver commonly asked questions and answers relating to the setup, configuration, and administration of Team Foundation Server 2008.&amp;#160; The post has been &amp;quot;pinned&amp;quot; to the top of the forum so it's easy to find.&lt;/p&gt;  &lt;p&gt;Here is a list of questions that are answered in the post as of the time of this writing:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;When installing a new Team Foundation Server, is there a way to use an existing SharePoint Web Application?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;When creating a new TFS Project, is there a way to use an existing SharePoint site collection?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;When creating a new TFS Project, is there a way to create a sub-site under an existing SharePoint site collection?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Why is it important to uninstall Team Foundation Server 2008 beta releases prior to installing Team Foundation Server 2008 RTM release?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Why is it important to uninstall Team Foundation Server 2005 from the data-tier server prior to installing Team Foundation Server 2008 in a dual-server configuration?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is Team Foundation Server 2008 supported on Windows Server 2008?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is Team Foundation Server 2005 supported on Windows Server 2008?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is Team Explorer 2005 compatible with Team Foundation Server 2008?&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is Team Build 2005 supported on Windows Server 2008?&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;See the post for answers to the above questions and be sure to bookmark the site as it's surely going to grow.&lt;/p&gt;  &lt;p&gt;Also, while you're there, check out the other post that's &amp;quot;pinned&amp;quot; just below the FAQ - &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2094165&amp;amp;SiteID=1"&gt;&lt;em&gt;TFS/Team Explorer 2008 Troubleshooting Guide&lt;/em&gt;&lt;/a&gt;.&amp;#160; This post contains some good tips and workarounds.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2008/02/tfs-2008-setupadmin-faq.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-7397190826616143876</guid><pubDate>Mon, 18 Feb 2008 16:11:00 +0000</pubDate><atom:updated>2008-02-19T12:47:20.207-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">team build</category><category domain="http://www.blogger.com/atom/ns#">team system</category><title>So, what's the deal with $, @, and % anyway?</title><description>&lt;p&gt;So, you've decided that the default build script that's built by the "New Build Type" wizard doesn't quite do everything that you need it to do. So, you click on over to the Version Control Explorer, check out the TFSBuild.proj file, and dive in!&lt;/p&gt;&lt;p&gt;At first glance, everything looks simple enough, you have various combinations of Targets, Tasks, and Properties. Things start to get a little interesting as you explore the concept of Item Groups. However, you start to notice a subtle difference with how various properties (or at least what look like properties) are accessed - e.g. some begin with '$', some with '@', and yet others with '%'. What's going on here? What's the difference? Before we can answer this question, we need to take a look at Properties and Items.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Properties&lt;br /&gt;&lt;/strong&gt;You can think of properties as &lt;a href="http://msdn2.microsoft.com/en-us/library/0k6kkbsd.aspx"&gt;MSBuild's&lt;/a&gt; version of a variable (as you might use it in some programming language such as C#). Once you declare a property, you can use it throughout your build script to reference whatever value it may hold. You create a property by defining an element within a &lt;strong&gt;PropertyGroup&lt;/strong&gt; element. For example:&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span style="color:#800000;"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;PropertyGroup&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;WebBinSource&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Binaries&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;WebBinSource&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;PropertyGroup&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;In the above example, the property is named "WebBinSource" and can be referenced in your build script as &lt;strong&gt;$(WebBinSource)&lt;/strong&gt;. You can create as many properties within the PropertyGroup element as you like. You can also create as many PropertyGroup elements as you like.&lt;/p&gt;&lt;p&gt;Aside from the obvious advantages of using properties within your build script (i.e. so you don't have to hard-code values in multiple places) another nice feature is that you can pass in custom property values on the MSBuild command line. For example:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;MSBuild.exe MyProject.proj /p:WebBinSource=Bin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;These properties can also be specified in the Team Explorer "Queue Build" dialog:&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.google.com/jbramwell/R7muQWnQBgI/AAAAAAAAAH8/GDqlf3oMY3A/build%5B3%5D"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="340" alt="Queue Build Dialog" src="http://lh3.google.com/jbramwell/R7muRWnQBhI/AAAAAAAAAIE/Y3XqIDmSHpE/build_thumb%5B1%5D" width="304" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;You can also &lt;a href="http://msdn2.microsoft.com/en-us/library/ms171459.aspx"&gt;reference environment variables&lt;/a&gt; using the same syntax. For example, you can reference the environment variable PATH using the syntax &lt;strong&gt;$(Path)&lt;/strong&gt;. If you declare a custom property with the same name as an existing environment variable, the custom property will override the environment variable and its value will be used when referenced.&lt;/p&gt;&lt;p&gt;MSBuild defines several &lt;a href="http://msdn2.microsoft.com/en-us/library/ms164309.aspx"&gt;reserved properties&lt;/a&gt; that you can utilize in your build scripts. There are also several &lt;a href="http://msdn2.microsoft.com/en-us/library/aa337598.aspx"&gt;customizable properties&lt;/a&gt; available within Team Foundation Build for use within your TFS build scripts.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Items&lt;br /&gt;&lt;/strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms171453.aspx"&gt;Items&lt;/a&gt; allow you to create user-defined collections which can then be used an input arguments for MSBuild tasks. The task can then act on the individual items within the collection as needed. You create an item collection by defining elements within an &lt;strong&gt;ItemGroup&lt;/strong&gt; element. For example:&lt;/p&gt;&lt;pre&gt;&lt;span style="color:#800000;"&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;    &amp;lt;SourceFiles Include = "default.aspx"/&amp;gt;&lt;br /&gt;    &amp;lt;SourceFiles Include = "register.aspx"/&amp;gt;&lt;br /&gt;&amp;lt;/ItemGroup&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;NOTE: You can also include multiple items within a single element by separating each item with a semicolon. For example:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;    &amp;lt;SourceFiles Include = "default.aspx;register.aspx"/&amp;gt;&lt;br /&gt;&amp;lt;/ItemGroup&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;In this example, the item list is named "SourceFiles" and can be referenced in the build script as &lt;strong&gt;@(SourceFiles)&lt;/strong&gt;. For example, you may have a custom task that deploys a collection of files to a web server:&lt;/p&gt;&lt;pre&gt;&lt;span style="color:#800000;"&gt;&amp;lt;Target Name="AfterBuild"&amp;gt;&lt;br /&gt;    &amp;lt;DeployWeb Sources="@(SourceFiles)" /&amp;gt;&lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Depending upon the task using the item collection, it may support the use of &lt;a href="http://msdn2.microsoft.com/en-us/library/ms171454.aspx"&gt;wildcards&lt;/a&gt; in the item definition. You can also change the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms171456.aspx"&gt;item delimiter&lt;/a&gt; to be something other than the default semicolon for custom processing.&lt;/p&gt;&lt;p&gt;Although&lt;strong&gt; &lt;/strong&gt;items are a useful feature, they're even more useful if you can associate metadata with them.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Metadata&lt;br /&gt;&lt;/strong&gt;Each individual item contained within an item collection may also contain metadata information. For example, a collection of files to be copied may contain the attributes of each file (e.g. read only, archive bit, etc.) or possibly the creation and last updated date/time.&lt;/p&gt;&lt;p&gt;You can associate metadata with individual items by adding child elements to the individual item elements. For example:&lt;/p&gt;&lt;p&gt;&lt;pre&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;    &amp;lt;SourceFiles Include = "default.aspx"&amp;gt;&lt;br /&gt;        &amp;lt;Copy&amp;gt;true&amp;lt;/Copy&amp;gt;&lt;br /&gt;    &amp;lt;/SourceFiles&amp;gt;&lt;/span&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;&lt;br /&gt;    &amp;lt;SourceFiles Include = "Web.config"&amp;gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;&amp;lt;Copy&amp;gt;false&amp;lt;/Copy&amp;gt;&lt;br /&gt;    &amp;lt;/SourceFiles&amp;gt;&lt;/span&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;&amp;lt;/ItemGroup&amp;gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;Using this example, the following task will copy all web files that have a metadata item of &lt;strong&gt;&lt;em&gt;Copy&lt;/em&gt;&lt;/strong&gt; with a value of &lt;strong&gt;&lt;em&gt;true&lt;/em&gt;:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;pre&gt;&lt;span style="font-family:Courier New;color:#800000;"&gt;&amp;lt;Target Name="AfterBuild"&amp;gt;&lt;br /&gt;    &amp;lt;DeployWeb Sources="@(SourceFiles)" Condition=" '&lt;strong&gt;%(Copy)&lt;/strong&gt;' == 'true' /&amp;gt;&lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;Also, any time a new item is created, there is a set of "&lt;a href="http://msdn2.microsoft.com/en-us/library/ms164313.aspx"&gt;well-known&lt;/a&gt;" metadata created and assigned to each item.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Putting it All Together&lt;/strong&gt;&lt;br /&gt;So, now when you see items prefixed with a '$', you'll know that it's referencing a property whereas items prefixed with a '@' are referencing a collection of items to be processed. If a task (or condition) needs access to the metadata for an individual item (or collection of items) then you will see the metadata items being prefixed with the '%'.&lt;/p&gt;&lt;p&gt;Hopefully this has cleared up the differences between the different types of "variables" in MSBuild and your Team Foundation Build scripts.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms164309.aspx"&gt;MSBuild Reserved Properties&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa337598.aspx"&gt;Customizable Team Foundation Build Properties&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb130146.aspx"&gt;Team Foundation Server 2008 SDK&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms171453.aspx"&gt;MSBuild Items&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms164313.aspx"&gt;MSBuild Well-Known Item Metadata&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://devmatter.blogspot.com/2008/02/so-what-deal-with-and-anyway.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-7171599721477870541</guid><pubDate>Fri, 08 Feb 2008 20:11:00 +0000</pubDate><atom:updated>2008-02-11T07:39:38.902-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Code Snippet</category><title>MSDN Code Gallery</title><description>&lt;p&gt;Although it's been about two weeks since Microsoft launched its new &lt;a href="http://code.msdn.microsoft.com/"&gt;MSDN Code Gallery&lt;/a&gt;, I am just now getting around to checking it out.&lt;/p&gt;  &lt;p&gt;At first glance, it appears there are quite a few similarities between the MSDN Code Gallery and Microsoft's &lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt; site (another open source site provided by Microsoft and hosted on top of &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718934.aspx"&gt;Team Foundation Server&lt;/a&gt;).&amp;#160; So, what are the differences between the two sites?&amp;#160; Basically, it boils down to project management: Microsoft's CodePlex site is suited for open source projects requiring some level of project management whereas the MSDN Code Gallery is mainly an on-line repository of code snippets and example projects (without any of the project management functionality).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What I like&lt;/strong&gt;:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The MSDN Code Gallery is a visually pleasing site. &lt;/li&gt;    &lt;li&gt;Quick and simple site for accessing code snippets (without having to pull down entire projects to get at a small snippet). &lt;/li&gt;    &lt;li&gt;&amp;quot;Tagged&amp;quot; resource pages allowing for simple categorization of code snippets and examples. &lt;/li&gt;    &lt;li&gt;Creating a new resource page is relatively easy. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What I don't like&lt;/strong&gt;:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Not a lot of content.&amp;#160; As of a few minutes ago, there were only 75 &amp;quot;resources&amp;quot; available for download on the site.&amp;#160; However, this is still a new site and I'm sure it will grow a lot over time. &lt;/li&gt;    &lt;li&gt;Figuring out the navigation and search features takes a little getting used to.&amp;#160; It's nice once you figure it out but is not intuitively obvious. &lt;/li&gt;    &lt;li&gt;You must have a &lt;a href="http://en.wikipedia.org/wiki/Windows_Live_ID"&gt;Windows Live ID&lt;/a&gt; (formerly known as Microsoft Passport) to create new resource pages.&amp;#160; The CodePlex site does not have this &amp;quot;limitation&amp;quot; (possibly due to the integration issues with TFS). &lt;/li&gt;    &lt;li&gt;The instructions for setting up the resource page (correctly) and publishing it are not clear.&amp;#160; I followed the instructions and published my &lt;a href="http://code.msdn.microsoft.com/sendemail"&gt;first code snippet&lt;/a&gt; (for sending e-mail messages in C# or VB.NET) only to receive an e-mail message a few hours later telling me that my resource page &amp;quot;appeared&amp;quot; to still be in testing - which it wasn't.&amp;#160; I've sent an e-mail asking for specific details as to what the actual problem is so I can get that corrected. &lt;/li&gt;    &lt;li&gt;The only license model available is the &lt;a href="http://www.microsoft.com/resources/sharedsource/licensingbasics/publiclicense.mspx"&gt;Microsoft Public License&lt;/a&gt; (Ms-PL).&amp;#160; This license is fairly permissive (no pun intended) but what does it hurt to have a few more choice (similar to the CodePlex site)? &lt;/li&gt;    &lt;li&gt;The search functionality is fairly basic.&amp;#160; Having some extended search features such as language choice (e.g. C#, VB.NET, JavaScript, etc.), submission date, etc. would be beneficial.&amp;#160; The &lt;a href="http://www.krugle.org/"&gt;krugle&lt;/a&gt; search engine does a good job in this area (as an example). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I've always tried to make use of example source code snippets as I develop software just so I don't have to re-invent the wheel.&amp;#160; However, a lot of the source code resources on the web tend to have an abundance of poorly written/tested snippets or the snippets are out of date.&amp;#160; I will be interested in seeing how Microsoft deals with this issue over time (if at all).&amp;#160; Until then, I'll enjoy yet another snippet repository.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Follow Up&lt;/strong&gt;: I received some more details about why my resource page &amp;quot;appeared&amp;quot; to still be in testing... Basically, I was told that my resource page needed to be &amp;quot;spruced&amp;quot; up with a little more information.&amp;#160; I must admit that my initial page was pretty sparse, but let's face it, a simple &amp;quot;send e-mail&amp;quot; snippet doesn't take a lot of explanation.&amp;#160; However, I can understand Microsoft's viewpoint that they do not want a lot of mostly-empty (or &amp;quot;ugly&amp;quot;) pages comprising the MSDN Code Gallery.&amp;#160; So, I've updated the &lt;a href="http://code.msdn.microsoft.com/sendemail"&gt;SendEmail&lt;/a&gt; resource page to hopefully meet the (not-so-well-documented) publishing requirements.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2008/02/msdn-code-gallery.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-8598160907130760654</guid><pubDate>Thu, 07 Feb 2008 02:46:00 +0000</pubDate><atom:updated>2008-02-06T20:55:59.828-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">team build</category><category domain="http://www.blogger.com/atom/ns#">team system</category><title>Working with the BuildStep Task</title><description>&lt;p&gt;One of the new convenience tasks added to &lt;em&gt;Team Foundation Build 2008&lt;/em&gt; is the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb399129.aspx"&gt;BuildStep&lt;/a&gt; task.&amp;#160; This task allows you to add custom messages to the build reports created when you run a team build.&amp;#160; For example, you may want to display the message &amp;quot;Publishing web site&amp;quot; while your build script is updating some files on a web site.&amp;#160; Having the ability to &amp;quot;see&amp;quot; what your build script is currently executing is not only useful but can also be a great debugging tool (the messages are also logged as well as being displayed).&lt;/p&gt;  &lt;p&gt;The BuildStep task accepts the following parameters:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;TeamFoundationServerUrl&lt;/strong&gt; - specifies the Team Foundation Server URL.&amp;#160; For example: &lt;em&gt;$(TeamFoundationServerUrl)&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;BuildUri&lt;/strong&gt; - specifies the build URI - for example: &lt;em&gt;$(BuildUri)&lt;/em&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; - specifies the name of the build step added by this task.&amp;#160; &lt;strong&gt;NOTE&lt;/strong&gt;: this parameter appears to be optional - i.e. it works just fine with or without a &lt;em&gt;Name&lt;/em&gt; being specified. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Message&lt;/strong&gt; - specifies the text of the message to be displayed within the build report. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Id&lt;/strong&gt; - specifies the optional input/output parameter. If specified, this is the ID of the build step that is updated. If not specified, a new build step is created. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Status&lt;/strong&gt; - specifies the status for the build step.&amp;#160; For example, &lt;em&gt;Succeeded&lt;/em&gt;, &lt;em&gt;Failed&lt;/em&gt;, or &lt;em&gt;Stopped&lt;/em&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There are several variations in how you can implement the BuildStep task.&amp;#160; I've listed two of the more common scenarios below:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Simplest Scenario - Add a Message     &lt;br /&gt;&lt;/strong&gt;The simplest scenario involves just adding a build step message to the build report with a status of &amp;quot;Succeeded&amp;quot;.&amp;#160; To do this, use the following pattern (note: the target &amp;quot;PackageBinaries&amp;quot; is used for illustration purposes only - the task can be utilized from within any target you wish):&lt;/p&gt;  &lt;p&gt;&amp;lt;Target Name=&amp;quot;PackageBinaries&amp;quot;&amp;gt;   &lt;br /&gt;&amp;#160; &amp;lt;BuildStep TeamFoundationServerUrl=&amp;quot;$(TeamFoundationServerUrl)&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BuildUri=&amp;quot;$(BuildUri)&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Message=&amp;quot;Publishing web site&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Status=&amp;quot;Succeeded&amp;quot; /&amp;gt;    &lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;/p&gt; &lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;p&gt;This will display the text &amp;quot;Publishing web site&amp;quot; in the build report:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.google.com/jbramwell/R6pxDumbyyI/AAAAAAAAAHM/du9_oX2HcrI/buildStep_1%5B6%5D"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="245" alt="buildStep_1" src="http://lh3.google.com/jbramwell/R6pxEembyzI/AAAAAAAAAHU/qS7SjQIPxCo/buildStep_1_thumb%5B4%5D" width="404" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can leave off the &lt;em&gt;Status&lt;/em&gt; parameter, however, the icon displayed next to the build step will not indicate a completed task.&amp;#160; If you leave the &lt;em&gt;Status&lt;/em&gt; parameter in, then the status icon will indicate a completed task as soon as the build step is displayed, even if the task has not yet completed.&amp;#160; To present a more accurate indication of what's currently executing, use the next template.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Complete Scenario - Display Actual Status     &lt;br /&gt;&lt;/strong&gt;Ideally, you would want to display the icon that indicates a build step is executing until the step has completed and then change the icon (and optionally the message) to a &amp;quot;completed&amp;quot; status.&amp;#160; To do this, use the following pattern:&lt;/p&gt;  &lt;p&gt;&amp;lt;Target Name=&amp;quot;PackageBinaries&amp;quot;&amp;gt;   &lt;br /&gt;&amp;#160; &amp;lt;BuildStep TeamFoundationServerUrl=&amp;quot;$(TeamFoundationServerUrl)&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BuildUri=&amp;quot;$(BuildUri)&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Message=&amp;quot;Publishing web site...&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Output TaskParameter=&amp;quot;Id&amp;quot; PropertyName=&amp;quot;MyBuildStepId&amp;quot; /&amp;gt;    &lt;br /&gt;&amp;#160; &amp;lt;/BuildStep&amp;gt; &lt;/p&gt;  &lt;p&gt;&amp;#160; &amp;lt;!-- Long running task goes here... --&amp;gt;   &lt;br /&gt;&amp;#160; &amp;lt;BuildStep TeamFoundationServerUrl=&amp;quot;$(TeamFoundationServerUrl)&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BuildUri=&amp;quot;$(BuildUri)&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Id=&amp;quot;$(MyBuildStepId)&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Message=&amp;quot;Web site published&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Status=&amp;quot;Succeeded&amp;quot; /&amp;gt;    &lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;/p&gt;  &lt;p&gt;In this example, we're tracking the ID of the newly created build step (in the property &lt;em&gt;MyBuildStepId&lt;/em&gt;) so we can use it in a subsequent BuildStep task to set the status icon to &amp;quot;Succeeded&amp;quot; and update the build report text.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.google.com/jbramwell/R6pzO-mby2I/AAAAAAAAAHs/Mq0gFR5AZb4/buildStep_2%5B7%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="buildStep_2" src="http://lh5.google.com/jbramwell/R6pzP-mby3I/AAAAAAAAAH0/UbaB_gFuhtA/buildStep_2_thumb%5B3%5D" width="404" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: You can leave the Message parameter off in the second BuildStep task in the above example if you want to leave the original message text unchanged.&lt;/p&gt;  &lt;p&gt;Although this is a new addition to the TFS 2008 release, you can get similar functionality for TFS 2005 by using a custom build task.&amp;#160; One example of such a custom build task is available &lt;a href="http://blogs.msdn.com/aaronhallberg/archive/2006/12/14/the-triumphant-return.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2008/02/working-with-buildstep-task.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-6155857239837651275</guid><pubDate>Wed, 06 Feb 2008 04:27:00 +0000</pubDate><atom:updated>2008-02-06T08:03:55.530-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><title>10 Reasons for TFS with Small Teams</title><description>&lt;p&gt;Over the past year or two I've read and heard, on multiple occasions, comments along the lines of "our team is not big enough to justify Team Foundation Server" or "we don't have the need for TFS". Contrary to these perceptions, &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718934.aspx"&gt;Team Foundation Server&lt;/a&gt; can provide a lot of benefits - even for small development teams.&lt;/p&gt;&lt;p&gt;Here is a list of ten reasons for using TFS with small development teams (in no particular order):&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Version Control&lt;/strong&gt; - no matter how small or big your development team and/or project is, everyone eventually loses source code for one reason or another (e.g. power/network outage, hard drive crash, human error, etc.). Along with the ability to backup source code (and other project "artifacts") a good version control system (like the one built into TFS) allows you to version your source code, apply labels, and perform &lt;a href="http://www.codeplex.com/BranchingGuidance"&gt;branching/merging&lt;/a&gt; operations. The version control system built into TFS utilizes &lt;a href="http://www.microsoft.com/sql/default.mspx"&gt;Microsoft SQL Server&lt;/a&gt; as its data store which allows for easy backup and restore operations.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Automated Builds&lt;/strong&gt; - a lot of time is spent on the actual development of a product. However, unless you "package" your product for deployment/publishing, then you're only half way there. TFS allows you to create automated build scripts that will build the latest version of your source code, in a clean environment, and (optionally) perform various tests against the source code, build installation packages, deploy files (e.g. web sites, MSI packages, etc.), publish build reports, etc.&lt;br /&gt;&lt;br /&gt;With TFS 2008 you also have the option to setup &lt;a href="http://en.wikipedia.org/wiki/Continuous_Integration"&gt;Continuous Integration&lt;/a&gt; with the click of a button or schedule a specific build type to run at a pre-designated time (e.g. "nightly" build). Frequently running an automated build script provides a certain amount of assurance that you can deploy/ship your product with limited notice.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Work Items&lt;/strong&gt; - anyone that's ever been involved in the software development process (no matter the size) has created various types of lists. For example, a list of requirements, a list of defects, a "wish" list, etc. There are at least two down-sides to these lists: lack of tracking and lack of workflow.&lt;br /&gt;&lt;br /&gt;TFS allows you to create &lt;em&gt;Work Items&lt;/em&gt; which, out of the box, are things like Bugs, Tasks, Scenarios, Risks, etc.. You can also modify existing work item types and/or create your own (e.g. to more closely match your development practices). These work item types also have the ability to define a &lt;em&gt;workflow &lt;/em&gt;so that the work item can move from one state to another in a controlled fashion.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Documentation Management&lt;/strong&gt; - regardless of the size of your project or the type of software development methodology you're using, you will no doubt create some documentation along the way (even if it's as simple as installation instructions). TFS utilizes &lt;a href="http://msdn.microsoft.com/moss"&gt;Microsoft Office SharePoint Services&lt;/a&gt; (MOSS) to store and manage documents related to your project. In fact, the Team Explorer Client that integrates with Visual Studio gives you direct access to your SharePoint documents directly from within Visual Studio.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Unit Test Integration&lt;/strong&gt; - although you can create and run &lt;a href="http://en.wikipedia.org/wiki/Unit_Testing"&gt;unit tests&lt;/a&gt; in Visual Studio without the use of TFS, by automating your unit tests within a TFS-based build, you can track the progress of unit tests over time and publish each test run to TFS (e.g. so that it can be viewed within various reports and/or the TFS SharePoint site).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Code Coverage Integration&lt;/strong&gt; - like unit tests, you can get &lt;a href="http://en.wikipedia.org/wiki/Code_coverage"&gt;code coverage&lt;/a&gt; manually within Visual Studio. However, by including code coverage in your TFS-based builds, you can track code coverage over time and view the results within various reports and/or the SharePoint portal.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Integrated (Static) Code Analysis&lt;/strong&gt; - again, like unit tests, you can run static code analysis manually from within Visual Studio (e.g. via &lt;a href="http://en.wikipedia.org/wiki/FxCop"&gt;FxCop&lt;/a&gt;). However, having the ability to enforce code analysis rules at the time your source code is checked in and/or built, you can add another level of quality control to your project.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Distributed Development&lt;/strong&gt; - you may end up on a project, even with small teams, where the team is physically distributed - e.g.. home vs. work, work vs. another country, etc. This physical separation can introduce many challenges for developers (e.g. source code concurrency/consistency, updating documentation, modifying work items, performance issues, etc.). TFS was built from the ground up with this challenge in mind. You may have TFS installed at your company's office but can still connect to it using the Team Explorer client from your home (assuming the TFS server is accessible via the Internet or VPN).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Overall Integration&lt;/strong&gt; - all of the features listed above can be cobbled together using other Microsoft, open source, or 3rdparty products. However, what this type of environment would lack is the overall integration provided with TFS. For example, you could use &lt;a href="http://www.nunit.org/index.php"&gt;NUnit&lt;/a&gt; for running unit tests and possibly utilize &lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET"&gt;CruiseControl.NET&lt;/a&gt; to implement your build process. However, how would you publish the unit test results to a web site for later review? How easy would it be to provide a history of those results?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Cost (sort of) &lt;/strong&gt;- one of the more common reasons you hear when justifying the use of open source software is the price - i.e: free. However, "free" doesn't always come without cost. Without the integration provided by TFS, you will no doubt be spending a good amount of time "wiring" various technologies together to gain similar functionality.&lt;br /&gt;&lt;br /&gt;With TFS, you spend a lot less time on integration issues and more time concentrating on developing and increasing the overall quality of your product. If the features listed above can save your several hours of manual effort a week or possibly reduce the defect rates of delivered products, what's that worth?&lt;br /&gt;&lt;br /&gt;There are basically four Team Foundation Server products:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Team Foundation Server Trial Edition&lt;/strong&gt; - this is a fully functional 90-day trial edition.  If you want to give TFS a try, you can download the trial edition &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=B0155166-B0A3-436E-AC95-37D7E39A440C&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Team Foundation Server Retail Edition&lt;/strong&gt; - this is the "full" version of TFS with a price starting around $2,000 (and going up, depending on your specific needs). &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Team Foundaiton Server Volume License Edition &lt;/strong&gt;- this is basically the same as the Retail Edition, only it's obtained differently.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Team Foundation Server Workgroup Edition&lt;/strong&gt; - this is a 5-user version of Team Foundation Server with the same functionality of the full version. This version is included with the "Team System" editions of the MSDN Premium subscription. So, if you (or your company) already has one of the "Team System" MSDN Premium subscriptions, then you already have this edition - so why not use it?&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;p&gt;For more details about the different versions of Team Foundation Server, check out &lt;a href="http://blogs.msdn.com/adamsinger/archive/2008/02/05/supercalifragilisticexpialidociou-dition.aspx"&gt;this post&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;This list only scratches the surface of what's available within Team Foundation Server and the benefits it can provide to teams of all sizes. As TFS matures and approaches the next release ("&lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb725993.aspx"&gt;Rosario&lt;/a&gt;") the features will only improve and the benefits will increase.&lt;/p&gt;</description><link>http://devmatter.blogspot.com/2008/02/10-reasons-for-tfs-with-small-teams.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-7509265497412144255</guid><pubDate>Tue, 05 Feb 2008 14:32:00 +0000</pubDate><atom:updated>2008-02-05T08:32:31.811-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">team system</category><category domain="http://www.blogger.com/atom/ns#">articles</category><title>Displaying Quality Indicators</title><description>&lt;p&gt;A few days ago, I put an article together for &lt;a href="http://phacker.wordpress.com/"&gt;Paul Hacker's&lt;/a&gt; &lt;a href="http://www.tfstimes.com/"&gt;TFSTimes&lt;/a&gt;.&amp;#160; The article, &lt;em&gt;Displaying Quality Indicators on your TFS SharePoint Site&lt;/em&gt;, discusses usefulness of the &lt;em&gt;Quality Indicators&lt;/em&gt; report that ships with Team Foundation Server and how to add it to your project's SharePoint Site.&amp;#160; The article also describes how to modify your build types to automatically run all unit tests as well as how to include code coverage statistics with your build.&lt;/p&gt;  &lt;p&gt;You can read the article on-line &lt;a href="http://www.tfstimes.com/"&gt;here&lt;/a&gt; until the next issue is posted.&amp;#160; The archived PDF version is available &lt;a href="http://cid-bf56d550973e4351.skydrive.live.com/self.aspx/TFS%20Newsletter%20Archive/TFS%20Times%20V2%20Issue2.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2008/02/displaying-quality-indicators.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-8767952408338026316</guid><pubDate>Sat, 26 Jan 2008 04:22:00 +0000</pubDate><atom:updated>2008-01-25T22:22:38.494-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">User Group</category><category domain="http://www.blogger.com/atom/ns#">team system</category><title>Omaha Team System User Group</title><description>&lt;p&gt;The first &lt;a href="http://www.otsug.org"&gt;Omaha Team System User Group&lt;/a&gt; meeting is, as they say, &lt;em&gt;history&lt;/em&gt;!&amp;#160; The feature presentation, &lt;em&gt;What's New in VSTS 2008&lt;/em&gt;, was presented by Bill Maurer (a Microsoft Developer Technology Specialist).&amp;#160; He also covered some of the new features coming in &amp;quot;&lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb725993.aspx"&gt;Rosario&lt;/a&gt;&amp;quot;.&amp;#160; The presentation was very interesting and information and was well received.&lt;/p&gt;  &lt;p&gt;Our first meeting was held January 22nd and was sponsored by Farm Credit Services of America.&amp;#160; It was very well attended with 75 attendees.&amp;#160; Our next meeting has not yet been scheduled but I am looking forward to working with fellow Team System enthusiasts in the Omaha area.&lt;/p&gt;  &lt;p&gt;If you happen to be in the Omaha area and have any suggestions for user group topics, please visit the &lt;a href="http://www.otsug.org"&gt;OTSUG&lt;/a&gt; site and drop send me a message.&lt;/p&gt;  &lt;p&gt;Links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.otsug.org/User%20Group%20Presentations/What%27s%20New%20in%20VSTS%202008%20-%2022%20Jan%2008.ppt"&gt;Presentation PowerPoint slides&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.otsug.org"&gt;Omaha Team System User Group&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  </description><link>http://devmatter.blogspot.com/2008/01/omaha-team-system-user-group.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-7578983782250483779</guid><pubDate>Fri, 11 Jan 2008 18:59:00 +0000</pubDate><atom:updated>2008-01-11T13:03:15.407-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">utilities</category><category domain="http://www.blogger.com/atom/ns#">add-ins</category><title>TFS/MSBuild Sidekicks Updates</title><description>&lt;p&gt;The &lt;a href="http://www.attrice.info/index.htm"&gt;Attrice&lt;/a&gt; corporation has been hard at work updating their set of &lt;em&gt;Sidekick &lt;/em&gt;Utilities for VSTS/TFS 2008 (I know I'm excited!).&amp;#160; I've been using these tools for quite some time now and have been waiting for the upgrade ever since we updated to VSTS 2008 a month or so ago.&lt;/p&gt;  &lt;p&gt;First in line are the &lt;a href="http://www.attrice.info/cm/tfs/index.htm"&gt;Team Foundation Sidekicks&lt;/a&gt; which includes the following features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;History Sidekick&lt;/strong&gt; - provides various functionality for viewing the history of items within version control.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Status Sidekick &lt;/strong&gt;- (I use this one a lot) - allows you to search and view pending changes for items based on user name, project name, and/or a given date range.&amp;#160; Based on the current status of an item you have the option to undo a pending change or lock.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Workspace Sidekick &lt;/strong&gt;- provides functionality for managing TFS workspaces - e.g. deleting, updating, or copying.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Labels Sidekick &lt;/strong&gt;- provides functionality for managing labels within version control.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Shelveset Sidekick &lt;/strong&gt;- provider functionality for managing shelvesets.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Code Review Sidekick &lt;/strong&gt;- allows you to select and compare changesets and save the results for later use.&amp;#160; This also shows up in the context menu for the source code explorer (SCE) window in Visual Studio.&amp;#160; I haven't had a chance to use this Sidekick yet but it looks like a nice time saver.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Visual Studio Search Items Add-in &lt;/strong&gt;- by default this option is turned off because there is now search capabilities built into VSTS 2008.&amp;#160; However, if you're still using VSTS 2005, this can be a real time saver (turn it on via Tools-&amp;gt;Options-&amp;gt;Team Foundation Sidekicks).&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Visual Studio Build Type Add-in&lt;/strong&gt; - this used to be a separate add-in &lt;a href="http://lh6.google.com/jbramwell/R4e8ljX8KfI/AAAAAAAAAG8/p9CqcAii5Bw/BuildTypeMenu%5B12%5D"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px; border-left: 0px; border-bottom: 0px" height="206" alt="BuildTypeMenu" src="http://lh3.google.com/jbramwell/R4e8lzX8KgI/AAAAAAAAAHE/Z2_uTBrQk50/BuildTypeMenu_thumb%5B8%5D" width="178" align="right" border="0" /&gt;&lt;/a&gt;but is now part of the TFS Sidekicks package and is one of my favorite features.&amp;#160; This add-in gives you the ability to right-click on a build type within the Team Explorer pane (in Visual Studio) and select &amp;quot;Check Out for Edit...&amp;quot; which will then check out the build type's &lt;em&gt;TFSBuild.proj&lt;/em&gt; file (or whatever it may be named) and open it for editing.&amp;#160; Accordingly, there are also menu options for checking the changes back in or rolling the changes back. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you spend any time at all administrating a TFS server or editing build types then these tools are a MUST HAVE.&amp;#160; Even if you only use them once in a great while, they're still a huge time saver over the command-line utilities that ship with TFS - besides, they're free!&lt;/p&gt;  &lt;p&gt;They also offer a product called &lt;a href="http://www.attrice.info/msbuild/index.htm"&gt;Microsoft Build Sidekick&lt;/a&gt; which gives you various editors/views for your MSBuild scripts.&amp;#160; One of the coolest features of this tool is the &amp;quot;Targets Diagram&amp;quot; which gives you a graphical view (similar to something you might see in Microsoft Visio diagram or a class designer) of the targets contained within your MSBuild script (and how they related to each other).&amp;#160; This product is downloadable as a trial version that expires after 30 days.&lt;/p&gt;  &lt;p&gt;These tools just keep getting better and better with each release.&amp;#160; You can read more about these great tools here:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.attrice.info/cm/tfs/index.htm"&gt;Team Foundation Sidekicks&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.attrice.info/msbuild/index.htm"&gt;Microsoft Build Sidekick&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  </description><link>http://devmatter.blogspot.com/2008/01/tfs-sidekicks-updates.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-6656561816808064990</guid><pubDate>Fri, 21 Dec 2007 21:31:00 +0000</pubDate><atom:updated>2007-12-21T15:31:48.131-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">visual studio</category><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">team system</category><title>TFS 2008 Power Tools Released</title><description>&lt;p&gt;The Team Foundation Server 2008 Power Tools has been released and is available for download &lt;a href="http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx"&gt;here&lt;/a&gt;.&amp;#160; There are several tools/features included in this release - some new, some old:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Team Foundation Power Tool command-line tool (TFPT.EXE)&lt;/strong&gt; - contains some new commands for configuring Team Explorer connection settings (&lt;strong&gt;tweakui&lt;/strong&gt;) and for&amp;#160; destroying Work Items and Work Items Type Definitions (&lt;strong&gt;destroyWI, destroyWITD&lt;/strong&gt;).&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Process Template Editor&lt;/strong&gt; - updated for use with Visual Studio Team System 2008 Team Foundation Server. It also has several improvements, including: the ability to launch standalone without a Visual Studio installation, performance improvements, improved discoverability and bug fixes.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Custom Check-In Policy Pack &lt;/strong&gt;- a set of custom check-in polices including:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Custom Path Policy &lt;/strong&gt;- provides a mechanism that lets you specify the source control path or paths upon which a particular policy acts.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Forbidden Patterns Policy &lt;/strong&gt;- allows you to specify a file extension or a regular expression that you can use to keep certain file types from being checked in to source control.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Changeset Comments Policy &lt;/strong&gt;- allows you to verify that the Comments text box in the Check In dialog box is not empty.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Work Item Query Policy &lt;/strong&gt;- allows you to specify a team query to which the work item associated with a check-in must belong.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Team Foundation Server Best Practices Analyzer (BPA) &lt;/strong&gt;- updated for TFS 2008 deployments.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Work Item Templates &lt;/strong&gt;- adds additional menu items to the Team Work Item Templates menu.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Find in Source Control (NEW) &lt;/strong&gt;- an addition to the Team Explorer menu that provides the ability to locate files and folders in source control by the item&amp;#8217;s status or with a wildcard expression.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Quick Label (NEW)&lt;/strong&gt; - allows labels to be easily applied to a given selection of files and folders in the Source Control Explorer.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Build Notification (NEW)&lt;/strong&gt; - runs in the Windows task bar notification area monitoring the status of the build definitions you have specified.&amp;#160; It can be configured to show notifications when builds are queued, started, or completed for multiple build definitions spanning multiple Team Foundation Servers.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can read more about what's included with the TFS 2008 Power Tools release &lt;a href="http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/12/tfs-2008-power-tools-released.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-8858421734528286493</guid><pubDate>Mon, 10 Dec 2007 13:20:00 +0000</pubDate><atom:updated>2007-12-10T07:20:29.299-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><title>Build Type Settings Changes</title><description>&lt;p&gt;I've fielded a couple of questions lately about where some of the settings for build types in TFS 2008 are stored.&amp;#160; In the new version of TFS (2008) some of the build type settings have been moved from the TFSBuild.proj file to the TFS databases (mostly the TfsBuild database).&amp;#160; So, even though you see the settings within the XML file (TFSBuild.proj) the XML settings have no effect on builds within TFS 2008.&amp;#160; However, if you still have VS 2005 (or other &amp;quot;version 1&amp;quot;) clients accessing your TFS 2008 build types, you should keep the XML settings in sync with the TFS 2008 database settings.&lt;/p&gt;  &lt;p&gt;The settings that have been moved to the database include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Description &lt;/strong&gt;- the build type's description.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Build Machine &lt;/strong&gt;- the default build agent.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Team Project&lt;/strong&gt; - the Team Project the build type belongs to.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Build Directory&lt;/strong&gt; - the directory where the files involved in the build are built.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Drop Location&lt;/strong&gt; - the network location where the build files are &amp;quot;dropped&amp;quot;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you create a new build type, you will see comments within the XML file noting the change in settings location.&amp;#160; For example:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" color="#004080"&gt;&amp;lt;!--&amp;#160; DESCRIPTION     &lt;br /&gt; This property is included only for backwards compatibility. The description of a build definition       &lt;br /&gt; is now stored in the database. For compatibility with V1 clients, keep this property in sync with       &lt;br /&gt; the value in the database.      &lt;br /&gt;--&amp;gt;      &lt;br /&gt;&amp;lt;Description&amp;gt;This is my build type's description.&amp;lt;/Description&amp;gt;&lt;/font&gt;&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/12/build-type-settings-changes.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-7499921085566993703</guid><pubDate>Fri, 07 Dec 2007 03:44:00 +0000</pubDate><atom:updated>2007-12-06T21:48:05.562-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">utilities</category><title>TFSInfo Updated for TFS 2008</title><description>&lt;p&gt;A &lt;a href="http://devmatter.blogspot.com/2007/07/how-to-determine-what-version-of-tfs-is.html"&gt;few months ago&lt;/a&gt; I created a simple command line utility called &lt;a href="http://www.digeratitech.com/dl/tfsinfo.zip"&gt;TFSInfo&lt;/a&gt; that can be used to display various bits of information about a Team Foundation Server 2005 installation.&amp;#160; I have now updated this utility to work with TFS 2008 as well as TFS 2005.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.digeratitech.com/dl/TFSInfo2.png" /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can see from the screen shot which information is displayed.&amp;#160; In case you can't see the image, the following information is displayed by TFSInfo:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;AT server name&lt;/li&gt;    &lt;li&gt;AT Version&lt;/li&gt;    &lt;li&gt;AT Edition (e.g. Standard, Workgroup, or Trial)&lt;/li&gt;    &lt;li&gt;DT server Name&lt;/li&gt;    &lt;li&gt;DT Server Version (not available for TFS 2008)&lt;/li&gt;    &lt;li&gt;SQL Server Version&lt;/li&gt;    &lt;li&gt;Reporting Server URL&lt;/li&gt;    &lt;li&gt;TFS Installation Date&lt;/li&gt;    &lt;li&gt;TFS Product ID&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You'll notice in the list above that the Data Tier schema version is not available for TFS 2008.&amp;#160; This is because the column that's used to determine the schema version in TFS 2005 does not exist in TFS 2008 (at least not in the same table).&amp;#160; I wasn't immediately able to locate a replacement column to retrieve the same information.&amp;#160; If I am able to determine how that information is stored (assuming it is) I will release an update.&lt;/p&gt;  &lt;p&gt;The new version can be downloaded &lt;a href="http://www.digeratitech.com/dl/tfsinfo.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: The Team Explorer Client 2005 or 2008 needs to be installed for TFSInfo to work.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/12/tfsinfo-updated-for-tfs-2008.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-1002477360457558043</guid><pubDate>Tue, 04 Dec 2007 03:39:00 +0000</pubDate><atom:updated>2007-12-03T21:40:02.710-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">visual studio</category><category domain="http://www.blogger.com/atom/ns#">add-ins</category><title>VS 2008 Add-Ins</title><description>&lt;p&gt;As I (like many others) make the full-time transition from VS 2005 to VS 2008 I find that I'm having to update several add-ins and utilities that I've grown accustomed to.&amp;#160; Here is a short list of what I've updated so far:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio 2008&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.roland-weigelt.de/ghostdoc/"&gt;GhostDoc 2.1.2&lt;/a&gt; - I've become very accustomed to pressing Ctrl+Shift+D to fill in the XML comments for my code.&amp;#160; I'm glad to see that VS 2008 is now supported. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.csharper.net/blog/mru_cleaner_v1_0_0_5___now_serving_your_file_cleaning_needs.aspx#mru_cleaner_for_orcas_beta_1.aspx"&gt;Project MRU Cleaner&lt;/a&gt; - This is a very handy utility for removing orphaned or otherwise unwanted solutions from the Recent Projects list in VS 2005/2008. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.jetbrains.com/resharper/download/index.html#VS2008"&gt;ReSharper&lt;/a&gt; - Although ReSharper does not fully support the .NET Framework version 3.5 yet, &lt;a href="http://codebetter.com/blogs/jeffrey.palermo/default.aspx"&gt;Jeffrey Palermo&lt;/a&gt; has &lt;a href="http://codebetter.com/blogs/jeffrey.palermo/archive/2007/11/21/tips-for-immediately-using-r-3-0-2-with-vs-2008.aspx"&gt;published some instructions&lt;/a&gt; on how to get the latest version of ReSharper working with VS 2008. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=25144C27-6514-4AD4-8BCB-E2E051416E03&amp;amp;displaylang=en"&gt;Silverlight 1.1. Tools Alpha for VS 2008&lt;/a&gt; - Nothing new here - it's just been updated to work with the final release of VS 2008. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Team Foundation Server&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/30/vsts-web-access-power-tool-for-team-system-2008-released.aspx"&gt;VSTS Web Access Power Tools for Team System 2008&lt;/a&gt; - with the &lt;a href="http://devmatter.blogspot.com/2007/11/tfs-2008-license-changes.html"&gt;new license modifications&lt;/a&gt; in TFS 2008 this tool is even more useful than before.&amp;#160; Now all of your company's employees can create work items (e.g. using VSTS Web Access) without requiring a CAL. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I'm still &lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/20/upcoming-power-tool-release-for-tfs-2008.aspx"&gt;waiting on the full release&lt;/a&gt; of Team Foundation Server 2008 Power Tools as I've grown accustomed to using those tools on a regular basis as well - it shouldn't be long.&amp;#160; I also have a couple of add-ins that I've written that I need to get updated for VS 2008 as well.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/12/vs-2008-add-ins.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-6047866036116040342</guid><pubDate>Mon, 03 Dec 2007 04:55:00 +0000</pubDate><atom:updated>2007-12-02T22:55:51.403-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">User Group</category><title>Omaha VSTS User Group is Coming</title><description>&lt;p&gt;A co-leader (Tim Kelsey) and I have been planning on starting a Team System Users Group in Omaha for several months now.&amp;nbsp; The initial web site is finally up at &lt;a href="http://www.otsug.org"&gt;www.otsug.org&lt;/a&gt; and we are excited to have our first speaker, Bill Maurer, scheduled for January 22nd, 2008.&amp;nbsp; Bill will be presenting on the new features and updates in &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb400737.aspx"&gt;VSTS&lt;/a&gt; 2008.&amp;nbsp; Time permitting, he will also cover some of what's coming in "&lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb725993.aspx"&gt;Rosario&lt;/a&gt;".&lt;/p&gt; &lt;p&gt;With the addition of the Team System Users Group, there will now be no less than four Microsoft technology-oriented user groups in the Omaha area, including:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.otsug.org/"&gt;Omaha Team System Users Group&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.omahamtg.com/"&gt;Omaha .NET Users Group&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.omahamtg.com/"&gt;SQL/BI Users Group&lt;/a&gt; - SQL Server/Business Intelligence&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.omahamtg.com/"&gt;BizTalk Users Group&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;We will be holding the initial meeting at &lt;a href="http://www.fcsamerica.com/"&gt;Farm Credit Services of America&lt;/a&gt; (my employer - and a user group sponsor).&amp;nbsp; Depending upon the preferences of the user group attendees, we will either continue having the meeting at this location each month or we will move the meeting around Omaha (much like the current .NET Users Group).&amp;nbsp; I will be placing a survey on our site in the next few days to get everyone's feedback and preferences.&lt;/p&gt; &lt;p&gt;I am looking forward to the inaugural meeting and all that follow.&amp;nbsp; I have no doubt we will have some great speakers presenting on some great topics and will learn a great deal from each other about all things &lt;em&gt;Team System&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;If you are in the Omaha area and would like to join the Omaha Team System Users Group, please visit our site at &lt;a href="http://www.otsug.org"&gt;www.otsug.org&lt;/a&gt; and click on the "Join the group" link.&amp;nbsp; Also, if you're in the Omaha area or are just passing through and would like to present at one of our user group meetings, please submit the &lt;a href="http://www.otsug.org/Shared%20Documents/User%20Group%20Speaker%20Proposal.doc"&gt;User Group Speaker Proposal&lt;/a&gt; document located in the Shared Documents section of the web site.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/12/omaha-vsts-user-group-is-coming.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-985039241172823244</guid><pubDate>Tue, 27 Nov 2007 21:27:00 +0000</pubDate><atom:updated>2007-11-27T15:27:46.723-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><title>Power Tools for TFS 2008 Roadmap</title><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/bharry/default.aspx"&gt;Brian Harry&lt;/a&gt; has &lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/20/upcoming-power-tool-release-for-tfs-2008.aspx"&gt;posted&lt;/a&gt; a time line of which power tools will be released over the next month for TFS 2008.&amp;#160; In summary, these will include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;VSTS Web Access&lt;/strong&gt; - the &amp;quot;final&amp;quot; version for TFS 2008.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;MSSCCI Provider&lt;/strong&gt; - will allow access to TFS 2008 from VS 2003, VS 2002, and VS 6 as well as other IDEs.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;TFS Power Tools&lt;/strong&gt; - the same basic &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718351.aspx"&gt;TFS Power Tools&lt;/a&gt; that shipped for TFS 2005 but compiled against the TFS 2008 object model.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Process Template Editor&lt;/strong&gt; - mainly bug fixes and small improvements.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Build Notification Tray App&lt;/strong&gt; - this is a new Power Tool application that will allow you to monitor TFS builds via a Notification Tray application.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;WI &amp;amp; WIT Destroy&lt;/strong&gt; - support for the deletion of work items and work item types has been added to the &lt;strong&gt;tfpt&lt;/strong&gt; command line utility.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Best Practices Analyzer&lt;/strong&gt; - has been updated to work with TFS 2008.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;It's nice to read that these updates will be released soon as they have definitely become a necessity in the day-to-day operations using TFS.&lt;/p&gt;  &lt;p&gt;You can read the full details, including the timeline, &lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/20/upcoming-power-tool-release-for-tfs-2008.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/11/power-tools-for-tfs-2008-roadmap.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-1074043092062501719</guid><pubDate>Mon, 26 Nov 2007 13:44:00 +0000</pubDate><atom:updated>2007-11-28T10:46:00.111-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><title>TFS 2008 License Changes</title><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/bharry/default.aspx"&gt;Brian Harry&lt;/a&gt; recently &lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/23/tfs-licensing-change-for-tfs-2008.aspx"&gt;posted&lt;/a&gt; details regarding a change to the newly released TFS 2008 licensing model.&amp;#160; In short, the new license structure will allow anyone in your company to perform the following actions against a TFS server (Standard Edition only - does not apply to the Workgroup Edition) within your organization without the need for a CAL:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create work items &lt;/li&gt;    &lt;li&gt;Query work items they've created &lt;/li&gt;    &lt;li&gt;View work items they've created &lt;/li&gt;    &lt;li&gt;Update work items they've created &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I suspect this type of activity has probably been going on quite a bit in the past with TFS 2005 - it's just that it hasn't been all that easy to track.&amp;#160; This new change will at least remove some of the worry associated with trying to keep these types of users (i.e. the ones that fit the above profile) in compliance.&lt;/p&gt;  &lt;p&gt;The downside (as Brian points out) is that there is no built-in tools to help you determine (or enforce) compliance.&amp;#160; It appears that they plan on providing some enhancements over the next year to address this issue.&lt;/p&gt;  &lt;p&gt;What I like about this change is that it will give development shops a little more leverage on how they might choose to make use of the work item features within TFS.&amp;#160; For example, I'm currently finishing up a blog post on how to create TFS work items directly when an exception is caught within your application.&amp;#160; Previously, in TFS 2005, your end users would (legally) need to have a TFS CAL to utilize the exception handler.&amp;#160; Now, in TFS 2008, any end user in your company is automatically covered - no CAL is required.&lt;/p&gt;  &lt;p&gt;What I don't like about it (I suppose I shouldn't be complaining - at least it's a start) is that it's overly restrictive.&amp;#160; Does it really hurt to allow &lt;em&gt;full &lt;/em&gt;work item access to your employees?&amp;#160; If they can create and manage their own work items, what does it hurt to allow them to manage other work items (not created by them) as well?&amp;#160; Maybe that's a change that will come in the future as Microsoft works out the best fit for their TFS license model.&amp;#160; At any rate, it's a good start.&lt;/p&gt;  &lt;p&gt;You can read more in the &lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/23/tfs-licensing-change-for-tfs-2008.aspx"&gt;original post&lt;/a&gt;.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/11/tfs-2008-license-changes.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-629612334307212778</guid><pubDate>Fri, 16 Nov 2007 04:36:00 +0000</pubDate><atom:updated>2007-11-16T22:23:37.705-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">utilities</category><title>NDiagnostics - Beta Release</title><description>&lt;p&gt;Any of us that creates software on a day-to-day basis, that's actually used by someone other than yourself, has undoubtedly had to answer technical support questions about your software and/or troubleshoot why it's not working. In a lot of cases, you may have a dedicated support team that interacts directly with your customer base and they only contact you if they come across something they can't resolve or explain. Over time, the support teams tend to become very efficient at resolving application-specific issues regarding setup and configuration. However, when an application is first released, the process isn't so straight-forward and you may have to field a lot of questions.&lt;/p&gt;&lt;p&gt;Now, don't get me wrong, I'm more than happy to answer any questions I can about the software that I produce. However, I'm also interested in maximizing everyone's time (mine, the technical support staff's, as well as the end-user's). That is why I decided to create &lt;a href="http://www.codeplex.com/NDiagnostics"&gt;NDiagnostics&lt;/a&gt;. The purpose of NDiagnostics is to allow for the easy creation of a self-diagnostics utility customized for a specific application. For example, if your application requires certain files and/or folders to be present, a specific version of the .NET Framework, and possibly access to a SQL Server database, then you can create a custom configuration file that can quickly and easily scan a user's machine for compliance. Here's a sample screen shot of what NDiagnostics might look like after scanning a user's workstation:&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NDiagnostics&amp;amp;DownloadId=22186" /&gt; &lt;/p&gt;&lt;p&gt;In this example, the SQL Server Service's &lt;em&gt;Startup Type &lt;/em&gt;was not set to Automatic as expected.  However, you can quickly ascertain that the required .NET Frameworks are installed, the SQL Server service is running, Visual Studio is running (yet another strange requirement), my blog is available (yeah!), and the application's database is accessible.&lt;/p&gt;&lt;p&gt;This isn't necessarily a real-world example but it does demonstrate how easy it can make troubleshooting certain tasks. It only took a few seconds for the above tasks to run - it would have taken several minutes to verify these tasks manually (possibly hours if the technical support staff had to determine what to verify to begin with).&lt;/p&gt;&lt;p&gt;NDiagnostics is completely configurable via an XML-based configuration file. The configuration file defines the groups of diagnostic tasks to be run as well as the order of the tasks. NDiagnostics currently ships with the following tasks:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=FileTask&amp;amp;referringTitle=Home"&gt;File Task&lt;/a&gt; - checks for the existence of a specific file and can also (optionally) check the version number. &lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=FolderTask&amp;amp;referringTitle=Home"&gt;Folder Task&lt;/a&gt; - checks for the existence of a specific folder. &lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=NETFXTask&amp;amp;referringTitle=Home"&gt;NETFX Task&lt;/a&gt; - checks for a specific version of the .NET Framework. &lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=ProcessTask&amp;amp;referringTitle=Home"&gt;Process Task&lt;/a&gt; - determines whether a specific process is running. &lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=RegistryTask&amp;amp;referringTitle=Home"&gt;Registry Task&lt;/a&gt; - allows you to verify registry settings. &lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=SQLServerTask&amp;amp;referringTitle=Home"&gt;SQL Server Task&lt;/a&gt; - checks for connection to specified database; optionally check for table existence and/or query result. &lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=URLTask&amp;amp;referringTitle=Home"&gt;URL Task&lt;/a&gt; - determines whether a specific URL is available (can verify web page or web service). &lt;li&gt;&lt;a href="http://www.codeplex.com/NDiagnostics/Wiki/View.aspx?title=WindowsServiceTask&amp;amp;referringTitle=Home"&gt;Windows Service Task&lt;/a&gt; - determines whether or not a specific Windows Service is installed, and optionally, the current status (e.g. running, stopped, etc.). &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Being that this is the first release the set of tasks is somewhat limited. There are several new tasks currently in the works that will be made available in future releases. Also, the project just went "live" tonight so I'm still getting the on-line documentation up to speed.&lt;/p&gt;&lt;p&gt;So, if you have a need for a quick-n-easy diagnostics tool, give &lt;a href="http://www.codeplex.com/NDiagnostics"&gt;NDiagnostics&lt;/a&gt; a look. Please provide any feedback as I would like to make this utility as useful, friendly, and simple as possible. If you have any suggestions for new tasks, please post a comment here or leave feedback at the &lt;a href="http://www.codeplex.com/NDiagnostics"&gt;NDiagnostics&lt;/a&gt; site. Also, the source code is fully available so you can customize this application to your liking.&lt;/p&gt;</description><link>http://devmatter.blogspot.com/2007/11/ndiagnostics-beta-release.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-985929309259107133</guid><pubDate>Wed, 14 Nov 2007 01:45:00 +0000</pubDate><atom:updated>2007-11-13T19:45:49.622-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><title>TFS Book Wish List</title><description>&lt;p&gt;Have you ever found yourself saying something along the lines of "If only I had more time, I'd write a book about such-and-such"?&amp;nbsp; Well, I've found myself saying that several times over the past year or so about Team Foundation Server.&amp;nbsp; Now, don't get me wrong, there are several good books currently available for TFS but none of them quite match what I'm looking for.&lt;/p&gt; &lt;p&gt;I'd like a &lt;em&gt;TFS Automation for Developers&lt;/em&gt; book that covers the details for:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Programmatically creating new work items.&lt;/li&gt; &lt;li&gt;Programmatically querying work items and modifying them.&lt;/li&gt; &lt;li&gt;Creating custom check-in policies.&lt;/li&gt; &lt;li&gt;Creating custom build tasks.&lt;/li&gt; &lt;li&gt;Programmatically accessing and utilizing published unit test and code coverage data.&lt;/li&gt; &lt;li&gt;Programmatically accessing related SharePoint documents.&lt;/li&gt; &lt;li&gt;An in-depth explanation of the web services architecture and how to use it.&lt;/li&gt; &lt;li&gt;An in-depth explanation of the TFS Object Model and how to use it.&lt;/li&gt; &lt;li&gt;All of the above for both TFS 2005 and TFS 2008.&lt;/li&gt; &lt;li&gt;Anything else I happen to think of :-)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Granted, I can find examples for most (if not all) of the above items on the web today.&amp;nbsp; However, what I don't have is a comprehensive explanation of each of them and how they all relate and work together.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.amazon.com/s/ref=nb_ss_b/104-8916914-8927105?url=search-alias%3Dstripbooks&amp;amp;field-keywords=%22team+foundation+server%22&amp;amp;x=0&amp;amp;y=0"&gt;Searching&lt;/a&gt; &lt;a href="http://www.amazon.com/"&gt;Amazon.com&lt;/a&gt; for "Team Foundation Server" turned up 18 items (17 books and 1 TFS software package) of which only three appeared to focus on Team Foundation Server.&amp;nbsp; The &lt;a href="http://www.amazon.com/Visual-Studio-Foundation-Microsoft-Development/dp/0321464826/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1194989669&amp;amp;sr=1-2"&gt;most promising book&lt;/a&gt; out of these three is not yet for sale (although I've added it to my wish list so I don't lose track of it).&amp;nbsp; Just based on the title (Visual Studio Team Foundation Server [Microsoft .NET Development Series]) it may be close to what I'm looking for.&lt;/p&gt; &lt;p&gt;In the meantime, I still don't have the time (or necessarily, the skill) to write a reference book so I thought I'd start an on-line version of the tasks I outlined above.&amp;nbsp; The basic purpose of the new site would be to consolidate and organize the information necessary for working with TFS programmatically.&amp;nbsp; I also realize that &lt;a href="http://msdn2.microsoft.com/"&gt;MSDN&lt;/a&gt; already has a lot of information on it as well but it's not necessarily the easiest to traverse nor does it always have good examples to follow.&lt;/p&gt; &lt;p&gt;So, if you're interested in seeing anything specific, or if you've come across some great sites with great coding examples, please leave a comment.&amp;nbsp; I'll be posting back soon on the progress.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/11/tfs-book-wish-list.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-3351524237728479159</guid><pubDate>Wed, 07 Nov 2007 01:17:00 +0000</pubDate><atom:updated>2007-11-17T23:01:30.351-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">mobile</category><category domain="http://www.blogger.com/atom/ns#">utilities</category><title>SafetyTip - My First Mobile App</title><description>&lt;p&gt;A co-worker recently sent me a &lt;a href="http://www.punny.org/money/fight-thieving-restaurant-servers-with-checksum-tips/"&gt;link about calculating checksums&lt;/a&gt; for tips (i.e. the tip you leave your server when paying for a meal at a restaurant).&amp;nbsp; Without getting into the crux of the poster's original argument ("thieving restaurant servers" - I don't know how often this happens) I found the idea of creating checksums for tips intriguing.&lt;/p&gt; &lt;p&gt;That same night, at one of my family's favorite restaurants, I decided to put the checksum into practice.&amp;nbsp; However, I quickly realized that mentally calculating checksums for tips wasn't all that fun :-).&lt;/p&gt; &lt;p&gt;So, what's a software developer (with a &lt;a href="http://www.microsoft.com/windowsmobile/"&gt;Windows Mobile&lt;/a&gt;-enabled phone) to do?&amp;nbsp; Develop an application, of course!&lt;/p&gt; &lt;p&gt;I decided to build a simple Windows Mobile application that supports the following features:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Allows the entry of the total net amount (i.e. the amount on your bill)  &lt;li&gt;Allows you to select a level of service (e.g. Ok, Good, or Excellent) with an associated tip percentage.  &lt;li&gt;Allows you to select the tip calculation method (e.g. standard, checksum, or palindrome).  &lt;li&gt;Calculates the appropriate tip amount.  &lt;li&gt;Allows all default values to be modified.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Notice that I also implemented the "palindrome" method based on a &lt;a href="http://www.punny.org/money/fight-thieving-restaurant-servers-with-checksum-tips/#comment-104387"&gt;comment&lt;/a&gt; on the original post.&lt;/p&gt; &lt;p&gt;The application has two screens.&amp;nbsp; The first screen allows you to select the tip level and calculation method and also allows you to enter the net (bill) amount.&amp;nbsp; As you enter the amount, the tip will be calculated based on the method you've selected.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.google.com/jbramwell/RzESDociRLI/AAAAAAAAAGc/L02XZV9711E/main4"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="458" alt="main" src="http://lh3.google.com/jbramwell/RzESD4ciRMI/AAAAAAAAAGk/OTdhC1Qfu60/main_thumb2" width="297" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The second screen (invoked by selecting the Preferences menu option) allows you to modify the application's default values.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.google.com/jbramwell/RzESEIciRNI/AAAAAAAAAGs/O87GH8whp4s/prefs5"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="458" alt="prefs" src="http://lh5.google.com/jbramwell/RzESEYciROI/AAAAAAAAAG0/5GAHq9LxvZU/prefs_thumb3" width="297" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Granted this is a simple but it's also my first mobile application so it's been a good experience (plus it's something that I'll make use of).&amp;nbsp; However, even though it's simple, I've learned a lot about the differences in controls between the .NET Framework versions and how to use the Pocket PC emulators as well how mobile applications are deployed.&amp;nbsp; There's still lots to learn but we all have to start somewhere :-)&lt;/p&gt; &lt;p&gt;If you're interested in the application, you can download the &lt;a href="http://www.moonspace.net/blog/SafetyTipCAB.cab"&gt;CAB file here&lt;/a&gt;.&amp;nbsp; The application is compiled against the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9655156b-356b-4a2c-857c-e62f50ae9a55&amp;amp;displaylang=en"&gt;.NET Framework Compact Framework 2.0&lt;/a&gt; which must be installed on your PDA and targets Windows Mobile 5.0.&lt;/p&gt;  </description><link>http://devmatter.blogspot.com/2007/11/safetytip-my-first-mobile-app.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-524795613596431791</guid><pubDate>Wed, 31 Oct 2007 02:47:00 +0000</pubDate><atom:updated>2007-10-30T21:47:49.595-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Conferences</category><title>Getting Ready for Patterns &amp; Practices Summit 2007</title><description>&lt;p&gt;It's almost time for this year's &lt;a href="http://www.pnpsummit.com/"&gt;Patterns and Practices Summit&lt;/a&gt; and I'm excited for many reasons.&amp;nbsp; There is a list of great &lt;a href="http://www.pnpsummit.com/west2007presenters.aspx"&gt;speakers&lt;/a&gt; lined up along with some &lt;a href="http://www.pnpsummit.com/west2007schedule.aspx"&gt;great sessions&lt;/a&gt;.&amp;nbsp; One thing I'm looking forward to with this summit over the typical conference (e.g. &lt;a href="http://www.microsoft.com/events/teched"&gt;TechEd&lt;/a&gt; or &lt;a href="http://msdn.microsoft.com/events/pdc/"&gt;PDC&lt;/a&gt;) is I don't have to pick-and-choose between a dozen (or more) tracks when deciding which sessions to attend - there is only one track with about seven sessions per day.&amp;nbsp; I'm also looking forward to visiting the Microsoft campus since I've never been there before.&amp;nbsp; So, all-in-all, it promises to be a great event.&lt;/p&gt; &lt;p&gt;Of course, I'll have to put on my tourist hat in the evenings and check out the local sites such as the &lt;a href="http://www.spaceneedle.com/"&gt;Space Needle&lt;/a&gt;.&amp;nbsp; Having never been to Washington state I'm not sure what to check out so if anyone has suggestions, please post them.&amp;nbsp; Also, if there is anything specific (i.e. super cool) to visit while on the Microsoft campus please post that as well :-)&lt;/p&gt; </description><link>http://devmatter.blogspot.com/2007/10/getting-ready-for-patterns-practices.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-7181850869301914388</guid><pubDate>Thu, 25 Oct 2007 00:08:00 +0000</pubDate><atom:updated>2007-10-24T19:08:21.711-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">team system</category><title>TFS 2008 System Recommendations Released</title><description>&lt;p&gt;In case you haven't seen it, &lt;a href="http://blogs.msdn.com/bharry/default.aspx"&gt;Brian Harry&lt;/a&gt; posted the &lt;a href="http://blogs.msdn.com/bharry/archive/2007/10/18/tfs-2008-system-recommendations.aspx"&gt;TFS 2008 System Recommendations&lt;/a&gt; a few days ago.&amp;nbsp; There is some great information in there if you are planning on upgrading existing TFS 2005 installations or if you're planning on installing TFS 2008 on a new system.&amp;nbsp; Based on the test results it looks like some pretty good performance improvements have been achieved.&amp;nbsp; You can read more &lt;a href="http://blogs.msdn.com/bharry/archive/2007/10/18/tfs-2008-system-recommendations.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt; </description><link>http://devmatter.blogspot.com/2007/10/tfs-2008-system-recommendations.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-324218269531514004</guid><pubDate>Fri, 19 Oct 2007 17:52:00 +0000</pubDate><atom:updated>2007-10-23T19:56:26.303-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">Conferences</category><category domain="http://www.blogger.com/atom/ns#">Orcas</category><title>What's New in TFS 2008</title><description>&lt;p&gt;I just completed my presentation on the new features of TFS 2008 at this year's &lt;a href="http://tulsatechfest.com/"&gt;Tulsa TechFest&lt;/a&gt;.&amp;nbsp; It was a relatively small session held in one of the classrooms here at the OSU campus which allowed me to more easily address questions during the presentation.&amp;nbsp; The topic I presented on is called &lt;a href="http://www.tulsatechfest.com/Default.aspx?tabid=123"&gt;What's New in TFS 2008&lt;/a&gt;.&amp;nbsp; Although the presentations run roughly 75 minutes, I had to skip over a couple of my demos because there are so many new features in TFS 2008.&amp;nbsp; It was easy to tell that I'm not the only one excited about some of the new features :-)&amp;nbsp; If I had to pick my top 5 features in TFS, they would have to be:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Continuous Integration&lt;/strong&gt; - although there are 3rd party/open source implementations available for TFS 2005 now, they don't have the same, clean integration that's present in TFS 2008.  &lt;li&gt;&lt;strong&gt;Build Retention Policies&lt;/strong&gt; - finally, I won't have to worry about running out of space on the "drop" server because there are 2,000 old builds sitting around collecting dust.&amp;nbsp; Anyone that's ever had a build fail due to lack of disk space (which is not stated in the build failure log) will appreciate (or, love) this feature!  &lt;li&gt;&lt;strong&gt;Better Build Support &lt;/strong&gt;- specifically, the ability to store the TFSBuild.proj file in any folder.&amp;nbsp; This greatly enhances branching options.  &lt;li&gt;&lt;strong&gt;Queued Builds &lt;/strong&gt;- the ability to queue builds is great.&amp;nbsp; I know longer have to wait for my CI build to complete before I can start the test build that pushes the updates to the test machines.  &lt;li&gt;&lt;strong&gt;Performance Improvements &lt;/strong&gt;- there are tons of other enhancements and improvements throughout TFS 2008 but there are also a lot of performance improvements as well.&amp;nbsp; Anything that allows my builds to complete a little bit sooner is much welcomed.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;I could probably list a couple dozen other features that I really like in addition to those above but I have to stop somewhere :-)&lt;/p&gt; &lt;p&gt;You can download the slides here if you're interested:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.moonspace.net/blog/WhatsNewInTFS2008.pptx"&gt;PowerPoint 2007 Format&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.moonspace.net/blog/WhatsNewInTFS2008.pdf"&gt;PDF Format&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; </description><link>http://devmatter.blogspot.com/2007/10/what-new-in-tfs-2008.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-1875023191694567273</guid><pubDate>Thu, 18 Oct 2007 03:36:00 +0000</pubDate><atom:updated>2007-10-17T22:36:46.042-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS</category><category domain="http://www.blogger.com/atom/ns#">Orcas</category><category domain="http://www.blogger.com/atom/ns#">team system</category><title>TFS 2008 Features in TFS 2005</title><description>&lt;p&gt;There are a lot of new features in TFS 2008.&amp;nbsp; So many in fact, it's difficult to list them all at once.&amp;nbsp; I will, however, do my best to cover as many new features as I can during this year's &lt;a href="http://tulsatechfest.com/"&gt;Tulsa TechFest&lt;/a&gt; when I present on &lt;a href="http://www.tulsatechfest.com/Default.aspx?tabid=123"&gt;What's New in TFS 2008&lt;/a&gt;.&amp;nbsp; There are a lot of new features that have been integrated into TFS 2008 that can also be had today in TFS 2005.&amp;nbsp; Some of these are listed below...&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Continuous Integration&lt;/strong&gt; - there are several 3rd party solutions for implementing continuous integration in TFS 2005.&amp;nbsp; These include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;A &lt;a href="http://msdn2.microsoft.com/en-us/library/ms364045(VS.80).aspx"&gt;Microsoft implementation&lt;/a&gt; - this is a web-service based implementation that allows you to associate a Team Project with a specific Build Type to be called any time something is checked into version control.&amp;nbsp; I've seen several variations of this implementation available on the web.&lt;/li&gt; &lt;li&gt;&lt;a href="http://teamsystemrocks.com/files/12/tools/entry1018.aspx"&gt;TeamCI&lt;/a&gt; by Notion Solutions - this is a free CI tool offered by Notion Solutions.&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/tfsbuildlab"&gt;TFSBuildLab&lt;/a&gt; - this is an open source project on Microsoft's &lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt; site.&amp;nbsp; This TFS utility offers more than just CI capabilities.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.codeplex.com/tfsbuildlab"&gt;TFSBuildLab&lt;/a&gt;&lt;/strong&gt; - along with the continuous integration capabilities listed above, TFSBuildLab has many other features:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Retention policies - can be based on Build Status or Build Quality.&amp;nbsp; You can also specify the number of builds to keep or the number of days to keep them.&lt;/li&gt; &lt;li&gt;Tray notifications - receive build and check-in notifications (via "toast" messages)&lt;/li&gt; &lt;li&gt;Build queuing - provides a mechanism for queuing builds.&lt;/li&gt; &lt;li&gt;Build scheduling - provides a UI for scheduling builds.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;"Listless" Unit Tests&lt;/strong&gt; - TFS 2008 has the ability to specify which unit tests to run (during a build) based upon a file mask rather than being forced to select a list of tests.&amp;nbsp; This approach lets you easily run all unit tests within an assembly or set of assemblies (for example) without ever having to manage lists of tests for the build.&amp;nbsp; &lt;a href="http://blogs.msdn.com/buckh/default.aspx"&gt;Buck Hodges&lt;/a&gt; has a &lt;a href="http://blogs.msdn.com/buckh/archive/2006/11/04/how-to-run-tests-without-test-metadata-files-and-test-lists-vsmdi-files.aspx"&gt;great post&lt;/a&gt; explaining an implementation for TFS 2005.&amp;nbsp; Trust me, once you start specifying your unit tests in your build using this approach, you'll never go back to test lists again :-)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;"Broken Build" Check-in Policy&lt;/strong&gt; - TFS 2008 has a new check-in policy called &lt;em&gt;Builds&lt;/em&gt;.&amp;nbsp; When something is checked into version control this policy will check to see if any related builds are currently in a "broke" state;&amp;nbsp; If so, the policy will fail.&amp;nbsp; The idea is to not let developers keep checking in code when the build is just going to fail anyway.&amp;nbsp; &lt;a href="http://blogs.msdn.com/csell/default.aspx"&gt;Clark Sell&lt;/a&gt; has created a &lt;em&gt;&lt;/em&gt;&lt;a href="http://blogs.msdn.com/csell/archive/2006/10/27/build-status-tfs-policy-part-ii.aspx"&gt;Build Status check-in policy&lt;/a&gt; for TFS which gives you this functionality now, in TFS 2005.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;BuildStep Task&lt;/strong&gt; - If you've ever wanted to add your own custom text in the build report (the view you get in Visual Studio while watching an active build run through the various build steps) then you're in luck.&amp;nbsp; In TFS 2008, there's a new build task called the BuildStep task that does just this.&amp;nbsp; You can also get this functionality in TFS 2005 with the &lt;a href="http://blogs.msdn.com/aaronhallberg/archive/2006/08/29/adding-buildsteps-to-team-build-through-a-custom-task.aspx"&gt;TeamBuildTask&lt;/a&gt; posted by &lt;a href="http://blogs.msdn.com/aaronhallberg/default.aspx"&gt;Aaron Hallberg&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Incremental Builds&lt;/strong&gt; - incremental builds are supported within TFS 2008.&amp;nbsp; TFS 2005 build scripts can be configured to run incremental builds with a little work.&amp;nbsp; There's a &lt;a href="http://msdn2.microsoft.com/en-us/library/aa833876(VS.80).aspx"&gt;"how to" article&lt;/a&gt; on &lt;a href="http://msdn2.microsoft.com/"&gt;MSDN&lt;/a&gt; that explains the steps to run incremental builds in TFS 2005.&lt;/p&gt; &lt;p&gt;There are undoubtedly other features that can be made available for TFS 2005 but this is a good start.&lt;/p&gt; </description><link>http://devmatter.blogspot.com/2007/10/tfs-2008-features-in-tfs-2005.html</link><author>noreply@blogger.com (Jeff B.)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22247919.post-4598203494088607650</guid><pubDate>Tue, 02 Oct 2007 04:00:00 +0000</pubDate><atom:updated>2007-10-01T23:06:36.647-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">utilities</category><title>NLarge Utility</title><description>&lt;p&gt;I've been putting the finishing touches on a &lt;a href="http://tulsatechfest.com/Default.aspx?tabid=55&amp;amp;articleType=ArticleView&amp;amp;articleId=106"&gt;TFS 2008 presentation&lt;/a&gt; that I'll be giving at this year's &lt;a href="http://tulsatechfest.com/"&gt;Tulsa TechFest&lt;/a&gt; conference later this month and came across a utility that promises to be extremely useful.&amp;nbsp; It's called NLarge and provides the ability to zoom in and out of a presentation (or any other displayed materials) using a smooth scrolling effect.&amp;nbsp; NLarge runs in the taskbar notification area and can be activated with a hotkey (Alt+1).&amp;nbsp; Once activated, the zoom feature can be controlled with the mouse, tablet pen, and/or keyboard.&amp;nbsp; Although I haven't used this utility during a presentation yet, I think it will be extremely valuable in aiding those in the back of the room to see what I'm focusing on.&lt;/p&gt; &lt;p&gt;NLarge is an open source project available on Microsoft's &lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt; site.&amp;nbsp; You can get more information about &lt;a href="http://www.codeplex.com/NLarge"&gt;NLarge&lt;/a&gt; here.&lt;/p&gt; </description><link>http://devmatter.blogspot.com/2007/10/nlarge-utility.html</link><author>noreply@blogger.com (Jeff B.)</author></item></channel></rss>
