<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.objectsharp.com/CS/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dave Lloyd's 2 Cents</title><link>http://blogs.objectsharp.com/CS/blogs/dave/default.aspx</link><description>A .NET Developer's Perspective</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.2)</generator><item><title>Canada eh!</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/07/14/canada-eh.aspx</link><pubDate>Wed, 14 Jul 2010 03:42:19 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:207553</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/207553.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=207553</wfw:commentRss><description>&lt;blockquote&gt;   &lt;p&gt;Tonight at the Microsoft World Partner Conference MS Canada had a party for all the Canadians. It was wonderful. Food and drinks at the &lt;a href="http://www.hardrock.com/locations/cafes3/cafe.aspx?LocationID=102&amp;amp;MIBEnumID=3"&gt;Hard Rock Cafe in Washington&lt;/a&gt;. &lt;/p&gt;    &lt;p&gt;They brought in &lt;a href="http://www.greatbigsea.com/"&gt;Great Big Sea&lt;/a&gt; to play for us, and they were wonderful.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/IMAGE_056_37DE56EB.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="IMAGE_056" border="0" alt="IMAGE_056" src="http://blogs.objectsharp.com/CS/blogs/dave/IMAGE_056_thumb_0E76E920.jpg" width="698" height="524" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Thanks MS Canada you know how to treat your partners. &lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=207553" width="1" height="1"&gt;</description></item><item><title>My first WPC</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/07/12/my-first-wpc.aspx</link><pubDate>Mon, 12 Jul 2010 11:14:53 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:207341</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/207341.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=207341</wfw:commentRss><description>&lt;p&gt;I arrived in Washington D.C. yesterday morning for the MS World Partner Conference. I have been to many PDC’s and TechEd type conferences but this is my first Partner Conference. &lt;/p&gt;  &lt;p&gt;Registration was very well done. Attendees just scan the bar code on a piece of paper they printed at home when they registered. Take that to a desk show ID and they hand you a card. it’s was literally 2 minutes. Very impressive. &lt;/p&gt;  &lt;p&gt;Went to a New Horizons/MS&amp;#160; party last night that was fun. I met a bunch of people including a nice couple from Redmond. He works for MS and knows a few people I know from MS Canada. &lt;/p&gt;  &lt;p&gt;The last time I was in Washington it was a lot different then it is now. It’s very clean and there is lots of activity. I Found an Irish Pub on my way to the NH party yesterday, it was buzzing with people. Nice atmosphere. &lt;/p&gt;  &lt;p&gt;I am going to pack up now and get over to the Verizon Centre for Breakfast and the first Keynotes. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=207341" width="1" height="1"&gt;</description></item><item><title>Creating a Video Recording with MS Test Manager</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/05/07/creating-a-video-recording-with-ms-test-manager.aspx</link><pubDate>Fri, 07 May 2010 16:24:31 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202872</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/202872.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=202872</wfw:commentRss><description>&lt;p&gt;When manual testing using MS Test Manager you may want to change the test settings to include Video Recording. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_599D1AB8.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_5713E8FA.png" width="699" height="421" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This will capture a video of the test session so the developer can’t say “Tell me exactly what you did to create this bug.”&lt;/p&gt;  &lt;p&gt;To get video recording to work you may have to install the Windows Media Encoder and a support update. &lt;/p&gt;  &lt;p&gt;You can find the details and download links &lt;a href="http://msdn.microsoft.com/library/dd997558(VS.100).aspx"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=202872" width="1" height="1"&gt;</description></item><item><title>Hierarchical Work Items</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/04/26/hierarchical-work-items.aspx</link><pubDate>Mon, 26 Apr 2010 02:26:19 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202203</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/202203.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=202203</wfw:commentRss><description>&lt;p&gt;TFS 2010 has hierarchical work items. This is something that we have been waiting for and are very happy about. Along with hierarchical work items you also get two new query types. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Work Items and Direct Links &lt;/strong&gt;- Which allows you to query for a work items with specified relationships.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tree of Work Items&lt;/strong&gt; – Lets you query for a work item and child work items.&lt;/p&gt;  &lt;p&gt;For example if I wanted to return a list of User Stories and all the Development and Design Tasks to implement them it would look something like this. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_1C6C9A8B.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_1474F829.png" width="583" height="383" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The result from this query might look something like this. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_2AE796B0.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_3C57F788.png" width="581" height="267" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;   &lt;p&gt;Lets say you have created tasks but have not assigned them to Requirements yet. In other words they have no Parent Work Item. Create a query something like this, so it shows Tasks and User Stories in the Parent role.&amp;#160; &lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_3A3AF8BF.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_557351C0.png" width="579" height="366" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;The Result will show Tasks that were not assigned to User Stories yet. &lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_333B463A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_5DA77757.png" width="586" height="230" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;Here’s the cool trick I wanted to show you. &lt;/p&gt;    &lt;p&gt;By dragging the Task titled “Implement Movie Query” onto the User Story titled “Select Movie Time” it will automatically create the Parent/Child relationship. You can also reassign incorrectly assigned children to another parent. &lt;/p&gt;    &lt;p&gt;Nice eh?&lt;/p&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=202203" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/CS/blogs/dave/archive/tags/VS2010/default.aspx">VS2010</category></item><item><title>2010 Launch</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/04/13/2010-launch.aspx</link><pubDate>Tue, 13 Apr 2010 12:18:01 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:200897</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/200897.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=200897</wfw:commentRss><description>&lt;h4 align="center"&gt;The 2010 Launch event was last night at Ultra on Queen West. Great event, thanks MS for putting it on. There were lots of folks out to help celebrate. &lt;/h4&gt;  &lt;p align="center"&gt;&lt;img title="" alt="VS2010 Launch 020 by Jules in Toronto." src="http://farm5.static.flickr.com/4019/4516417927_a60d6ce768.jpg" width="500" height="375" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4 align="center"&gt;&amp;#160;&lt;/h4&gt;  &lt;h4 align="center"&gt;Now to get ready for the next launch event. &lt;/h4&gt;  &lt;h4 align="center"&gt;on April 22nd ObjectSharp and Microsoft co-present &lt;a href="http://objectsharp.com/newsletter/"&gt;Visual Studio 2010 At the Movies.&lt;/a&gt;&lt;/h4&gt;  &lt;h4 align="center"&gt;This is a free full day event from the best instructors in the business. &lt;/h4&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/ironman_5F201594.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ironman" border="0" alt="ironman" src="http://blogs.objectsharp.com/CS/blogs/dave/ironman_thumb_550B7469.jpg" width="162" height="244" /&gt;&lt;/a&gt; &lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/spaceballs_02206138.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="spaceballs" border="0" alt="spaceballs" src="http://blogs.objectsharp.com/CS/blogs/dave/spaceballs_thumb_4AF6D33E.jpg" width="162" height="244" /&gt;&lt;/a&gt; &lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/torontosfinest_7F2AFC84.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="torontosfinest" border="0" alt="torontosfinest" src="http://blogs.objectsharp.com/CS/blogs/dave/torontosfinest_thumb_6888AE3D.jpg" width="162" height="244" /&gt;&lt;/a&gt; &lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/wizards_7CA1CAC6.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="wizards" border="0" alt="wizards" src="http://blogs.objectsharp.com/CS/blogs/dave/wizards_thumb_416DEEFB.jpg" width="162" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=200897" width="1" height="1"&gt;</description></item><item><title>Microsoft Sync &amp;amp; MyKey</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/04/07/microsoft-sync-mykey.aspx</link><pubDate>Wed, 07 Apr 2010 23:06:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:200300</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/200300.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=200300</wfw:commentRss><description>&lt;P&gt;I recently purchased a new car. I had been thinking about it and a deal came up that was too good to pass up. 0% financing, free MS Sync were just two of the carrots I followed into the dealership. &lt;/P&gt;
&lt;P&gt;I bought a 2010 Ford Focus. If you are like me you might have thought the focus was a low end, small car like the chevette back in the day. :) Well I’m hear to tell you that is not the case. For a very reasonable price (I am very cheap when it comes to cars) I bumped up to the SES model. It has loads of great options. I wanted to Blog about two of them.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Cool Option Number 1:&lt;/STRONG&gt; &lt;A href="http://media.ford.com/article_display.cfm?article_id=29172"&gt;Mykey&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mykey allows me to program driving instructions based on the key that is used in the car. I can program the car so that when the spare key is used:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The seat belt reminder can not be turned off&lt;/LI&gt;
&lt;LI&gt;Audio is muted until the seat belt is buckled&lt;/LI&gt;
&lt;LI&gt;Audio volume can be limited&lt;/LI&gt;
&lt;LI&gt;Vehicle Speed can be limited&lt;/LI&gt;
&lt;LI&gt;There are audible and visible warnings for both low fuel and speed thresholds&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Teenagers everywhere are cringing at the thought of this feature. :)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Cool Option Number 2:&lt;/STRONG&gt; &lt;A href="http://www.fordvehicles.com/technology/sync/"&gt;Microsoft Sync&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I had heard a lot about MS Sync but never really knew what features it had. I have just started playing with it, but so far it’s very nice. Let me begin by saying the controls are all on the steering wheel which is a great feature. What can MS Sync do? &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Hands Free Calling&lt;/LI&gt;
&lt;LI&gt;You can search through Contact List, missed calls, incoming calls outgoing calls. &lt;/LI&gt;
&lt;LI&gt;Have it read you text messages to you&lt;/LI&gt;
&lt;LI&gt;Automatic Text message responses like&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Can’t talk right now&lt;/LI&gt;
&lt;LI&gt;Call you later&lt;/LI&gt;
&lt;LI&gt;I’m stuck in traffic&lt;/LI&gt;
&lt;LI&gt;CU in 20 minutes&lt;/LI&gt;
&lt;LI&gt;CU in 10 minutes&lt;/LI&gt;
&lt;LI&gt;Where R you?&lt;/LI&gt;
&lt;LI&gt;Call me&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Verbally search for and select music to play on your IPod plugged into the USB port&lt;/LI&gt;
&lt;LI&gt;Charge your phone via the USB port&lt;/LI&gt;
&lt;LI&gt;911 Assist (I haven’t used this yet, hopefully I never have to)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I really like my MS Sync.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=200300" width="1" height="1"&gt;</description></item><item><title>Branching &amp;amp;amp; Merging in 2010</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/04/05/branching-merging-in-2010.aspx</link><pubDate>Mon, 05 Apr 2010 21:11:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:200035</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/200035.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=200035</wfw:commentRss><description>&lt;P&gt;Branching &amp;amp; Merging has always been difficult. I have worked with teams who go out of their way not to branch the code. However sometimes it’s just necessary. Thanks to the Software Engineers at Microsoft it’s much easier now in TFS 2010 Source Control. I don’t mean easier (less key strokes) I mean easier because a Branch is now a first class citizen and there are ways to visualize what change sets have made it into which branches. &lt;/P&gt;
&lt;P&gt;Let me show you what I mean. &lt;/P&gt;
&lt;P&gt;Lets take a simple application like my calculator and create two branches of the code for the purpose of code promotion. Some source control tools have the concept of a promotion model. Which works kind of like static labels. Code can be promoted from development to QA and Production branches. Dev QA and Production act like labels but there is only ever one Dev, QA and Production promotion level at a time. We can use branching to achieve this. I’m not promoting this method as the way you should promote code, I’m just using it as an example for branching because I think it’s pretty easy to get your head around. &lt;/P&gt;
&lt;P&gt;To start I’ll take my Calculator solution and create two branches in source control called QA and Prod. Right click on the project folder in Source control and select &lt;STRONG&gt;Branching and Merging | Branch…&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_4570FC82.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_12A0F60E.png" width=445 height=79&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;On the branch dialog enter the name of the target branch.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_78CCBFDE.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_23A523F1.png" width=449 height=243&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Create two, one named QA and one named Prod. You will also be asked to create a local folder if you leave the option checked to store it on your local workspace. Don’t forget this operation is a local change and you will have to check in your changes to make it permanent. &lt;/P&gt;
&lt;P&gt;Once all is complete you should have the following in Source control. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_4353FDB9.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_310B36F7.png" width=261 height=181&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;So here we have the Calculator main branch and of course the two promotion branches Prod and QA. Right click on Calculator and select Branching and Merging | View Hierarchy from the popup menu. This will give you a view of the relationships between branches. &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_50BA10BF.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_3E7149FD.png" width=277 height=156&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Right click on the main branch and select Properties from the popup menu. The properties dialog contains information about the branch including relationships to other branches and permissions. This is where you can denote who has the rights to promote to a particular branch. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_173700C8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_3679A79B.png" width=544 height=193&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;We can use the History View to visualize which branches a changeset has been promoted to. Here are the changesets checked into the my calculator.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_0ED32B71.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_1C393E77.png" width=640 height=248&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;If you right click on one of the changesets we can see how it has been promoted through the branches. Lets take this bug fix for example. I’ll write click on it and select Track Changeset from the popup menu.&lt;/P&gt;
&lt;P&gt;Next we select which branches we want to look at. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_6DDFB8C9.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_268A62D7.png" width=499 height=394&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Click on Visualize to see which branches this Changeset is in. From the Visualizer switch to Timeline Tracking to get this view.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_2213E210.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_4CEC4622.png" width=537 height=384&gt;&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We can see that the changeset has been promoted to both branches. Therefore Changeset 13, 15 and 16 are the same.&amp;nbsp; Select a changeset and you will see the date and time the changeset was merged into the branch at the top highlights in yellow. &lt;/P&gt;
&lt;P&gt;Now try this. Make a change in the base branch then open the visualizer and drag the base branch to one of the other branches this will merge the changeset into the branch you drop it on. Then check in your merge and refresh your visualizer. &lt;/P&gt;
&lt;P&gt;Happy Branching and Merging. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=200035" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/CS/blogs/dave/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.objectsharp.com/CS/blogs/dave/archive/tags/VS2010ATM/default.aspx">VS2010ATM</category></item><item><title>Generate a Data Driven Coded UI Test from an Action Recording</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/03/17/generate-a-data-driven-coded-ui-test-from-an-action-recording.aspx</link><pubDate>Tue, 16 Mar 2010 23:02:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:198648</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/198648.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=198648</wfw:commentRss><description>&lt;p&gt;One of the very cool new features of VS 2010 and TFS is the ability to turn a manual test into an Automated UI test. As if that wasn’t cool enough how about making it Data Driven and bind it to the original Test Case created by QA. &lt;/p&gt;  &lt;p&gt;Using the new Test Manager that comes with VS Ultimate 2010 your test team can create Test Cases using parameters instead of hard coded data values. This allows the manual test to be executed over multiple iterations and validate several scenarios using just one Test Case. &lt;/p&gt;  &lt;p&gt;If you have such a Test Case stored in TFS it will look something like this. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_7C498965.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_069AADC6.png" width="569" height="319" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notice the @Value1, @Value2 and @Result under the Action and Expected Result. They represent parameters whose values that are listed below, the steps. &lt;/p&gt;  &lt;p&gt;Assuming the test team executed this Test Case and created an Action Recording. Which means they let Test Manager record their actions while they ran through a manual test of the application. During the manual test and subsequent recording they will have easily, and possibly without even knowing it bound the Parameters to controls in the application. &lt;/p&gt;  &lt;p&gt;From this you can create a Coded UI Test that you can use in part of your arsenal of automated tests against the User Interface.&lt;/p&gt;  &lt;p&gt;Here is what you need to do. &lt;/p&gt;  &lt;p&gt;Open the Test Project where you want to store the Coded&amp;#160; UI Test. And select &lt;strong&gt;Test | New Test…&lt;/strong&gt; from the Visual Studio menu. On the New Test dialog select Coded UI Test, name it and select the test project to add it to. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_257121A4.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_047DAEFD.png" width="469" height="395" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As the test is being added to the project you will be prompted with a choice to either Record this test yourself of use an existing action recording. Select &lt;strong&gt;Use an existing action recording.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_48716D47.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_20CAF11D.png" width="483" height="275" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Next you will be prompted to select a test case. Find and select the test case created by your QA team that contains Parameters and an action recording discussed earlier. &lt;/p&gt;  &lt;p&gt;The Coded UI test will be generated for you. Minus the Assertions, we’ll add those ourselves. &lt;/p&gt;  &lt;p&gt;You should end up with a Multiplytests class that contains a CodedUITestMethod1(). Rename the method to something more appropriate. In my case I will name it MultiplyTestMethodUI().&lt;/p&gt;  &lt;p&gt;The method will look something like this. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image15_4C9B450C.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image15_thumb_2ACF6C7B.png" width="797" height="192" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notice the reference to Value1 and Value2. &lt;/p&gt;  &lt;p&gt;We need to add the assertion to this test. &lt;/p&gt;  &lt;p&gt;Place the cursor on a blank line just before the CloseCalc() method call, right click and select &lt;strong&gt;Generate Code for Coded UI Test | Use Coded UI Test Builder…&lt;/strong&gt; from the popup menu. &lt;/p&gt;  &lt;p&gt;Visual Studio will minimize and you will see the Coded UI Test Builder. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image19_5A3DDB47.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image19_thumb_75E2673D.png" width="273" height="72" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Open the Application and drag the cross hair to the control you want to use to validate the result. In my case it’s the Answer Text Box. You will be presented with a property grid for this control. Select the Text property. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_7980821A.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_5FAC4BEB.png" width="612" height="399" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Click the Add Assertion button on the property grid toolbar and select AreEqual as the comparator and some value. Then click OK.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_36C136E2.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_6B61931D.png" width="288" height="177" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Click Alt+ G to generate the code for the assertion, when prompted enter a name for the method and click &lt;strong&gt;Add and Generate&lt;/strong&gt;. Stop your recording by clicking on the &lt;strong&gt;X &lt;/strong&gt;in the Coded UI Test Builder. We could have done this all manually. I’m all for letting the tool do it for me. :)&lt;/p&gt;  &lt;p&gt;You will notice back in your test method a call will be added to the assertion method you generated. &lt;/p&gt;  &lt;p&gt;At this point we want to set the expected value for the assertion to the result from the test case. &lt;/p&gt;  &lt;p&gt;Insert a line just before the AssertMultiplicationTest method call and insert the following code. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;this.UIMap.AssertMultiplicationTestExpectedValues.UIAnswerTextBoxEditText – TestContext.DataRow[“result”].ToString();&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Save and build your solution. Open the Test View window and execute the new Coded UI Test you just created. &lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:a63734ec-9e07-4887-b3f8-7cd524417557" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=9dSPfa95ENA" target="_new"&gt;&lt;img src="http://blogs.objectsharp.com/CS/blogs/dave/video87bec2628f39_397C5B83.jpg" style="border-style:none;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Check the test results to see a pass for each Data Row. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/dave/image_643230D8.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_15BD9E6E.png" width="368" height="285" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Take a look at the DataSource Attribute on your test method. It’s pointing back to Test Case 11. Therefore if the test team adds scenarios to their test case your Coded UI Test will run those scenarios also. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=198648" width="1" height="1"&gt;</description></item><item><title>Happy New Year</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2010/01/12/happy-new-year.aspx</link><pubDate>Tue, 12 Jan 2010 15:16:25 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:191885</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/191885.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=191885</wfw:commentRss><description>&lt;p&gt;It’s been over a month since I wrote an blog entry. I have reasons, Christmas, time off, New Years. I paved my main machine too, it was time. Put a fresh install of Windows 7 on a brand new Solid State Drive. It’s crazy fast. Of course that means fresh installs of everything. Everyday software gets installed first and then I move on to secondary stuff that I don’t use everyday, like Live writer.&amp;#160; &lt;/p&gt;  &lt;p&gt;I am going to try and get out more Blog entries on what's new in 2010. At the moment I am pretty busy. Besides helping with day to day business. I have several presentations coming up. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Today &lt;a href="http://blogs.msdn.com/adamga/"&gt;Adam Gallant&lt;/a&gt; and I are doing a Web Cast titled &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032436202&amp;amp;EventCategory=2&amp;amp;culture=en-CA&amp;amp;CountryCode=CA"&gt;Quality Assurance in VSTS 2010&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;On January 21st Jeff Zado&amp;#160; and I will be in Waterloo to discuss &lt;a href="http://www.objectsharp.com/company/events/Pages/default.aspx"&gt;Better Application Lifecycle Management with VS 2010&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;On January 27th &lt;a href="http://blogs.objectsharp.com/cs/blogs/deb/"&gt;Deb Forsyth&lt;/a&gt; and I will be at the CTTDNUG in Kitchener presenting &lt;a href="http://www.cttdnug.org/Events/tabid/55/ModuleID/504/ItemID/22/mctl/EventDetails/Default.aspx?selecteddate=1/27/2010"&gt;What’s new in TFS 2010&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I also have Several ALM Assessments to do, plus Deb and I are writing some new courses. &lt;strong&gt;TFS 2010 for QA&lt;/strong&gt; and &lt;strong&gt;TFS 2010 for Developers&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;I’ll get back into the swing of a regular Blog entry sometime this week.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=191885" width="1" height="1"&gt;</description></item><item><title>Build Process Templates</title><link>http://blogs.objectsharp.com/CS/blogs/dave/archive/2009/11/16/build-process-templates.aspx</link><pubDate>Mon, 16 Nov 2009 20:38:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:187557</guid><dc:creator>dave</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/CS/blogs/dave/comments/187557.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/CS/blogs/dave/commentrss.aspx?PostID=187557</wfw:commentRss><description>&lt;P&gt;Making a build script do exactly what you want is easier with 2010?&lt;/P&gt;
&lt;P&gt;When setting up a build there has always been a separation of concerns. &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The Build Definition &lt;/LI&gt;
&lt;LI&gt;The Build Process &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Creating the build definition is much like you are use to in 2008. Right click on the builds node in the Team Explorer and select New Build Definition. It’s no longer a modal wizard, however it’s the same of information. &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;Name and Description&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;How you want the build to be triggered&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Working folders &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Build Server and Drop Location&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Retention Policy&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;However there is a big difference, and it relates to the separation of concerns I mentioned above. In 2008 you could create a project file, that you would later have to edit to get the build to do anything extra ordinary. When you hit create on the project file tab you would be launched into another wizard that allowed you to select the solution to build, the type of configuration you wanted to build, weather or not you wanted tests executed against the build and or static code analysis performed.&lt;/P&gt;
&lt;P&gt;In 2010 the Process tab contains a type of property grid which allows you to change the configuration of the build. This grid is organized into 3 sections Required, Basic and Advanced, allowing you to specify the solutions to build, define the build number, how to deal with tests and code analysis, weather or not to perform test impact analysis or label the source at this build to name just a few. &lt;/P&gt;
&lt;P&gt;Where is all this defined? How would I add extra functionality to my build? What if I wanted to replace a dev.config with a test.config or deploy extra files to the drop location? &lt;/P&gt;
&lt;P&gt;At the top of this tab is a show details expander. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_7125DCF9.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:block;FLOAT:none;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;MARGIN-LEFT:auto;BORDER-LEFT-WIDTH:0px;MARGIN-RIGHT:auto;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_1EA6FCBD.png" width=486 height=55&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After expanding this area you will&amp;nbsp; be able to select from a list of Build Process Templates. &lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_42602457.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_0F23EAEE.png" width=504 height=124&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Each template can contain different build processes. Beta2 comes with three templates to get you going. Click New to create your own by selecting a XAML file you have already created a placed in source control, or copy one of the existing templates as a starting point. You will notice also that you can store your Build Template anywhere in source control. In previous versions they only ever existed in one place under source control. &lt;/P&gt;
&lt;P&gt;With 2010 you can create a build using the default template, which will likely do most, and more likely all of what you need it to do. In my experience most teams do not customize their project build files so for them the default template will suffice.&lt;/P&gt;
&lt;P&gt;If you do want to make changes to your Build process you no longer have to edit a confusing poorly documented XML file. Instead when you open the build template in VS you will be presented with a Windows Workflow editor that allows you to edit your build process template.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.objectsharp.com/CS/blogs/dave/image_2DFA5ECC.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://blogs.objectsharp.com/CS/blogs/dave/image_thumb_1F6F3CDA.png" width=528 height=372&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So why did I start this Blog post with a question? Although it does appear to be easier to add functionality to your build process, For those of us who are Windows Workflow challenged there is some learning to do. The good news is it will be better documented and ultimately easier to find solutions. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/CS/aggbug.aspx?PostID=187557" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/CS/blogs/dave/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.objectsharp.com/CS/blogs/dave/archive/tags/VS2010ATM/default.aspx">VS2010ATM</category></item></channel></rss>