<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.microsoft.co.il/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>Shai Raiten&amp;#39;s Blog</title><link>http://blogs.microsoft.co.il/blogs/shair/</link><description>It&amp;#39;s all about code...</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>TFS API Part 52 – Getting Work Item History</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/30/tfs-api-part-52-getting-work-item-history.aspx</link><pubDate>Wed, 30 Oct 2013 07:33:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2784270</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2784270</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/30/tfs-api-part-52-getting-work-item-history.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/30/tfs-api-part-52-getting-work-item-history.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/30/tfs-api-part-52-getting-work-item-history.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;colorscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;Work Item History field isn’t just a Text field that shows all the changes in a specific work items, it’s a collection of Revision object. Each time you save a Work Item a new revision object is been create and represent the Work Item Latest values.&lt;/p&gt; &lt;p&gt;You can use the History to get previous values from Fields, Links and Attachments history.&lt;/p&gt; &lt;p&gt;In this post I’ll show how to get Work Item revision list and display the Fields of specific revision.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_5F4590AC.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_2D49DC23.png" width="895" height="387" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry2784264.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Step 1: Connecting To TFS And Getting Work Item Store&lt;/h2&gt; &lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; btnConnect_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
{
    TeamProjectPicker tpp = &lt;span class="kwrd"&gt;new&lt;/span&gt; TeamProjectPicker(TeamProjectPickerMode.NoProject, &lt;span class="kwrd"&gt;false&lt;/span&gt;);
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (tpp.ShowDialog() != System.Windows.Forms.DialogResult.OK || tpp.SelectedTeamProjectCollection == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
    {
        btnFetch.IsEnabled = txtWitId.IsEnabled = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
        &lt;span class="kwrd"&gt;return&lt;/span&gt;;
    }

    tfs = tpp.SelectedTeamProjectCollection;
    store = &lt;span class="kwrd"&gt;new&lt;/span&gt; WorkItemStore(tfs, WorkItemStoreFlags.BypassRules);
    btnFetch.IsEnabled = txtWitId.IsEnabled = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
}&lt;/pre&gt;&lt;/blockquote&gt;
&lt;h2&gt;Step 2: Getting Work Item History&lt;/h2&gt;
&lt;p&gt;Using WorkItemStore object you can get the work item, the work item object contains a Revisions collection that will allow you to navigate inside the work item history.&lt;/p&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; FetchWorkItemHistory()
{
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrEmpty(txtWitId.Text)) &lt;span class="kwrd"&gt;return&lt;/span&gt;;

    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!&lt;span class="kwrd"&gt;int&lt;/span&gt;.TryParse(txtWitId.Text, &lt;span class="kwrd"&gt;out&lt;/span&gt; _workitemId)) &lt;span class="kwrd"&gt;return&lt;/span&gt;;

    WorkItem wit = store.GetWorkItem(_workitemId);
    listRevs.ItemsSource = wit.Revisions;
}&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;You can also get the Work Item from specific Revision:&lt;/p&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt; WorkItem wit = store.GetWorkItem(_workitemId, rev.Index);&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry2784264.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2784270" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WorkItem+Tracking/default.aspx">WorkItem Tracking</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Work+Items/default.aspx">Work Items</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx">TFS API</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item><item><title>TFS API Part 51 – Adding Test Step &amp; Shared Step</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/07/tfs-api-part-51-adding-test-step-amp-shared-step.aspx</link><pubDate>Mon, 07 Oct 2013 06:42:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2677498</guid><dc:creator>shair</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2677498</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/07/tfs-api-part-51-adding-test-step-amp-shared-step.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-

serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/07/tfs-api-part-51-adding-test-step-amp-shared-step.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-

serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?

href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/07/tfs-api-part-51-adding-test-step-amp-shared-step.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;col

orscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;Working TFS API for Test Cases is different from Work Items, the usage is different and this cause many of customer to send me questions regarding Test Case API.&lt;/p&gt;  &lt;p&gt;This post will demonstrate how to create new Test Case, Adding Steps, Step Attachments, Shared Steps and more.&lt;/p&gt;  &lt;p&gt;As always we need to start with connecting &lt;strong&gt;TFS Object Model:&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;TeamProjectPicker tpp = &lt;span class="kwrd"&gt;new&lt;/span&gt; TeamProjectPicker(TeamProjectPickerMode.SingleProject, &lt;span class="kwrd"&gt;false&lt;/span&gt;);
&lt;span class="kwrd"&gt;if&lt;/span&gt; (tpp.ShowDialog() != System.Windows.Forms.DialogResult.OK) &lt;span class="kwrd"&gt;return&lt;/span&gt;;

TfsTeamProjectCollection Tfs = tpp.SelectedTeamProjectCollection;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;For Work Items we need to obtain &lt;strong&gt;WorkItemStore&lt;/strong&gt; object, but for Test Cases we need to work with &lt;strong&gt;ITestManagmentTeamProject&lt;/strong&gt; object.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;ITestManagementServiceservice = (ITestManagementService)Tfs.GetService(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(ITestManagementService));
ITestManagementTeamProject TestProject = (ITestManagementTeamProject)service.GetTeamProject(tpp.SelectedProjects[0].Name);&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;div&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.aspx" target="_blank"&gt;ITestManagmentTeamProject&lt;/a&gt; contains many helpers for Test API&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testplans.aspx"&gt;TestPlans&lt;/a&gt; - Gets a helper object that provides access to the test plans in this project.&lt;/li&gt;

  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testpoints.aspx"&gt;TestPoints&lt;/a&gt; - Contains methods to block and unblock test points.&lt;/li&gt;

  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testresolutionstates.aspx"&gt;TestResolutionStates&lt;/a&gt; - Gets a helper object that provides access to the test resolution states in this project.&lt;/li&gt;

  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testresults.aspx"&gt;TestResults&lt;/a&gt; - Gets a helper object that provides access to the test results that are shown in this project.&lt;/li&gt;

  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testruns.aspx"&gt;TestRuns&lt;/a&gt; - Gets a helper object that provides access to the test runs in this project.&lt;/li&gt;

  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testsettings.aspx"&gt;TestSettings&lt;/a&gt; - Gets a helper object that provides access to the test settings in this project.&lt;/li&gt;

  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testsuites.aspx"&gt;TestSuites&lt;/a&gt; - Gets a helper object that provides access to the test suites in this project.&lt;/li&gt;

  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testcases.aspx"&gt;TestCases&lt;/a&gt; - Gets a helper object that provides access to the test cases in this project.&lt;/li&gt;

  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.sharedsteps.aspx"&gt;SharedSteps&lt;/a&gt; - Gets a helper object that provides access to the shared steps in this project.&lt;/li&gt;

  &lt;li&gt;&lt;img title="Public property" alt="Public property" src="http://i.msdn.microsoft.com/areas/global/content/clear.gif" /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementteamproject.testvariables.aspx"&gt;TestVariables&lt;/a&gt; - Gets a helper object that provides access to the test variables in this project.&lt;/li&gt;
&lt;/ul&gt;

&lt;div&gt;For this post I’ll use &lt;strong&gt;TestCases &lt;/strong&gt;helper to create and find new Test Case under my Team Project.&lt;/div&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;ITestCase testCase = TestProject.TestCases.Find(1);
    &lt;span class="rem"&gt;//  TestProject.TestCases.Query(&amp;quot;QUery Text&amp;quot;)&lt;/span&gt;
    &lt;span class="rem"&gt;//  TestProject.TestCases.InPlans(&amp;quot;Query Text&amp;quot;, isInPlans)&lt;/span&gt;
    //  TestProject.TestCases.Create()&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once you’ve created new Test Case you can start adding Steps and Shared Steps into the Test Case.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;ITestStep newStep = testCase.CreateTestStep();
newStep.Title = &lt;span class="str"&gt;&amp;quot;New Step Title&amp;quot;&lt;/span&gt;;
newStep.ExpectedResult = &lt;span class="str"&gt;&amp;quot;New Step Expected Result&amp;quot;&lt;/span&gt;;
testCase.Actions.Add(newStep); &lt;span class="rem"&gt;//Don&amp;#39;t forget adding it to the Test Actions List&lt;/span&gt;

ISharedStepReference sharedStepReference = testCase.CreateSharedStepReference();
sharedStepReference.SharedStepId = 2;
testCase.Actions.Add(sharedStepReference); &lt;span class="rem"&gt;//Don&amp;#39;t forget adding it to the Test Actions List&lt;/span&gt;

&lt;span class="rem"&gt;//Create Test Step Attachment&lt;br /&gt;&lt;/span&gt;ITestAttachment attachment = newStep.CreateAttachment(&lt;span class="str"&gt;@&amp;quot;C:\Temp\Image.png&amp;quot;&lt;/span&gt;);
newStep.Attachments.Add(attachment);

testCase.Save();&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can also add a bulk of test actions using &lt;strong&gt;ActionGroup &lt;/strong&gt;object:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;ITestStep newStep = testCase.CreateTestStep();
newStep.Title = &lt;span class="str"&gt;&amp;quot;Step Number 1&amp;quot;&lt;/span&gt;;
newStep.ExpectedResult = &lt;span class="str"&gt;&amp;quot;New Step Expected Result&amp;quot;&lt;/span&gt;;

ITestStep newStep2 = testCase.CreateTestStep();
newStep2.Title = &lt;span class="str"&gt;&amp;quot;Step Number 2&amp;quot;&lt;/span&gt;;
newStep2.ExpectedResult = &lt;span class="str"&gt;&amp;quot;New Step Expected Result&amp;quot;&lt;/span&gt;;

ITestStep newStep3 = testCase.CreateTestStep();
newStep3.Title = &lt;span class="str"&gt;&amp;quot;Step Number 3&amp;quot;&lt;/span&gt;;
newStep3.ExpectedResult = &lt;span class="str"&gt;&amp;quot;New Step Expected Result&amp;quot;&lt;/span&gt;;

ITestActionGroup group = testCase.CreateTestActionGroup();
group.Name = &lt;span class="str"&gt;&amp;quot;Action Group&amp;quot;&lt;/span&gt;;
group.Actions.Add(newStep);
group.Actions.Add(newStep2);
group.Actions.Add(newStep3);

testCase.Actions.Add(group);
testCase.Save();&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2677498" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WorkItem+Tracking/default.aspx">WorkItem Tracking</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx">TFS API</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+2012/default.aspx">TFS 2012</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item><item><title>WPF WebBrowser - getElementsByClassName Isn’t Working</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/02/wpf-webbrowser-getelementsbyclassname-isn-t-working.aspx</link><pubDate>Wed, 02 Oct 2013 06:04:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2662171</guid><dc:creator>shair</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2662171</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/02/wpf-webbrowser-getelementsbyclassname-isn-t-working.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/10/02/wpf-webbrowser-getelementsbyclassname-isn-t-working.aspx" scrolling="no" frameborder="0" style="border:none;width:450px;height:80px;"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;Working on a WPF app for a customer we’ve faced a strange problem, our WPF app display some HTML content and allow user actions on the Web Browser control – &lt;strong&gt;Expend &lt;/strong&gt;and &lt;strong&gt;Collapsed&lt;/strong&gt; div elements.&lt;/p&gt;  &lt;p&gt;Because the JavaScript code is simple I don’t want to add any external library to our generated HTML and JavaScript code.&lt;/p&gt;  &lt;p&gt;Here is how the Expend and Collapse code looks like:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; toggleAllItems(show) {
    &lt;span class="kwrd"&gt;var&lt;/span&gt; text = &lt;span class="str"&gt;&amp;#39;+&amp;#39;&lt;/span&gt;; &lt;span class="kwrd"&gt;var&lt;/span&gt; style = &lt;span class="str"&gt;&amp;#39;none&amp;#39;&lt;/span&gt;;
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (show) {
        text = &lt;span class="str"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;; style = &lt;span class="str"&gt;&amp;#39;block&amp;#39;&lt;/span&gt;;
    }
    &lt;span class="kwrd"&gt;var&lt;/span&gt; allexpenders = &lt;font style="background-color:#ffff00;"&gt;document.getElementsByClassName&lt;/font&gt;(&lt;span class="str"&gt;&amp;#39;expender-container&amp;#39;&lt;/span&gt;);
    &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; allexpenders.length; i++) {
        allexpenders[i].style.display = style;
    } 
    &lt;span class="kwrd"&gt;var&lt;/span&gt; toggles = &lt;font style="background-color:#ffff00;"&gt;document.getElementsByClassName&lt;/font&gt;(&lt;span class="str"&gt;&amp;#39;toggle&amp;#39;&lt;/span&gt;);
    &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; toggles.length; i++) {
        toggles[i].innerText = text;
    }
}
&lt;span class="kwrd"&gt;function&lt;/span&gt; expendAll() {
    toggleAllItems(&lt;span class="kwrd"&gt;true&lt;/span&gt;);
}
&lt;span class="kwrd"&gt;function&lt;/span&gt; collapseAll() {
    toggleAllItems(&lt;span class="kwrd"&gt;false&lt;/span&gt;);
}&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once I run the app I saw the HTML documents just fine except I received the following error once I clicked on the Expend\Collapsed Items.&amp;#160; (The object is the document, get element by id works)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_45C46426.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_56A8466F.png" width="718" height="465" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I open the same HTML + JavaScript code in IE (10) it works just fine, so I had to implement the &lt;strong&gt;getElementByClassName&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&amp;lt;script&amp;gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; getElementsByClassName(node, classname) {
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (node.getElementsByClassName) {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; node.getElementsByClassName(classname);
    }
    &lt;span class="kwrd"&gt;else&lt;/span&gt; {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; (&lt;span class="kwrd"&gt;function&lt;/span&gt; getElementsByClass(searchClass, node) {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (node == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
                node = document;
            &lt;span class="kwrd"&gt;var&lt;/span&gt; classElements = [];
            &lt;span class="kwrd"&gt;var&lt;/span&gt; tags = node.getElementsByTagName(&lt;span class="str"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;), pattern = &lt;span class="kwrd"&gt;new&lt;/span&gt; RegExp(&lt;span class="str"&gt;&amp;quot;(^|\\s)\&amp;quot;+searchClass+\&amp;quot;(\\s|$)&amp;quot;&lt;/span&gt;), i, j;
            &lt;span class="kwrd"&gt;for&lt;/span&gt; (i = 0, j = 0; i &amp;lt; tags.length; i++) {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (pattern.test(tags[i].className)) {
                    classElements[j] = tags[i];
                    j++;
                }
            } &lt;span class="kwrd"&gt;return&lt;/span&gt; classElements;
        })(classname, node);
    }
}
&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;pre class="csharpcode"&gt;&lt;font size="3" face="Calibri"&gt;Usage&lt;/font&gt;:&lt;/pre&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; toggleAllItems(show) {
    &lt;span class="kwrd"&gt;var&lt;/span&gt; text = &lt;span class="str"&gt;&amp;#39;+&amp;#39;&lt;/span&gt;; &lt;span class="kwrd"&gt;var&lt;/span&gt; style = &lt;span class="str"&gt;&amp;#39;none&amp;#39;&lt;/span&gt;;
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (show) {
        text = &lt;span class="str"&gt;&amp;#39;-&amp;#39;&lt;/span&gt;; style = &lt;span class="str"&gt;&amp;#39;block&amp;#39;&lt;/span&gt;;
    }
    &lt;span class="kwrd"&gt;var&lt;/span&gt; allexpenders = &lt;font style="background-color:#ffff00;"&gt;getElementsByClassName(document, &lt;span class="str"&gt;&amp;#39;expender-container&amp;#39;&lt;/span&gt;);&lt;/font&gt;
    &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; allexpenders.length; i++) {
        allexpenders[i].style.display = style;
    } 
    &lt;span class="kwrd"&gt;var&lt;/span&gt; toggles = &lt;font style="background-color:#ffff00;"&gt;getElementsByClassName(document, &lt;span class="str"&gt;&amp;#39;toggle&amp;#39;&lt;/span&gt;);&lt;/font&gt;
    &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; toggles.length; i++) {
        toggles[i].innerText = text;
    }
}
&lt;span class="kwrd"&gt;function&lt;/span&gt; expendAll() {
    toggleAllItems(&lt;span class="kwrd"&gt;true&lt;/span&gt;);
}
&lt;span class="kwrd"&gt;function&lt;/span&gt; collapseAll() {
    toggleAllItems(&lt;span class="kwrd"&gt;false&lt;/span&gt;);
}&lt;/pre&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2662171" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item><item><title>Visual Studio 2012 - No exports were found that match the constraint contract name</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/09/29/visual-studio-2012-no-exports-were-found-that-match-the-constraint-contract-name.aspx</link><pubDate>Sun, 29 Sep 2013 08:44:42 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2652709</guid><dc:creator>shair</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2652709</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/09/29/visual-studio-2012-no-exports-were-found-that-match-the-constraint-contract-name.aspx#comments</comments><description>&lt;p&gt;For some unknown reason once I opened Visual Studio 2012 I’ve received the below error, everything worked just fined couple of days ago.&lt;/p&gt;  &lt;p&gt;I’ve tried Visual Studio command line execution tricks but nothing, then I tried to delete the client cache and that solved the problem.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Remove &lt;strong&gt;&lt;u&gt;ComponentModelCache &lt;/u&gt;&lt;/strong&gt;folder content.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/1_24B2D0B7.png"&gt;&lt;img title="1" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="1" src="http://blogs.microsoft.co.il/blogs/shair/1_thumb_78B20B60.png" width="653" height="442" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2652709" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/How+To/default.aspx">How To</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item><item><title>WP8 Remove Gray Tap Highlight From Web &amp; Mobile Apps</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/30/wp8-remove-gray-tap-highlight-from-web-amp-mobile-apps.aspx</link><pubDate>Tue, 30 Jul 2013 05:13:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2332634</guid><dc:creator>shair</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2332634</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/30/wp8-remove-gray-tap-highlight-from-web-amp-mobile-apps.aspx#comments</comments><description>&lt;div class="share-buttons"&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:15px;FONT-FAMILY:Arial, Helvetica, sans-

serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;a class="twitter-share-button" href="http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/30/wp8-remove-gray-tap-highlight-from-web-amp-mobile-apps.aspx"&gt;Tweet&lt;/a&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;PADDING-RIGHT:25px;FONT-FAMILY:Arial, Helvetica, sans-

serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;script type="IN/Share"&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;&lt;iframe style="BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;WIDTH:100px;HEIGHT:21px;OVERFLOW:hidden;BORDER-TOP:medium none;BORDER-RIGHT:medium none;" src="http://www.facebook.com/plugins/like.php?

href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/30/wp8-remove-gray-tap-highlight-from-web-amp-mobile-apps.aspx&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=450&amp;amp;show_faces=false&amp;amp;action=like&amp;amp;col

orscheme=light&amp;amp;font=segoe+ui&amp;amp;height=21&amp;amp;appId=184186808308137" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="TEXT-ALIGN:left;LINE-HEIGHT:1em;FONT-FAMILY:Arial, Helvetica, sans-serif;FLOAT:left;FONT-SIZE:14px;"&gt;
&lt;div class="g-plusone"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;HTML5 is getting more popularity and more people are converting their apps into Mobile or Web apps. &lt;/p&gt;  &lt;p&gt;I’m working a lot with PhoneGap for building an Hybrid App that runs on a least 3 of the major platforms – Android, iOS, Windows Phone 8.&lt;/p&gt;  &lt;p&gt;One of the most important points for building HTML5 App is giving the user the feeling his working on a Native app, the app should be fast with native effect etc.. (There are tons of things you can do here and I’ll wrote on that subject later).&lt;/p&gt;  &lt;p&gt; As part of a project I’m building in PhoneGap I need to support Windows Phone 8, the application run with no problems but I notice a annoying behavior in my app, each time the user clicks on a link, image control etc a Gray Highlight appears where the user clicked.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_394B586E.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_70A143CF.png" width="276" height="495" /&gt;&lt;/a&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_5A6A66D6.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_77BC6C48.png" width="275" height="494" /&gt;&lt;/a&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_2C79001F.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_39FB4AC0.png" width="275" height="494" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To solve this Gray Tap marker just add the following meta data tag inside your index.html page:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;meta&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;msapplication-tap-highlight&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;content&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;no&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;And now when you run your project the Gray Tap Highlight will disappear.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_033D2E15.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_5BB2E985.png" width="271" height="485" /&gt;&lt;/a&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_7F6B4F78.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_13A0A39D.png" width="270" height="484" /&gt;&lt;/a&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_2D24DE72.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_415A3296.png" width="269" height="483" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2332634" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/HTML+5/default.aspx">HTML 5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/PhoneGap/default.aspx">PhoneGap</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WP8/default.aspx">WP8</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Meta/default.aspx">Meta</category></item><item><title>Could not load file or assembly 'Microsoft.TeamFoundation.Client While Running Tests</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/25/could-not-load-file-or-assembly-microsoft-teamfoundation-client-while-running-tests.aspx</link><pubDate>Thu, 25 Jul 2013 08:44:14 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2303711</guid><dc:creator>shair</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2303711</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/25/could-not-load-file-or-assembly-microsoft-teamfoundation-client-while-running-tests.aspx#comments</comments><description>&lt;p&gt;I know this sounds strange – What the relation between “&amp;#39;Microsoft.TeamFoundation.Client” and Running Tests from command line?&lt;/p&gt;  &lt;p&gt;Visiting a customer I saw this error when the the customer tried to run Coded UI Tests using MsTest (Machine only with Test Agent):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;font color="#ff0000"&gt;Run has the following issue(s):         &lt;br /&gt;Failed to queue test run &lt;/font&gt;&lt;a href="mailto:&amp;#39;XX@XXX-XXXTEAM-PC"&gt;&lt;font color="#ff0000"&gt;&amp;#39;XX@XXX-XXXTEAM-PC&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000"&gt; 2013-07-18 17:58:02&amp;#39;: Could not load         &lt;br /&gt;file or assembly &amp;#39;Microsoft.TeamFoundation.Client, Version=11.0.0.0, Culture=ne          &lt;br /&gt;utral, PublicKeyToken=b03f5f7f11d50a3a&amp;#39; or one of its dependencies. The system c          &lt;br /&gt;annot find the file specified.&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is the line we&amp;#39;re running:&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;C:\Users\XXX&amp;gt;mstest /testcontainer:&amp;quot;D:\Versions\Release\CUIT1.dll&amp;quot;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;I&amp;#39;ve also created a dummy test dll that open &lt;strong&gt;calc&lt;/strong&gt; to make sure there is not reference to &lt;strong&gt;TeamFoundation.Client.dll&lt;/strong&gt; (for any reason) but the error repeats.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_36256C34.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_75FB6487.png" width="698" height="354" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is a Bug that was fixed in Update 3 for Visual Studio 2012, so just install Update 3 on the Test Agent and the problem will disappear.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38186" target="_blank"&gt;Download Update 3&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2303711" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Team+Build/default.aspx">Team Build</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/How+To/default.aspx">How To</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Coded+UI+Test/default.aspx">Coded UI Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Mstest/default.aspx">Mstest</category></item><item><title>TFS API Part 50 – Get Team Project Template</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/21/tfs-api-part-50-get-team-project-template.aspx</link><pubDate>Sun, 21 Jul 2013 07:48:11 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2279543</guid><dc:creator>shair</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2279543</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/21/tfs-api-part-50-get-team-project-template.aspx#comments</comments><description>&lt;p&gt;In my last post &lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/18/tfs-2012-upgrade-process-template-guide.aspx" target="_blank"&gt;TFS 2012 Upgrade Process Template–Guide&lt;/a&gt; I’ve talked about upgrading an existing Team Project Template to another or a newer template. &lt;/p&gt;  &lt;p&gt;An important part of the upgrading process is knowing from what template you are upgrading from – although this is not really important because the base template can be modified completely.&lt;/p&gt;  &lt;p&gt;So here is a simple tool to display the Base Process Template name.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_0B03423A.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_604715C2.png" width="1016" height="484" /&gt;&lt;/a&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_23EAD8B3.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_448E5000.png" width="1013" height="483" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry2279537.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;    &lt;h3&gt;Step 1: Connect TFS and Getting Team Projects&lt;/h3&gt;  &lt;p&gt;Create WPF Application, and add the basic code for connecting TFS and collecting all Team Projects under that collection. &lt;/p&gt;  &lt;p&gt;The below code use &lt;strong&gt;ICommonStructureService&lt;/strong&gt; to retrieve all Projects under that collection.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;var tpp = new TeamProjectPicker(TeamProjectPickerMode.NoProject, false);&lt;/p&gt;    &lt;p&gt;tpp.ShowDialog();&lt;/p&gt;    &lt;p&gt;if (tpp.SelectedTeamProjectCollection == null) return;     &lt;br /&gt;_tfs = tpp.SelectedTeamProjectCollection;&lt;/p&gt;    &lt;p&gt;_ics = _tfs.GetService&amp;lt;ICommonStructureService&amp;gt;();&lt;/p&gt;    &lt;p&gt;listProjects.ItemsSource = _ics.ListAllProjects();&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Step 2: Get Team Project Details&lt;/h3&gt;  &lt;p&gt;Now once you got all the team projects under our collection, we want to get the project properties that will show us the creation process template.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;private void listProjects_SelectionChanged(object sender, SelectionChangedEventArgs e)     &lt;br /&gt;{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (listProjects.SelectedItem == null) return;&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; var selectedProject = listProjects.SelectedItem as ProjectInfo;&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; string name = &amp;quot;&amp;quot;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string state = &amp;quot;&amp;quot;;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; int templateId = 0;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ProjectProperty[] projectProperties;&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; _ics.GetProjectProperties(selectedProject.Uri, out name, out state, out templateId, out projectProperties);&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; var properties = projectProperties.Aggregate(&amp;quot;&amp;quot;, (current, p) =&amp;gt; current + string.Format(&amp;quot;Name: {0}&amp;#160; -&amp;#160; Value: {1}&amp;quot;, p.Name, p.Value));&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; txtProjectDetails.Text = string.Format(&amp;quot;Project Name: {0} \nState:{1}\n:Properties:{2}&amp;quot;, name, state, properties);     &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry2279537.aspx" target="_blank"&gt;Download Demo Project&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2279543" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Administration/default.aspx">TFS Administration</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+API/default.aspx">TFS API</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+2012/default.aspx">TFS 2012</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item><item><title>TFS 2012 Upgrade Process Template–Guide</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/18/tfs-2012-upgrade-process-template-guide.aspx</link><pubDate>Thu, 18 Jul 2013 06:12:12 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2269344</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2269344</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/07/18/tfs-2012-upgrade-process-template-guide.aspx#comments</comments><description>&lt;p&gt;Many customers are upgrading from TFS 2010 or earlier versions to TFS 2012 and in near future will upgrade to TFS 2013.&lt;/p&gt;  &lt;p&gt;As Microsoft making the upgrade process of TFS a very smooth process there are still things we need to upgrade in our Team Project process template things that will not happened in the TFS Upgrade Process.&lt;/p&gt;  &lt;p&gt;So which things? the Team Project Process Template – Work Items, Queries, Reports, Categories and more.&lt;/p&gt;  &lt;p&gt;There are couple of scenarios you interesting in:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Upgrade the same Process Template to the latest version.&lt;/li&gt;    &lt;li&gt;Change the Process Template to a different Process Template.&lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Upgrade the same Process Template to the latest version&lt;/h3&gt;  &lt;p&gt;To upgrade your Process Template to the latest version (After TFS Upgrade) you need to run the Feature Wizard.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;&lt;em&gt;If you&amp;#39;re not a team project administrator, get permissions. Only project administrators or TFS administrators can run the wizard.&lt;/em&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;em&gt;Open the administration page for your team project from a supported browser (&lt;strong&gt;http://&lt;/strong&gt;ServerName:8080/tfs/CollectionName/ProjectName/_admin).&lt;/em&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;em&gt;If you see a Configure Features link, run the wizard.&lt;/em&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;img alt="Verify features can be configured" src="http://i.msdn.microsoft.com/dynimg/IC657989.png" /&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;em&gt;If you don&amp;#39;t see this link, your features have been enabled.&lt;/em&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;em&gt;If you receive a message similar to the one shown below, you can configure your team project. If more than one process template is available, accept the recommended version.&lt;/em&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;img alt="Updated team project with unconfigured features" src="http://i.msdn.microsoft.com/dynimg/IC657990.png" /&gt;        &lt;br /&gt;If the dialog box doesn&amp;#39;t contain a Configure option, then you’ll need to apply the updates manually.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;In most cases, the wizard will configure all the new features and you&amp;#39;ll receive a success message.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Occasionally, the wizard will partially update your team project and return error messages that require resolution. Make a note of the errors that you receive and perform &lt;a href="http://msdn.microsoft.com/en-us/library/vstudio/hh913787.aspx"&gt;manual updates to resolve each error&lt;/a&gt;.&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;When the wizard is unable to update a team project, it will return a message indicating that there are no process templates available to support the update. Then you need to follow the second step I’ve describe below.&lt;/p&gt;  &lt;h3&gt;Change the Process Template to a different Process Template&lt;/h3&gt;  &lt;p&gt;This scenario is very popular because after upgrading from TFS 2010 to TFS 2012 many customer want to change the Current Agile Process Template to Scrum Template. &lt;/p&gt;  &lt;p&gt;This means that you need to change the Work Items Names, Add new Work Items, Change Process Categories and more, in this post I’ll describe the main points you need to perform in order to change the Team Project Template.&lt;/p&gt;  &lt;p&gt;First let’s open Visual Studio with TFS Administrator permission and open “Process Template Manager”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_31D8562C.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3E45B7AE.png" width="699" height="308" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Process Template Manager will show you all the available templates under TFS and you can download the entire template to your local machine that contains all the information and data for the current template. In this demo I’ll download the Scrum 3.0 Template.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_74B31758.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_28E3EE47.png" width="704" height="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After the download completed (few seconds) you can browse the Process Template and see all the data that makes the process template.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_7BCE3FD1.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_0BD9BC31.png" width="715" height="282" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now let’s start with the Upgrade.&lt;/p&gt;  &lt;p&gt;If you want to change the process template, let’s say from &lt;strong&gt;Agile&lt;/strong&gt; to &lt;strong&gt;Scrum&lt;/strong&gt; you need to change the name of “&lt;u&gt;User Story&lt;/u&gt;” to “&lt;u&gt;Product Backlog Item&lt;/u&gt;”, you don’t want to loose that data. (Also for &lt;strong&gt;Issue&lt;/strong&gt; and &lt;strong&gt;Impediment&lt;/strong&gt;)&lt;/p&gt;  &lt;p&gt;the &lt;strong&gt;witadmin&lt;/strong&gt; command line tool change a &lt;strong&gt;renamewitd&lt;/strong&gt; option that changes the display name of a work item type within a specific project. After you run this command, work items of this type show the new name.&lt;/p&gt;  &lt;pre&gt;&lt;font face="Segoe"&gt;You can find the &lt;strong&gt;witadmin&lt;/strong&gt; command line tool under the following path: &lt;strong&gt;%programfiles%\Microsoft Visual Studio 11.0\Common7\IDE&lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: &lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;witadmin renamewitd /collection:CollectionURL /p:Project /n:TypeName /new:NewName [/noprompt]&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;The second part is &lt;u&gt;&lt;strong&gt;adding new &lt;/strong&gt;&lt;/u&gt;Work Item Types, you don’t want to override existing work item type (you might made some changes to the work item and override existing work items will remove you customization)&lt;/p&gt;

&lt;p&gt;To add new Work Item Types download &lt;a href="http://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f" target="_blank"&gt;TFS Power Tools&lt;/a&gt;, this will add the Process Editor feature to you Visual Studio. The Process Editor allows you to import new work items types.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_457903C3.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_4B335BC2.png" width="785" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are four Work Item Types you need to add (As part of the Agile to Scrum Upgrade)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CodeReviewRequest&lt;/li&gt;

  &lt;li&gt;CodeReviewResponse&lt;/li&gt;

  &lt;li&gt;FeedbackRequest&lt;/li&gt;

  &lt;li&gt;FeedbackResponse.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For each upgrade you need to verify what and if there is new work item types you need to add to the target project.&lt;/p&gt;



&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_2D518569.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_29CFA227.png" width="788" height="386" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To Upgrade an existing Work Item Type – Such as Bug, Task Test Case etc… This require more manual work.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_48199776.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_7C4A6E64.png" width="784" height="166" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_21476D37.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3152E996.png" width="786" height="548" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you open the Scrum, Bug template you need to start with the customizations, each custom field you add to Bug in Agile Project needs to be inside the Scrum Bug Template, some fields needs to be created also such as &lt;strong&gt;Microsoft.VSTS.Common.StackRank,&lt;/strong&gt; in Scrum we are using Effort but not adding this field will cause loosing the &lt;strong&gt;StackRank&lt;/strong&gt; value (After the upgrade we can copy the values from &lt;strong&gt;StackRank&lt;/strong&gt; to &lt;strong&gt;Effort&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_7FE3B39B.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3BBF83EA.png" width="826" height="302" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you finished the Bug Template repeat the process for every work item and at the end Import the modified work items into the new project.&lt;/p&gt;

&lt;p&gt;Finally we need to import new Categories, Adding the correct categories will start the main configuration efforts and configures which of the work item types are viable, which are hidden and which sit is which category. &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;witadmin importcategories /collection:http://tfs:8080/tfs /p:ProjectName /f:C:\WorkItem Tracking\categories.xml&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Finally you need to import the Agile and Common Configuration files: &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;witadmin importcommonprocessconfig /collection:http://tfs:8080/tfs /p:ProjectName /f:&amp;quot;C:\WorkItem Tracking\Process\CommonConfiguration.xml&amp;quot;&lt;/p&gt;

  &lt;p&gt;witadmin importagileprocessconfig /collection:http://tfs:8080/tfs /p:ProjectName /f:&amp;quot;C:\WorkItem Tracking\Process\AgileConfiguration.xml&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The upgrade process might require TFS Admin so the process will be successful and easy but if you still want to do yourself perform each of the describe steps and everything should be fine.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Good Luck.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2269344" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Administration/default.aspx">TFS Administration</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Utilities/default.aspx">TFS Utilities</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WorkItem+Tracking/default.aspx">WorkItem Tracking</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Work+Items/default.aspx">Work Items</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ITPRO/default.aspx">ITPRO</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Team+System+2010/default.aspx">Team System 2010</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+2010/default.aspx">TFS 2010</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/witadmin/default.aspx">witadmin</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Scrum+3.0/default.aspx">Scrum 3.0</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+11/default.aspx">TFS 11</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+2012/default.aspx">TFS 2012</category></item><item><title>מפגש ALM בנושא - All About Testing In Visual Studio 2012</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/06/06/alm-all-about-testing-in-visual-studio-2012.aspx</link><pubDate>Thu, 06 Jun 2013 09:55:06 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2129052</guid><dc:creator>shair</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2129052</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/06/06/alm-all-about-testing-in-visual-studio-2012.aspx#comments</comments><description>&lt;p dir="rtl"&gt;ראשית תודה לכל מי שהגיע למפגש ALM שהתקיים במיקרוסופט רעננה, בהרצאה זאת דיברתי על היכולות השונות לבדיקות אוטומטיות ב – Visual Studio 2012:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div&gt;Unit Test ו- Fakes&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;Coded UI&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div&gt;Advanced Search&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div&gt;Cross Browser Playback&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;Web Performance Test&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;Load Testing&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p dir="rtl"&gt;&lt;a href="http://blogs.microsoft.co.il/files/folders/shair/entry2128916.aspx" target="_blank"&gt;הורדת פרויקט דוגמא&lt;/a&gt;&lt;/p&gt; &lt;iframe style="margin-bottom:5px;border-top:#ccc 1px solid;border-right:#ccc 1px solid;border-bottom:#ccc 0px solid;border-left:#ccc 1px solid;" height="356" src="http://www.slideshare.net/slideshow/embed_code/22537015" frameborder="0" width="427" scrolling="no"&gt; &lt;/iframe&gt;  &lt;div style="margin-bottom:5px;"&gt;&lt;strong&gt;&lt;a title="All about testing in visual studio 2012" href="http://www.slideshare.net/ShaiRaiten/all-about-testing-in-visual-studio-2012" target="_blank"&gt;All about testing in visual studio 2012&lt;/a&gt; &lt;/strong&gt;from &lt;strong&gt;&lt;a href="http://www.slideshare.net/ShaiRaiten" target="_blank"&gt;Shai Raiten&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2129052" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Load/default.aspx">Load</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Web/default.aspx">Web</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Unit+Test/default.aspx">Unit Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WebTest/default.aspx">WebTest</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Sela+Group/default.aspx">Sela Group</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ALM/default.aspx">ALM</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Fakes/default.aspx">Fakes</category></item><item><title>מפגש קבוצת ALM בנושא אוטומציה ב–Visual Studio 2012</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/20/alm-visual-studio-2012.aspx</link><pubDate>Mon, 20 May 2013 06:06:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2053737</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2053737</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/20/alm-visual-studio-2012.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/20/alm-visual-studio-2012.aspx" scrolling="no" frameborder="0" style="border:none;width:450px;height:80px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p dir="rtl"&gt;בשנתיים האחרונות שאני שומע רק על Coded UI&amp;#160; ב – Visual Studio אבל יש עוד כ”כ הרבה מעבר, במפגש הקרוב אני אדבר על כל יכולות האוטומציה ב – Visual Studio 2012 עבור מפתחים ואנשי אוטומציה.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div&gt;נדבר על Unit Test ויכולת ה – Fakes החדשה שמגיעה עם Visual Studio 2012 (מחליף את Pex &amp;amp; Moles)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;ממשק Web Test Manager שמגיע עם Update 2, אשר מאפשר עבודה עם בדיקות ללא MTM.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;חידושים ודרכים יעילות לכתיבת Coded UI ועבודה עם דפדפנים שונים כגון FireFox ו – Chrome.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;Web Performance Test&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div&gt;Load Testing&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p dir="rtl"&gt;בנוסף לא כדאי להפסיד הרצאה של ליאור פרידמן שידבר על ניהול פרוייקטי Agile.&lt;/p&gt;  &lt;p dir="rtl"&gt;&lt;strong&gt;פרטים נוספים ורישום בלינק זה:&lt;/strong&gt; &lt;/p&gt;  &lt;p dir="rtl"&gt;&lt;a href="http://www.eventbrite.com/event/6729031715"&gt;http://www.eventbrite.com/event/6729031715&lt;/a&gt;&lt;/p&gt;  &lt;p dir="rtl"&gt;אשמח לראותכם במפגש!&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2053737" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TDD/default.aspx">TDD</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Load/default.aspx">Load</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Web/default.aspx">Web</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Unit+Test/default.aspx">Unit Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Google+Chrome/default.aspx">Google Chrome</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WebTest/default.aspx">WebTest</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Web+Access/default.aspx">Web Access</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/User+Group/default.aspx">User Group</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Coded+UI+Test/default.aspx">Coded UI Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Quality+Center+2+Team+System+2010/default.aspx">Quality Center 2 Team System 2010</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/HTML+5/default.aspx">HTML 5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Native/default.aspx">Native</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ALM/default.aspx">ALM</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/NUnit/default.aspx">NUnit</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/.NET+4.5/default.aspx">.NET 4.5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Microsoft+Test+Manager+2012/default.aspx">Microsoft Test Manager 2012</category></item><item><title>SignalR Isn’t Working on Samsung Galaxy 3</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/14/signalr-isn-t-working-on-samsung-galaxy-3.aspx</link><pubDate>Tue, 14 May 2013 06:16:21 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2030287</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2030287</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/14/signalr-isn-t-working-on-samsung-galaxy-3.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/14/signalr-isn-t-working-on-samsung-galaxy-3.aspx" scrolling="no" frameborder="0" style="border:none;width:450px;height:80px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;I know you think the title is wired, because what is the relation between &lt;strong&gt;&lt;a href="http://signalr.net/" target="_blank"&gt;SignalR&lt;/a&gt;&lt;/strong&gt; (WebSockets) and a specific device such as Samsung Galaxy 3?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;ASP.NET SignalR is a new library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications. What is &amp;quot;real-time web&amp;quot; functionality? It&amp;#39;s the ability to have your server-side code push content to the connected clients as it happens, in real-time.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;While working on a project working with &lt;strong&gt;&lt;a href="http://signalr.net/" target="_blank"&gt;SignalR&lt;/a&gt;&lt;/strong&gt; we faced a problem, the following code start the connection with the hub but the following code isn’t working, neither &lt;u&gt;success&lt;/u&gt; or &lt;u&gt;failed&lt;/u&gt; message appear. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;$.connection.hub.start().done(function () {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; alert(&amp;quot;Connection Working!&amp;quot;);      &lt;br /&gt;}).fail(function (e) {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; alert(&amp;quot;Connection Isn&amp;#39;t Working... :-(&amp;quot;);      &lt;br /&gt;});&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Tried to debug the code I didn’t understand why the &lt;strong&gt;fail &lt;/strong&gt;function isn’t invoked… I tired to change the transport layer to polling as part of the testing and it works……&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;connection.start({ transport: &amp;#39;longPolling&amp;#39;]})&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I said to my self this is strange, After all Galaxy 3 supports should &lt;u&gt;WebSockets &lt;/u&gt;and beside that this what SignalR should do if the browser isn’t supporting a specific transport layer.&lt;/p&gt;  &lt;p&gt;From this part of I’ve understand the problem related to SignalR but still didn’t understand why that same code works on Nexus 4 and some other Android devices.&lt;/p&gt;  &lt;p&gt;So I made the following test, I’ve open the Galaxy 3 browser and navigate to “&lt;a href="http://www.websocket.org/echo.html"&gt;http://www.websocket.org/echo.html&lt;/a&gt;” to check support for &lt;u&gt;WebSockets &lt;/u&gt;, and surprise something isn’t working as it should – The log field didn’t showed anything (Again on different devices this works just fine).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_688F187B.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_3F83B7D8.png" width="538" height="198" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So first thing I’ve modified &lt;strong&gt;jquery.signalR.js&lt;/strong&gt; file, I’ve added a &lt;strong&gt;time out&lt;/strong&gt; around the WebSockets connection, this solved the problem…&lt;/p&gt;  &lt;p&gt;Then after a short search I found this &lt;a href="https://github.com/SignalR/SignalR/issues/1653" target="_blank"&gt;Bug: Persistent Connection fails with IIS8 on Android Stock Browser&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And this guy add his fix for the problem here - &lt;a href="https://github.com/SignalR/SignalR/commit/6d892a3cdeb94099ed06b978ba66ec13fce521ae"&gt;https://github.com/SignalR/SignalR/commit/6d892a3cdeb94099ed06b978ba66ec13fce521ae&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can download the fix and implementing your own timeout around the connection start.&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2030287" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/How+To/default.aspx">How To</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/PhoneGap/default.aspx">PhoneGap</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/SignalR/default.aspx">SignalR</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Cordova/default.aspx">Cordova</category></item><item><title>VS/TFS 2012 Update 2  &amp; Update 3 CTP</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/08/vs-tfs-2012-update-2-amp-update-3-ctp.aspx</link><pubDate>Wed, 08 May 2013 06:55:20 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2008183</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2008183</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/08/vs-tfs-2012-update-2-amp-update-3-ctp.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/08/vs-tfs-2012-update-2-amp-update-3-ctp.aspx" scrolling="no" frameborder="0" style="border:none;width:450px;height:80px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;Couple of days ago Brian Harry post about the new release of Update 2 for Visual Studio and TFS 2012, and today another release of Update 3 that isn’t big a Update 1 and 2 but contains a set of bug fixes that can ease you work.&lt;/p&gt;  &lt;p&gt;Before jumping to Update 3, if for some reason you’re not using Update 2 this is the time to read about it and install it!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update 2&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/04/04/vs-tfs-2012-2-update-2-released-today.aspx" target="_blank"&gt;VS/TFS 2012.2 (Update 2)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/05/06/visual-studio-2012-update-2-vs-2012-2-isos-available.aspx"&gt;Visual Studio 2012 Update 2 (VS 2012.2) ISOs available&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/04/29/team-explorer-everywhere-2012-update-2.aspx"&gt;Team Explorer Everywhere 2012 Update 2&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_45AE698F.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_37BBD7FA.png" width="663" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update 3 – CTP&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/05/07/visual-studio-2012-3-update-3-go-live-ctp-is-now-available.aspx"&gt;Visual Studio 2012.3 (Update 3) “go-live” CTP is now available&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Installing it should be relatively straight forward – for both VS and TFS, just run the installer.&amp;#160; There should be no compatibility breaks so you need not upgrade all of your components at once, though, over time, you should plan to get them all updated&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;List Of Improvements – &lt;a href="http://support.microsoft.com/kb/2835600" target="_blank"&gt;Full List&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Technology improvements&lt;/font&gt; - &lt;b&gt;Team Foundation Server&lt;/b&gt;&lt;/strong&gt;&lt;a&gt;&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;em&gt;Build settings can be preserved when you upgrade a TFS 2012 instance. &lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Improvements are made in the &lt;strong&gt;New Build Definition &lt;/strong&gt;UI for the Continuous Integration (CI) build in Git-based team projects.&lt;/em&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Visual Studio Test&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;b&gt;Web test&lt;/b&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Microsoft Visual Studio 2010 crashes when you create a Web test on a computer that has both Visual Studio 2010 Service Pack 1 (SP1) and Visual Studio 2012 Update 2 installed.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;b&gt;Coded UI test&lt;/b&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;You cannot run coded UI together with the cross browser testing feature by using Selenium components.&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;b&gt;Load test&lt;/b&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;When you analyze a load test run, parts of the results are missing from the graph in the default view&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;b&gt;Unit test&lt;/b&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://connect.microsoft.com/VisualStudio/feedback/details/783438"&gt;783438: Mstest.exe fails to execute unit because of missing assemblies&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;b&gt;Administration and Operations&lt;/b&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The event log does not include stack traces when the administrator console crashes.&lt;/li&gt;      &lt;li&gt;You cannot configure TFS proxy on a computer that belongs to a separate domain from a TFS 2012 server.&lt;/li&gt;      &lt;li&gt;TFS 2012 backup plan wizard does not report an error when you configure a backup plan by using the Local System account.&lt;/li&gt;      &lt;li&gt;A user who does not have read permission on an area path can receive email notifications of changes to work items under the area path.&lt;/li&gt;      &lt;li&gt;Slow performance when you open a work item that has many customized fields in TFS Web Access.&lt;/li&gt;      &lt;li&gt;Fix adds upload retries for Version Control files that are being checked in or shelved to reduce the number of deceptive errors.&lt;/li&gt;      &lt;li&gt;&lt;a href="http://support.microsoft.com/kb/2835600" target="_blank"&gt;More&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;    &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2008183" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Administration/default.aspx">TFS Administration</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+Utilities/default.aspx">TFS Utilities</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WorkItem+Tracking/default.aspx">WorkItem Tracking</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Work+Items/default.aspx">Work Items</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TDD/default.aspx">TDD</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Unit+Test/default.aspx">Unit Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/HotFix/default.aspx">HotFix</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/WebTest/default.aspx">WebTest</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ITPRO/default.aspx">ITPRO</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Coded+UI+Test/default.aspx">Coded UI Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TFS+2012/default.aspx">TFS 2012</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item><item><title>Advanced Coded UI Testing–SDP 2013</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/07/advanced-coded-ui-testing-sdp-2013.aspx</link><pubDate>Tue, 07 May 2013 12:54:20 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:2005161</guid><dc:creator>shair</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=2005161</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/07/advanced-coded-ui-testing-sdp-2013.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/05/07/advanced-coded-ui-testing-sdp-2013.aspx" scrolling="no" frameborder="0" style="border:none;width:450px;height:80px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;On Sunday I spoke about “&lt;b&gt;Advanced Coded UI Testing” &lt;/b&gt;at Sela SDP workshops day, this was great day with many people who showed great interest in Coded UI and Automation using Visual Studio 2012. In this workshops we started from the beginning to advanced Coded UI technics and methodologies of how to write &lt;u&gt;Good&lt;/u&gt; code for flexibility and good maintainability of your tests..&lt;/p&gt;  &lt;p&gt;I’ve also gave some cool tools for help running Coded UI, tools like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;MS Test Runner UI&lt;/strong&gt; – Allow everyone (with Test Agent installed) to load test files and execute tests – Good for manual testers that wants to run automated tests. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Trx to HTML&lt;/strong&gt; converter. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Coded UI Steps Tracker&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;and More… &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;iframe style="margin-bottom:5px;border-top:#ccc 1px solid;border-right:#ccc 1px solid;border-bottom:#ccc 0px solid;border-left:#ccc 1px solid;" height="356" src="http://www.slideshare.net/slideshow/embed_code/20725504" frameborder="0" width="427" scrolling="no"&gt; &lt;/iframe&gt;&lt;/p&gt;  &lt;div style="margin-bottom:5px;"&gt;&lt;strong&gt;&lt;a title="Advanced Coded UI Testing" href="http://www.slideshare.net/ShaiRaiten/coded-ui-ws" target="_blank"&gt;Advanced Coded UI Testing&lt;/a&gt; &lt;/strong&gt;from &lt;strong&gt;&lt;a href="http://www.slideshare.net/ShaiRaiten" target="_blank"&gt;Shai Raiten&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;  &lt;div style="margin-bottom:5px;"&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=2005161" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Coded+UI+Test/default.aspx">Coded UI Test</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/SDP/default.aspx">SDP</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Sela+Group/default.aspx">Sela Group</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item><item><title>Fifth Year as Microsoft MVP - 2013</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/04/01/fifth-year-as-microsoft-mvp-2013.aspx</link><pubDate>Mon, 01 Apr 2013 17:12:40 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1848040</guid><dc:creator>shair</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1848040</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/04/01/fifth-year-as-microsoft-mvp-2013.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/04/01/fifth-year-as-microsoft-mvp-2013.aspx" scrolling="no" frameborder="0" style="border:none;width:450px;height:80px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;This is my fifth time as VS ALM MVP and still excited like it’s the first time I got this email:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Congratulations! We are pleased to present you with the 2013 Microsoft® MVP Award!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To be a Microsoft MVP is a great honor and I’ll keep work hard for the community: Talking and Writing about new technologies and more.&lt;/p&gt;  &lt;p&gt;I also would like to say many thanks to my company &lt;a href="http://www.selagroup.com/"&gt;Sela&lt;/a&gt;, my boss David Bassa and Caro Segal and Ishai Ram who pushed me forward in the technical community, promote many tools we built for the ALM community and helping me keep the MVP Award for another Year!&lt;/p&gt;  &lt;p&gt;And I’ll also like to thank &lt;strong&gt;You&lt;/strong&gt;, yes &lt;strong&gt;You&lt;/strong&gt;! reading my blog is big part of my contribution for the community and I hope you keep reading my blog and hopefully enjoy it.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;My MVP Profile - &lt;/strong&gt;&lt;/u&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Shai.Raiten"&gt;&lt;strong&gt;https://mvp.support.microsoft.com/profile/Shai.Raiten&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1848040" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/MVP/default.aspx">MVP</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Sela+Group/default.aspx">Sela Group</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/ALM/default.aspx">ALM</category></item><item><title>פיתוח משחקים ב JavaScript - מבוסס על משחק סופר 8 - חלק 5</title><link>http://blogs.microsoft.co.il/blogs/shair/archive/2013/03/24/javascript-8-5.aspx</link><pubDate>Sun, 24 Mar 2013 10:56:42 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:1823673</guid><dc:creator>shair</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/shair/rsscomments.aspx?PostID=1823673</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/shair/archive/2013/03/24/javascript-8-5.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe src="http://www.facebook.com/widgets/like.php?href=http://blogs.microsoft.co.il/blogs/shair/archive/2013/03/24/javascript-8-5.aspx" scrolling="no" frameborder="0" style="border:none;width:450px;height:80px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p style="direction:rtl;"&gt;זהו החלק האחרון בנושא סופר 8 , אני אמשיך להרחיב בנושא JavaScript ופיתוח מחשקים בכללי אבל היום אני רוצה לסגור את הדברים הבסיסיים בפיתוח משחק סופר 8.&lt;/p&gt;  &lt;p style="direction:rtl;"&gt;בחלק הקודם &lt;a href="http://blogs.microsoft.co.il/blogs/shair/archive/2013/03/17/javascript-8-4.aspx"&gt;פיתוח משחקים ב JavaScript - מבוסס על משחק סופר 8 - חלק 4&lt;/a&gt; דיברנו על איך להפוך את המשחק ליותר אינטרקטיבי ע”י הוספת רקעים ואלמנטים נוספים למשחק,&amp;#160; ראינו איך אפשר בצורה קלה ונוחה לטעון את כל הגרפיקה (ועוד) בעזרת ספריית PreloadJS ולהתחיל את המשחק כאשר קיבלנו את כל הדברים בנחוצים למשחק.&lt;/p&gt;  &lt;p style="direction:rtl;"&gt;בפוסט היום נראה איך אפשר לבצע קפיצה של המשתמש (לא רק אנימציה) וכמובן אחר הנושאים החשובים ביותר- התנגשות עם אובייקטים – Collision.&lt;/p&gt;  &lt;p style="direction:rtl;"&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_27468327.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_1DE9FC4C.png" width="635" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p style="direction:rtl;"&gt;&lt;a href="http://1lastletter.com/super8demo/index.html" target="_blank"&gt;לדוגמא המלאה&lt;/a&gt;&lt;/p&gt;  &lt;p style="direction:rtl;"&gt;בהמשך מהפוסט הקודם נוסיף את הקוד הבא תחת פונקציית &lt;strong&gt;handleComplete &lt;/strong&gt;על מנת לטעון אבן למשחק שלנו:&lt;/p&gt;  &lt;p style="direction:rtl;"&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/shair/image_5D276442.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/shair/image_thumb_0F0EDF00.png" width="53" height="50" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;case&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;rock&amp;quot;&lt;/span&gt;:
    &lt;span class="kwrd"&gt;var&lt;/span&gt; g = &lt;span class="kwrd"&gt;new&lt;/span&gt; createjs.Graphics()
    g.beginBitmapFill(result);
    g.drawRect(0, 0, 45, 44)
    rock = &lt;span class="kwrd"&gt;new&lt;/span&gt; createjs.Shape(g);
    rock.y = h - 119;
    rock.x = w;
    rock.height = 44;
    rock.width = 45;
    &lt;span class="kwrd"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p style="direction:rtl;"&gt;כעת נשאר להוסיף אותה לאובייקט Stage על מנת שתופיע במשחק:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;stage.addChild(sky, ground, hill, sun, player, &lt;font style="background-color:#ffff00;"&gt;rock&lt;/font&gt;);&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p style="direction:rtl;"&gt;עכשיו שיש אבן במשחק בואו נכניס אפשרות תלקפוץ מעליה, על מנת לבצע זאת נירשם ל – &lt;strong&gt;stagemousedown&lt;/strong&gt; על מנת לתפוס לחיצה של העכבר של המשחק, כאשר נקבל פעולה זאת ננגן את פעולה הקפיצה ונשנה את הערך של isJumping ל – true.&lt;/p&gt;

&lt;p style="direction:rtl;"&gt;נוסיף את הקוד הבא תחת פונקציית handleComplete לפני הפעלת הטיימר – setFPS.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;stage.addEventListener(&lt;span class="str"&gt;&amp;quot;stagemousedown&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;function&lt;/span&gt; () {
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isJumping) &lt;span class="kwrd"&gt;return&lt;/span&gt;;
    play(&lt;span class="str"&gt;&amp;quot;jump_h&amp;quot;&lt;/span&gt;);
    gameOver = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
    isJumping = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
});&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p style="direction:rtl;"&gt;כעת נוסיף את הקוד שישנה את מיקום הדמות על ציר &lt;strong&gt;Y&lt;/strong&gt; כך שנוכל לקפוץ מעל האבן, הקוד הבא אינו הפתרון הנכון יותר אבל לדוגמא שלנו הוא פשוט ועובד, בעיקרון אפשר להוסיף הרבה קוד נוסף לביצוע פעולה זאת על ידי טיימר או מיקום הדמות אבל בשבילנו זה מספיק כרגע.&lt;/p&gt;

&lt;p style="direction:rtl;"&gt;הקוד בודק שהדמות לא נמצאת באוויר (אין קפיצה כפולה), ומפעיל טיימר של שניה אחת, לאחר אותה שניה הטיימר יחזיר את הדמות לקרקע, אבל לפני זה המאפיין ה – &lt;strong&gt;y&lt;/strong&gt; של השחקן יעלה ב – 4 פיקסלים כלפי מעלה עד לגובה מקסימלי, כאשר הדמות תגיע לגובה מקסימלי הדמות תתחיל בירידה כלפי מטה.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; handleJump() {
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (isJumping) {
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (onTheAir == &lt;span class="kwrd"&gt;null&lt;/span&gt;) {
            onTheAir = setTimeout(&lt;span class="kwrd"&gt;function&lt;/span&gt; () {
                isJumping = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
                player.y = playerBaseY;
                onTheAir = &lt;span class="kwrd"&gt;null&lt;/span&gt;;
                goingDown = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
                top = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
            }, 1000);
        }

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (goingDown &amp;amp;&amp;amp; player.y &amp;lt;= playerBaseY) {
            player.y += 4;
        }
        &lt;span class="kwrd"&gt;else&lt;/span&gt; {
            player.y -= 4;
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (player.y &amp;lt;= maxJumpHeight)
                goingDown = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
        }
    }
}&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p style="direction:rtl;"&gt;על מנת לבצע את הקוד נוסיף קריאה לפונקציית handleJump תחת tick:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;function tick() {
    &lt;font style="background-color:#ffff00;"&gt;handleJump();&lt;/font&gt;
    ...
}&lt;/pre&gt;

&lt;p style="direction:rtl;"&gt;כעת נוכל לבצע קפיצה בעזרת לחיצה על מקש שמאלי על המשחק.&lt;/p&gt;

&lt;p style="direction:rtl;"&gt;דבר אחרון שנשאר לנו הוא להתמודד עם התנגשות של שני אובייקטים במשחק, כלומר עם השחקן יתנגש באבן אז הדמות תיפול.&lt;/p&gt;

&lt;p style="direction:rtl;"&gt;ממליץ לכם לקרוא - &lt;a href="http://www.realtimerendering.com/intersections.html" target="_blank"&gt;Object/Object Intersection&lt;/a&gt;, ולהתעניין קצת יותר בנושא כי הוא בהחלט קצת מורכב, הרעיון המרכזי הוא לדעת מתי הדמות או אבן מתנגשות אחת בשניה, יש נוסחאות שונות לחשב את זה (תלוי גם עם הדמות מרובעות או מעגליות).&lt;/p&gt;

&lt;p style="direction:rtl;"&gt;&amp;#160;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; checkRectIntersection(r1, r2) {
    &lt;span class="kwrd"&gt;var&lt;/span&gt; deltax = r1.x - r2.x;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; deltay = r1.y - r2.y;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; dist = 25;
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (Math.abs(deltax) &amp;lt; dist &amp;amp;&amp;amp; Math.abs(deltay) &amp;lt; dist) {
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (Math.sqrt(deltax * deltax + deltay * deltay) &amp;lt; dist) {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
        }
    }
    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
}&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p style="direction:rtl;"&gt;עכשיו לחלק הקוד האחרון של המשחק, פונקציית HandleCollision אשר תקרא מתוך פונקציית tick:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; HandleCollisions() {
    &lt;span class="kwrd"&gt;var&lt;/span&gt; a = getCollideableItemBounds(player);
    &lt;span class="kwrd"&gt;var&lt;/span&gt; b = getCollideableItemBounds(rock);

    &lt;span class="kwrd"&gt;var&lt;/span&gt; oppss = checkRectIntersection(a, b);

    &lt;span class="kwrd"&gt;if&lt;/span&gt; (oppss &amp;amp;&amp;amp; !gameOver) {
        console.log(oppss);
        gameOver = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
        play(&lt;span class="str"&gt;&amp;quot;fall_h&amp;quot;&lt;/span&gt;);
    }
}&lt;/pre&gt;

&lt;p style="direction:rtl;"&gt;וסיימנו…. כעת כאשר הדמות תגיע למרחב של האבן המשחק יעצר ודמות תיפול לרצפה, לחיצה על קפיצה תמשיך את המשחק.&lt;/p&gt;

&lt;p style="direction:rtl;"&gt;&lt;a href="http://1lastletter.com/super8demo/index.html" target="_blank"&gt;לדוגמא המלאה&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1823673" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/How+To/default.aspx">How To</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/HTML+5/default.aspx">HTML 5</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Games/default.aspx">Games</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/shair/archive/tags/Visual+Studio+2012/default.aspx">Visual Studio 2012</category></item></channel></rss>