<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/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>Visual Studio Team System (VSTS) Blog - by Neno Loje : TFS Work Item Tracking</title><link>http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx</link><description>Tags: TFS Work Item Tracking</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Setting Remaining Work to Zero when closing a work item in TFS</title><link>http://msmvps.com/blogs/vstsblog/archive/2009/07/30/setting-remaining-work-to-zero-when-closing-a-work-item-in-tfs.aspx</link><pubDate>Thu, 30 Jul 2009 08:12:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1710794</guid><dc:creator>neno</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1710794</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1710794</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2009/07/30/setting-remaining-work-to-zero-when-closing-a-work-item-in-tfs.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;How can I make sure that the &amp;quot;Remaining Work&amp;quot; field is set to 0 when the work item is closed (for example when associating a work item during checking-in)?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Short Answer&lt;/strong&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;You can achieve this using the &amp;lt;COPY&amp;gt; rule on the transition to the &amp;quot;Closed&amp;quot; state.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Step-by-Step instructions&lt;/strong&gt;:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;For the desired transition (in this example from &amp;quot;Active&amp;quot; to &amp;quot;Closed&amp;quot;).&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/0027.Image0008_5F00_6A87790A.png"&gt;       &lt;br /&gt;        &lt;br /&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Edit the Workflow Transition with Process Template Editor (part of TFS Power Tools)" border="0" alt="Edit the Workflow Transition with Process Template Editor (part of TFS Power Tools)" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/4718.Image0008_5F00_thumb_5F00_1B2A5AE9.png" width="444" height="263" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Add a field reference to &amp;quot;Microsoft.VSTS.Scheduling.RemainingWork&amp;quot;     &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/8037.Image0002_5F00_5943759A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Choose the desired field" border="0" alt="Choose the desired field" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/7455.Image0002_5F00_thumb_5F00_3F030C76.png" width="444" height="263" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Add a new rule of type &amp;quot;COPY&amp;quot;     &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/6874.Image0001_5F00_487BCAEC.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="You can use the copy rule to set values" border="0" alt="You can use the copy rule to set values" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/8037.Image0001_5F00_thumb_5F00_2E3B61C8.png" width="282" height="280" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Choose From = &amp;quot;value&amp;quot; and enter value = &amp;quot;0&amp;quot;     &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/1172.Image0000_5F00_41E84B5C.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="The copy rule sets a value to a field" border="0" alt="The copy rule sets a value to a field" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/4718.Image0000_5F00_thumb_5F00_12B65FC5.png" width="444" height="263" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;The resulting XML should look something like     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/4718.Image0004_5F00_1824D069.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="XML under the covers defines our new rule" border="0" alt="XML under the covers defines our new rule" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/0412.Image0004_5F00_thumb_5F00_48D7D814.png" width="440" height="115" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Verification: After transitioning a task work item from &amp;quot;Active&amp;quot; to the &amp;quot;Closed&amp;quot; state &amp;quot;Remaining Work&amp;quot; is set to zero.     &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/2161.Image0006_5F00_0E102F3E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Work Item History shows the new rule in beeing applied on the state transition." border="0" alt="Work Item History shows the new rule in beeing applied on the state transition." src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.metablogapi/4718.Image0006_5F00_thumb_5F00_5A67C2DF.png" width="440" height="211" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1710794" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>What are Test Name, Test Id, and Test Path used for?</title><link>http://msmvps.com/blogs/vstsblog/archive/2009/05/30/what-are-test-name-test-id-and-test-path-used-for.aspx</link><pubDate>Sat, 30 May 2009 20:49:05 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1693469</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1693469</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1693469</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2009/05/30/what-are-test-name-test-id-and-test-path-used-for.aspx#comments</comments><description>&lt;p&gt;If you create a work item out of a test result like this…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/Test1_5F00_5A360D27.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Rightclick test result &amp;gt; Create Work Item" border="0" alt="Rightclick test result &amp;gt; Create Work Item" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/Test1_5F00_thumb_5F00_30065F3F.png" width="440" height="205" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;… the three test fields get populated by Visual Studio:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/Test2_5F00_46E530BB.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Test Name, Test Id and Test Path point to the originating test" border="0" alt="Test Name, Test Id and Test Path point to the originating test" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/Test2_5F00_thumb_5F00_1A5C00D5.png" width="440" height="141" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Read all details here: &lt;a href="http://msdn.microsoft.com/en-us/library/ms194965.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms194965.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1693469" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Testers/default.aspx">For Testers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2008/default.aspx">TFS 2008</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/VSTS+Test/default.aspx">VSTS Test</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category></item><item><title>Tool for creating direct links to TSWA</title><link>http://msmvps.com/blogs/vstsblog/archive/2009/03/06/tool-for-creating-direct-links-to-tswa.aspx</link><pubDate>Fri, 06 Mar 2009 03:38:55 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1675924</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1675924</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1675924</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2009/03/06/tool-for-creating-direct-links-to-tswa.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/buckh/archive/2007/11/29/team-system-web-access-2008-power-tool-is-now-available.aspx" target="_blank"&gt;Buck Hodges&lt;/a&gt; from Microsoft blogged about all the possible links you can construct to point to TSWA pages.&lt;/p&gt;  &lt;p&gt;For example the following URL opens the Work Item Editor:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Open the existing work item with ID 1234: http://mytfs:8090/&lt;strong&gt;wi&lt;/strong&gt;.aspx?&lt;strong&gt;id&lt;/strong&gt;=&lt;u&gt;1234&lt;/u&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To make it simple I created a small tool that helps you construct those URLs in an easy way:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/buckh/archive/2007/11/29/team-system-web-access-2008-power-tool-is-now-available.aspx" target="_blank"&gt;&lt;img title="Team System Web Access Link Creator" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="359" alt="Team System Web Access Link Creator" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/TSWALinkCreator_5F00_475E79B2.png" width="370" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You can download the source from here:&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:db99a585-983e-48f5-a18b-112f46a0df3c" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;p&gt;&lt;div&gt;File Attachement: &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/WebAccessLinkCreator_5F00_1F1E5726.zip" target="_self"&gt;WebAccessLinkCreator.zip&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1675924" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+System+Web+Access+_2800_TSWA_2900_/default.aspx">Team System Web Access (TSWA)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Using rich HTML descriptions instead of plain text</title><link>http://msmvps.com/blogs/vstsblog/archive/2009/01/11/using-rich-html-descriptions-instead-of-plain-text.aspx</link><pubDate>Sun, 11 Jan 2009 11:34:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1660538</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1660538</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1660538</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2009/01/11/using-rich-html-descriptions-instead-of-plain-text.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Objective&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Allow rich HTML formatting in description fields of the MSF Agile process template.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The MSF CMMI process does support HTML formatting by default. In order to use it you have to enable the formatting toolbar (see Step 6 below).&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;Work Item Customization&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;Step 1: Add a new HTML description field&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Since the System.Description field is defined of type string as opposed to type HTML we need to create a new field:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/2AddNewField_5F00_68CBE69C.png"&gt;&lt;img title="2AddNewField" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="253" alt="2AddNewField" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/2AddNewField_5F00_thumb_5F00_788B7BA0.png" width="440" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/3AddNewField_5F00_0E91E733.png"&gt;&lt;img title="3AddNewField" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="196" alt="3AddNewField" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/3AddNewField_5F00_thumb_5F00_535E0B67.png" width="440" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2: Change the work item layout&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Use your own HTML field instead of System.Description&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/4EditLayout_5F00_4A8E031B.png"&gt;&lt;img title="4EditLayout" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="374" alt="4EditLayout" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/4EditLayout_5F00_thumb_5F00_20CA8828.png" width="440" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3: Refresh Work Item cache&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Right-click &amp;quot;&lt;strong&gt;Work Items&lt;/strong&gt;&amp;quot; in Team Explorer and select &amp;quot;&lt;strong&gt;Refresh&lt;/strong&gt;&amp;quot;.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/5RefreshWIs_5F00_2BA76970.png"&gt;&lt;img title="5RefreshWIs" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="364" alt="5RefreshWIs" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/5RefreshWIs_5F00_thumb_5F00_5BEE3E26.png" width="260" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4: Enable the formatting toolbar&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Right-click on the Visual Studio toolbar, find and click &amp;quot;Formatting&amp;quot;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/6EnableFormattingToolbar_5F00_4141A20D.png"&gt;&lt;img title="6EnableFormattingToolbar" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="279" alt="6EnableFormattingToolbar" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/6EnableFormattingToolbar_5F00_thumb_5F00_66CB1F6E.png" width="283" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A new toolbar will appear:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/7FormattingToolbar_5F00_3E4C3D5A.png"&gt;&lt;img title="7FormattingToolbar" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="22" alt="7FormattingToolbar" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/7FormattingToolbar_5F00_thumb_5F00_03F0C779.png" width="444" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h4&gt;Result&lt;/h4&gt;  &lt;p&gt;Click into the description field and use the toolbar to format your input:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/8UsingRichFormatting_5F00_02AC2E9A.png"&gt;&lt;img title="8UsingRichFormatting" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="363" alt="8UsingRichFormatting" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog/8UsingRichFormatting_5F00_thumb_5F00_07423954.png" width="444" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Optional Step 5: Copying the old descriptions to the new HTML field&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It would be a pity to loose the existing descriptions so let&amp;#39;s write a small utility using the Team Foundation Object model to copy the &amp;quot;old&amp;quot; descriptions to the new HTML field:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; CopyOldDescriptions()
{
    &lt;span class="rem"&gt;// TODO: Change these values:&lt;/span&gt;
    &lt;span class="kwrd"&gt;string&lt;/span&gt; tfsName = &lt;span class="str"&gt;&amp;quot;servertogo&amp;quot;&lt;/span&gt;;
    &lt;span class="kwrd"&gt;string&lt;/span&gt; tfsProjectName = &lt;span class="str"&gt;&amp;quot;WorkItemCustomization&amp;quot;&lt;/span&gt;;
    &lt;span class="kwrd"&gt;string&lt;/span&gt; tfsHtmlDescriptionFieldName = &lt;span class="str"&gt;&amp;quot;DescriptionHtml&amp;quot;&lt;/span&gt;;
    &lt;span class="kwrd"&gt;string&lt;/span&gt; tfsWorkItemType = &lt;span class="str"&gt;&amp;quot;Task&amp;quot;&lt;/span&gt;;

    &lt;span class="kwrd"&gt;using&lt;/span&gt; (TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(tfsName))
    {
        WorkItemStore wit = (WorkItemStore)tfs.GetService(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(WorkItemStore));
        WorkItemCollection result = wit.Query(String.Format(&lt;span class="str"&gt;&amp;quot;SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = &amp;#39;{0}&amp;#39; AND [System.WorkItemType] = &amp;#39;{1}&amp;#39;&amp;quot;&lt;/span&gt;, tfsProjectName, tfsWorkItemType));
        List&amp;lt;WorkItem&amp;gt; affectedWorkItems = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;WorkItem&amp;gt;();
        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (WorkItem wi &lt;span class="kwrd"&gt;in&lt;/span&gt; result)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (wi.Description.Length &amp;gt; 0)
            {
                &lt;span class="rem"&gt;// Set new description&lt;/span&gt;
                &lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt; = (&lt;span class="kwrd"&gt;string&lt;/span&gt;)wi[tfsHtmlDescriptionFieldName];
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (String.IsNullOrEmpty(&lt;span class="kwrd"&gt;value&lt;/span&gt;))
                {
                    wi[tfsHtmlDescriptionFieldName] = wi.Description.Replace(&lt;span class="str"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;);
                }
                &lt;span class="kwrd"&gt;else&lt;/span&gt;
                {
                    wi[tfsHtmlDescriptionFieldName] += &lt;span class="str"&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;lt;p&amp;gt;Old description:&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;quot;&lt;/span&gt; + wi.Description.Replace(&lt;span class="str"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;) + &lt;span class="str"&gt;&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;&lt;/span&gt;;
                }

                &lt;span class="rem"&gt;// Delete old description&lt;/span&gt;
                wi.Description = String.Empty;

                affectedWorkItems.Add(wi);
            }
        }

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (affectedWorkItems.Count &amp;gt; 0)
        {
            wit.BatchSave(affectedWorkItems.ToArray());
            MessageBox.Show(&lt;span class="str"&gt;&amp;quot;Items updated: &amp;quot;&lt;/span&gt; + affectedWorkItems.Count);
        }
        &lt;span class="kwrd"&gt;else&lt;/span&gt;
        {
            MessageBox.Show(&lt;span class="str"&gt;&amp;quot;Nothing to do.&amp;quot;&lt;/span&gt;);
        }
    }
}&lt;/pre&gt;

&lt;p&gt;Happy formatting. :-)&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;div class="wlWriterEditableSmartContent" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:ce9bec43-52e5-4477-9561-b71172b80820" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;div class="wlWriterSmartContent" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:ce9bec43-52e5-4477-9561-b71172b80820" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1660538" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Extensibility/default.aspx">TFS Extensibility</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Process+Templates/default.aspx">Process Templates</category></item><item><title>A very Basic Process Template to start with</title><link>http://msmvps.com/blogs/vstsblog/archive/2008/10/08/download-a-very-basic-process-template-to-start-with.aspx</link><pubDate>Tue, 07 Oct 2008 22:34:22 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1650047</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1650047</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1650047</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2008/10/08/download-a-very-basic-process-template-to-start-with.aspx#comments</comments><description>&lt;p&gt;If you want to start small with your team project you might consider the &amp;quot;Basic Process Template&amp;quot; instead of the built-in MSF Agile and MSF CMMI process templates. It can find on &lt;a href="http://msdn.microsoft.com/en-us/library/ms194993(VS.80).aspx" target="_blank"&gt;MSDN&lt;/a&gt;. From the description: &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The basic process template includes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;one work item type: bug,  &lt;li&gt;three queries: AllWorkItems, MyWorkItems, and MyWorkItemsAllTeamProjects,  &lt;li&gt;a basic Windows SharePoint Services team portal (created from the default site template),  &lt;li&gt;and a SQL Server 2005 Reporting Services site that has the following reports on it: Builds, Bug Rates, Quality Indicators, Tests Failing Without Active Bugs and Load Test Summary.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Use this process template as a basic starting point and an alternative to the MSF for Agile Software Development or the MSF for CMMI Process Improvement templates.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Step 1: Upload the process template to your TFS&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0013_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="239" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0013_5F00_thumb.png" width="340" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0012_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="86" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0012_5F00_thumb.png" width="340" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0001_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="92" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0001_5F00_thumb.png" width="204" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0002_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="126" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0002_5F00_thumb.png" width="300" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Step 2: Create a new team project (using the new process template)&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0003_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="142" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0003_5F00_thumb.png" width="240" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0004_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="270" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0004_5F00_thumb.png" width="280" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0014_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="196" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0014_5F00_thumb.png" width="340" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0008_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="147" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0008_5F00_thumb.png" width="340" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Step 3: Discover what&amp;#39;s been created&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0009_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="124" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0009_5F00_thumb.png" width="365" border="0" /&gt; &lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0011_5F00_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="295" alt="" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.DownloadaveryBasicProcessTemplatetostart_5F00_22F/Image_2D00_0011_5F00_thumb.png" width="263" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Link: &lt;a title="http://msdn.microsoft.com/en-us/library/ms194993(VS.80).aspx" href="http://msdn.microsoft.com/en-us/library/ms194993(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms194993(VS.80).aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1650047" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Server+Management/default.aspx">TFS Server Management</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Work+Item+Customization/default.aspx">Work Item Customization</category></item><item><title>Q: How Do I link work items with SharePoint documents?</title><link>http://msmvps.com/blogs/vstsblog/archive/2008/10/07/q-how-do-i-link-work-items-with-sharepoint-documents.aspx</link><pubDate>Tue, 07 Oct 2008 20:46:38 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1650036</guid><dc:creator>neno</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1650036</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1650036</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2008/10/07/q-how-do-i-link-work-items-with-sharepoint-documents.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: Two possible ways:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: Get the URL of the document saved in a SharePoint document library&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;From the project portal&lt;/strong&gt;:&lt;/p&gt; &lt;p&gt;Right-click the file and select &lt;em&gt;Copy Shortcut&lt;/em&gt;. Done.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0007_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="304" alt="Image-0007" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0007_5F00_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;From the Team Explorer window in Visual Studio&lt;/strong&gt;:&lt;/p&gt; &lt;p&gt;Right-click the file under the &lt;em&gt;Documents&lt;/em&gt; folder and select &lt;em&gt;Properties&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/InVS1_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="324" alt="InVS1" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/InVS1_5F00_thumb.png" width="204" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The quickest way is to double-click on &amp;quot;Url&amp;quot;, then right-click the blue-marked URL on the right side and select &lt;em&gt;Copy&lt;/em&gt; (or press Ctrl+C respectively).&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/InVS2_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="245" alt="InVS2" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/InVS2_5F00_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Step 2: Add the link to the work item&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Select &lt;em&gt;Add &lt;/em&gt;on the work item&amp;#39;s &lt;em&gt;Links &lt;/em&gt;tab:&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0002_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="180" alt="Image-0002" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0002_5F00_thumb.png" width="344" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Select the a link type of &amp;quot;Hyperlink&amp;quot;:&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0003_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="132" alt="Image-0003" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0003_5F00_thumb.png" width="344" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Paste the URL and enter a comment optionally:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0005_5F00_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="166" alt="Image-0005" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0005_5F00_thumb_5F00_1.png" width="344" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Confirm with &amp;quot;OK&amp;quot;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0006_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="103" alt="Image-0006" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.QHowDoIlinkWorkItemswithSharePointdocume_5F00_13DD7/Image_2D00_0006_5F00_thumb.png" width="344" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Done. &lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1650036" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2008/default.aspx">TFS 2008</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Using images in description fields</title><link>http://msmvps.com/blogs/vstsblog/archive/2008/08/09/using-images-in-description-fields.aspx</link><pubDate>Sat, 09 Aug 2008 11:44:38 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1644070</guid><dc:creator>neno</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1644070</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1644070</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2008/08/09/using-images-in-description-fields.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Requires&lt;/strong&gt;:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The use of HTML description fields in stead of the default description field.&lt;/li&gt; &lt;li&gt;Team System Web Access (TSWA) to insert the pictures.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Steps&lt;/strong&gt;:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Use a HTML fields for your descriptions instead of plan text fields&lt;br /&gt;(might need to copy the old descriptions programmatically).&lt;br /&gt;&lt;/li&gt; &lt;li&gt;Add the image you want to use to the work item&amp;#39;s attachments:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step1_5F00_AddAsAttachement_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="249" alt="Step1_AddAsAttachement" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step1_5F00_AddAsAttachement_5F00_thumb.png" width="424" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;Save the Work Item.&lt;br /&gt;&lt;/li&gt; &lt;li&gt;Double-click your attachment. IE opens. Copy the URL to the attachment to the clipboard.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step3_5F00_CopyUrl_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="209" alt="Step3_CopyUrl" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step3_5F00_CopyUrl_5F00_thumb.png" width="444" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;Open the Work Item in Team System Web Access and use the &amp;quot;Insert Images&amp;quot; bottom (from the toolbar within the HTML field):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step4_5F00_TSWAClickInsertImages_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="96" alt="Step4_TSWAClickInsertImages" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step4_5F00_TSWAClickInsertImages_5F00_thumb.png" width="344" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;/li&gt; &lt;li&gt;Paste the attachment-URL from clipboard:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step5_5F00_EnterURL_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="129" alt="Step5_EnterURL" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step5_5F00_EnterURL_5F00_thumb.png" width="444" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;Save the Work Item.&lt;br /&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Done&lt;/strong&gt;. You can see your picture in the HTML description field. &lt;br /&gt;&lt;br /&gt;TSWA:&lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step6_5F00_YouSeeThePicture_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="159" alt="Step6_YouSeeThePicture" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step6_5F00_YouSeeThePicture_5F00_thumb.png" width="344" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Team Explorer:&lt;br /&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step8_5F00_Voila_5F00_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="143" alt="Step8_Voila" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/vstsblog.Usingimagesindescriptionfields_5F00_C05C/Step8_5F00_Voila_5F00_thumb.png" width="344" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1644070" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Project+Management+with+TFS/default.aspx">Project Management with TFS</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Business+Analysts/default.aspx">For Business Analysts</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+System+Web+Access+_2800_TSWA_2900_/default.aspx">Team System Web Access (TSWA)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Changing TFS email notifications to link to Team System Web Access</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/08/31/changing-tfs-email-notifications-to-link-to-team-system-web-access.aspx</link><pubDate>Fri, 31 Aug 2007 14:44:37 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1152122</guid><dc:creator>neno</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1152122</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1152122</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/08/31/changing-tfs-email-notifications-to-link-to-team-system-web-access.aspx#comments</comments><description>&lt;p&gt;Thanks to this &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2028288&amp;amp;SiteID=1"&gt;MSDN Forums post&lt;/a&gt; I was able to change the link included in every TFS notification e-mail to point to TSWA instead of the project portal.&lt;/p&gt;  &lt;p&gt;Here’s the full story:&lt;/p&gt;  &lt;p&gt;When using project alerts to get notified about work item changes you get an email containing a link to the project portal:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/Image_2D0007.png"&gt;&lt;img alt="Work Item Changed email notification by TFS" src="http://msmvps.com/blogs/vstsblog/Image_2D0007_thumb.jpg" border="0" /&gt;&lt;/a&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/Image_2D0007.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you follow the link you might get a bit dissapointed when looking at this very basic work item details page:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/TeamPortal_WorkItemDetails.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/TeamPortal_WorkItemView.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/ProjectPortal_WorkItemView.png"&gt;&lt;img alt="Project Portal Work Item Details" src="http://msmvps.com/blogs/vstsblog/ProjectPortal_WorkItemView_thumb.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Since &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2007/08/27/free-add-on-team-system-web-access-tswa-power-tool-by-microsoft.aspx"&gt;Team System Web Access&lt;/a&gt; is now avaible from Microsoft free of charge we can change the link in the template for all notification messages to point to the new TSWA.&lt;/p&gt; &lt;a href="http://msmvps.com/blogs/vstsblog/TeamPortal_WorkItemDetails.png"&gt;&lt;/a&gt;  &lt;p&gt;&lt;font size="3"&gt;Changing the e-mail template&lt;/font&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;On the TFS app tier open the folder:     &lt;br /&gt;&lt;font face="Courier New"&gt;%ProgramFiles%\Microsoft Visual Studio 2005 Team Foundation Server\Web Services\Services\v1.0\Transforms       &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;Create a backup of the file &lt;font face="Courier New"&gt;WorkItemChangedEvent.xsl&lt;/font&gt;, which we will be editing in the next step.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Replace the text:     &lt;br /&gt;      &lt;br /&gt;&lt;font face="Courier New"&gt;&amp;lt;xsl:value-of select=&amp;quot;DisplayUrl&amp;quot; /&amp;gt;&lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;with:      &lt;br /&gt;      &lt;br /&gt;&lt;font face="Courier New"&gt;&amp;lt;xsl:value-of select=&amp;quot;concat(substring-before(DisplayUrl,&amp;#39;:8080/WorkItemTracking/WorkItem.aspx?artifactMoniker=&amp;#39;),&amp;#39;:&lt;strong&gt;8090&lt;/strong&gt;/wi.aspx?id=&amp;#39;,substring-after(DisplayUrl,&amp;#39;artifactMoniker=&amp;#39;))&amp;quot; /&amp;gt;&lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;The bold printed 8090 is the port where you installed TSWA at.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Save the file and you are done.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If you now get a new notification e-mail and click on the link you’ll see the following much nicer work item details form provided by TSWA:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/Image_2D0008.png"&gt;&lt;img alt="Team System Web Access Work Item Detail Form" src="http://msmvps.com/blogs/vstsblog/Image_2D0008_thumb.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Be aware that you either need to use Windows authentication with TSWA to make this work or you need to be already logged in and the session must be still alive.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I published a &lt;strong&gt;2nd part&lt;/strong&gt;: &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2009/01/11/changing-tfs-emails-to-link-to-team-system-web-access-part-2.aspx" target="_blank"&gt;Changing TFS emails to link to Team System Web Access – Part 2&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1152122" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+IT+Administration/default.aspx">TFS IT Administration</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Version+Control/default.aspx">Team Foundation Version Control</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2008/default.aspx">TFS 2008</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Project+Management+with+TFS/default.aspx">Project Management with TFS</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Server+Management/default.aspx">TFS Server Management</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Project+Portal+and+Team+Communication/default.aspx">Project Portal and Team Communication</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+System+Web+Access+_2800_TSWA_2900_/default.aspx">Team System Web Access (TSWA)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Notification+and+Alerts/default.aspx">Notification and Alerts</category></item><item><title>Tool for creating links to pages on Team System Web Access</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/08/31/tool-for-creating-links-to-pages-on-team-system-web-access.aspx</link><pubDate>Fri, 31 Aug 2007 14:34:20 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1152100</guid><dc:creator>neno</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1152100</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1152100</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/08/31/tool-for-creating-links-to-pages-on-team-system-web-access.aspx#comments</comments><description>&lt;p&gt;Would you like to send links to work items, team projects or source files on&amp;#160; &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2007/08/27/free-add-on-team-system-web-access-tswa-power-tool-by-microsoft.aspx"&gt;Team System Web Access&lt;/a&gt;?&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;For work items     &lt;br /&gt;&lt;/font&gt;… you can find the answer in the offical &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb684938.aspx"&gt;TSWA FAQ&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Q: What’s the URL to use if I want to send the link of a specific work item?&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;A: Work item links use the follwing format:&lt;/p&gt;    &lt;p&gt;&lt;code&gt;&lt;a href="http://[TSWA:port]/wi.aspx?id=[WorkItemID"&gt;http://&lt;em&gt;[TSWA:port]&lt;/em&gt;/wi.aspx?id=[&lt;em&gt;WorkItemID&lt;/em&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;/a&gt;&lt;/code&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="3"&gt;For Team Projects     &lt;br /&gt;&lt;/font&gt;… it also pretty simple:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://[TSWA:port]/index.aspx?pname=[ProjectName]"&gt;http://[&lt;em&gt;TSWA:port&lt;/em&gt;]/index.aspx?pname=[&lt;em&gt;ProjectName&lt;/em&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="3"&gt;For Source Files     &lt;br /&gt;… &lt;/font&gt;it’s a little bit more “interesting” (thanks to Hakan from Microsoft for reveiling the details behind this secret).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;It’s a bit tricky but here it goes:&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;a href="http://[TSWA:port]/UI/Pages/Scc/ViewSource.aspx?scc-item=[ItemData" target="_blank"&gt;http://[&lt;em&gt;TSWA:port&lt;/em&gt;]/UI/Pages/Scc/ViewSource.aspx?scc-item=[&lt;i&gt;ItemData&lt;/i&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;ItemData is the HtmlEncoded output of the query string something like “id=10&amp;amp;cs=-1”&lt;/span&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color:#1f497d;"&gt;id&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#1f497d;"&gt;: the ID of the item in source control (you need to know this instead of the file path)&lt;/span&gt;&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;div class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#1f497d;"&gt;cs&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#1f497d;"&gt;: changeset number (-1: latest)&lt;/span&gt;&lt;/div&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;In your example, the file id is 151611. So,&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;HtmlEncode(“id&lt;/span&gt;&lt;span style="color:#a6a6a6;"&gt;=&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;151611&lt;/span&gt;&lt;span style="color:#a6a6a6;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;cs&lt;/span&gt;&lt;span style="color:#a6a6a6;"&gt;=&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;-1”) -&amp;gt; “id&lt;/span&gt;&lt;span style="color:#a6a6a6;"&gt;%3D&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;151611&lt;/span&gt;&lt;span style="color:#a6a6a6;"&gt;%26&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;cs&lt;/span&gt;&lt;span style="color:#a6a6a6;"&gt;%3D&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;-1”&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;&lt;a href="https://[TSWA:port]/UI/Pages/Scc/ViewSource.aspx?scc-item=id%3D151611%26cs%3D-1" target="_blank"&gt;https://[&lt;em&gt;TSWA:port&lt;/em&gt;]/UI/Pages/Scc/ViewSource.aspx?scc-item=id%3D151611%26cs%3D-1&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="color:#1f497d;"&gt;&lt;/span&gt;&lt;span style="color:#1f497d;"&gt;[We’re planning to provide more friendly URLs in a future version, similar to wi.aspx approach]&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To make it fast and more convenient to create links to TSWA I created a small tool to help you with it:&lt;/p&gt;  &lt;p&gt;&lt;img alt="TeamSystemWebAccessLinkCreator" src="http://msmvps.com/blogs/vstsblog/TeamSystemWebAccessLinkCreator.png" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;It should be mentioned that this tool has a lot of room for improvement. :-)&lt;/p&gt;  &lt;p&gt;You can download the source from an updated version &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2009/03/06/tool-for-creating-direct-links-to-tswa.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1152100" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Version+Control/default.aspx">Team Foundation Version Control</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Project+Management+with+TFS/default.aspx">Project Management with TFS</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+System+Web+Access+_2800_TSWA_2900_/default.aspx">Team System Web Access (TSWA)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category></item><item><title>Creating a separate work item form layout for Web Access</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/08/29/creating-a-separate-work-item-form-layout-for-web-access.aspx</link><pubDate>Wed, 29 Aug 2007 16:32:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1146041</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1146041</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1146041</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/08/29/creating-a-separate-work-item-form-layout-for-web-access.aspx#comments</comments><description>&lt;p&gt;Right now custom work item controls [1] are not supported by Team System Web Access [2]. Instead your custom control you will see this unpleasant message: “Unable to create workitem control ‘ControlName’”.&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT:0px;"&gt;&lt;img alt="Error message when opening a work item with custom controls on the web" src="http://msmvps.com/blogs/vstsblog/Image_2D0002.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;While this is a sad thing for us users does that mean that we shouldn’t use Web Access? No, of course not…&lt;/p&gt;
&lt;p&gt;One solution is to create a separate work item form layout for Web Access and remove all custom controls from it. (thanks to &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2065895&amp;amp;SiteID=1"&gt;Serkan&lt;/a&gt;&lt;font color="#810081"&gt; &lt;/font&gt;and &lt;a href="http://blogs.msdn.com/marcalt/"&gt;Marcus&lt;/a&gt; for pointing me in that direction.)&lt;/p&gt;
&lt;p&gt;All you need to do is duplicate the &amp;lt;layout&amp;gt; information in your work item xml file.&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;Let’s do it&lt;/font&gt;&lt;/p&gt;
&lt;p dir="ltr"&gt;The first section gets a target-attribute with the value “WinForms” like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;Layout Target=“WinForms”&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p dir="ltr"&gt;The second targets the “Web”:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;Layout Target=”Web”&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p dir="ltr"&gt;Last thing you need to do is change the “Type” attributes of all controls in the web layout to use “FieldControl” instead of your custom control.&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;Review the results&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;If you take my Priority Control example from [1] it would look like this:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows layout&lt;/strong&gt; (in Team Explorer) will show the friendly priority list (= the custom control):&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT:0px;"&gt;&lt;img alt="A Work Item Custom Control in Team Explorer" src="http://msmvps.com/blogs/vstsblog/Image_2D0014.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web layout&lt;/strong&gt; in Team System Web Access doesn’t show the control, but instead it displays the regular field control. Not nice, but usable – and much better than the initial error message we had.&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT:0px;"&gt;&lt;img alt="Regular work item field control in the web" src="http://msmvps.com/blogs/vstsblog/Image_2D0012.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;[1] &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2007/07/07/starting-using-custom-work-item-controls.aspx"&gt;http://msmvps.com/blogs/vstsblog/archive/2007/07/07/starting-using-custom-work-item-controls.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[2] &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2007/08/27/free-add-on-team-system-web-access-tswa-power-tool-by-microsoft.aspx"&gt;http://msmvps.com/blogs/vstsblog/archive/2007/08/27/free-add-on-team-system-web-access-tswa-power-tool-by-microsoft.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1146041" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Server+Management/default.aspx">TFS Server Management</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+System+Web+Access+_2800_TSWA_2900_/default.aspx">Team System Web Access (TSWA)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Work+Item+Customization/default.aspx">Work Item Customization</category></item><item><title>Copy area and interation structure using the Area Import/Export Tool</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/copy-area-and-interation-structure-using-the-area-import-export-tool.aspx</link><pubDate>Sat, 07 Jul 2007 19:21:48 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1007732</guid><dc:creator>neno</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1007732</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1007732</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/copy-area-and-interation-structure-using-the-area-import-export-tool.aspx#comments</comments><description>&lt;p&gt;If you look for a way to export and import your area and/or iteration structure the Team Foundation Object Model (TFOM) is your friend.&lt;/p&gt;
&lt;p&gt;However it&amp;rsquo;s only your friend if you know where to look for.&lt;/p&gt;
&lt;p&gt;While the export works perfectly using the WorkItemStore, the import is only possible through the ICommonStructureService (and could be used for export as well).&lt;/p&gt;
&lt;p&gt;At the bottom you can download the source code of&amp;nbsp;&lt;strong&gt;TFS Area Import/Export Tool&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="TFSAreaImportExportTool" src="http://msmvps.com/blogs/vstsblog/TFSAreaImportExportTool.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;It saves your area and/or iteration structure into a text file and lets you import it into another project (even on another Team Foundation Server).&lt;/p&gt;
&lt;p&gt;Feedback is appreciated.&lt;/p&gt;
&lt;p&gt;Version 1.0.1 &amp;ndash; compiled against Team Explorer 2008&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/AreaImportExportTool_1.0.1.zip" target="_blank"&gt;File Attachment: AreaImportExportTool_1.0.1.zip (25 KB)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Version 1.0.0 &amp;ndash; compiled against Team Explorer 2005&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/AreaImportExportTool.zip"&gt;File Attachment: AreaImportExportTool.zip (69 KB)&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1007732" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Extensibility/default.aspx">TFS Extensibility</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+IT+Administration/default.aspx">TFS IT Administration</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2008/default.aspx">TFS 2008</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Work+Item+Customization/default.aspx">Work Item Customization</category></item><item><title>Getting started using Custom Work Item Controls</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/starting-using-custom-work-item-controls.aspx</link><pubDate>Sat, 07 Jul 2007 15:26:44 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1007375</guid><dc:creator>neno</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1007375</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1007375</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/starting-using-custom-work-item-controls.aspx#comments</comments><description>&lt;p&gt;Since Service Pack 1&amp;nbsp;[1]&amp;nbsp;we have the ability to create our own controls to display field value within a work item form which gives us great flexibility.&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT:0px;"&gt;However there are &lt;strong&gt;two caveats &lt;/strong&gt;with custom work item controls right now that aren&amp;rsquo;t solved:&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT:0px;"&gt;
&lt;ul&gt;
&lt;li&gt;They do not work with Web Access [2] so it&amp;rsquo;s not a choice for people that heavily rely on the web client.&lt;/li&gt;
&lt;li&gt;They need to be deployed to the machine of every user accessing TFS.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;Setting the stage&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;As an first realistic example we could make the priority field a little prettier. I mean the allowed values &amp;ldquo;1&amp;rdquo;, &amp;ldquo;2&amp;rdquo;, and &amp;ldquo;3&amp;rdquo; are not very descriptive. We don&amp;rsquo;t want to create a new field or change the values since we used this field already. So the solution would be to create a custom work item control on top of the existing values that displays something else.&lt;/p&gt;
&lt;p&gt;I plan to create a new control that has a combobox on it and will display something nicer than the real values that are stored in the database. The complete source code is attached for reference.&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;1. Create the Work Item Control&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;A custom work item control is essentially a regular Windows Forms control. It has to derive from &lt;strong&gt;Control&lt;/strong&gt; and implement &lt;strong&gt;IWorkItemControl&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The loading takes place in &lt;strong&gt;IWorkItemControl.InvalidateDatasource&lt;/strong&gt;, the saving in &lt;strong&gt;IWorkItemControl.FlushToDatasource&lt;/strong&gt;. The &lt;strong&gt;bold&lt;/strong&gt; code indicates peaces that were necessary to implement my wishes. The rest is infrastructure and is repeated for every control you&amp;rsquo;ll write.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the code:&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using Microsoft.TeamFoundation.WorkItemTracking.Controls;
using Microsoft.TeamFoundation.WorkItemTracking.Client;

namespace TeamSystemPro.Samples.WorkItemControls
{
    /// 
    /// Work Item Control for displaying the priority (can be 1,2, or 3 in MSF) in a more descriptive way then just showing the numbers.
    /// 
    /// 
    /// Custom controls need to derive from Control.
    /// Typically custom controls are built from UserControl.
    /// The control needs to implement IWorkItemControl.
    /// This is defined in Microsoft.TeamFoundation.WorkItemTracking.Controls.dll assembly that can be found from VS installation folder, typically &amp;quot;:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies&amp;quot;.
    /// Add reference to that assembly and line &amp;quot;using Microsoft.TeamFoundation.WorkItemTracking.Controls;&amp;quot; in code.  
    /// How it works:
    ///   After the control is loaded, a reference to work item is passed to the control using IWorkItemControl.WorkItemDatasource property.
    ///   The control is asked to display its data using IWorkItemControl.InvalidateDatasource method.
    ///   The control is required to update any values directly in WorkItem object itself when user changes data. 
    /// 
    public partial class PriorityControl : UserControl, IWorkItemControl
    {
        private WorkItem workItem;
        private string workItemFieldName;
        private IServiceProvider serviceProvider;
        private System.Collections.Specialized.StringDictionary properties;
        private bool readOnly = false;

        public PriorityControl()
        {
            InitializeComponent();
        }

        #region IWorkItemControl Members

        /// 
        /// Raise this events before updating WorkItem object with values. When value is changed by a control, work item form asks all controls (except current control) to refresh their display values (by calling InvalidateDatasource) in case if affects other controls 
        /// 
        public event EventHandler BeforeUpdateDatasource;

        /// 
        /// Raise this event after updating WorkItem object with values. When value is changed by a control, work item form asks all controls (except current control) to refresh their display values (by calling InvalidateDatasource) in case if affects other controls 
        /// 
        public event EventHandler AfterUpdateDatasource;

        /// 
        /// Control is asked to clear its contents
        /// 
        void IWorkItemControl.Clear()
        {
            &lt;strong&gt;cboPriorities.SelectedIndex = -1;&lt;/strong&gt;
        }

        /// 
        /// Control is requested to flush any data to workitem object. This usually happens during save operation or when the form is left. In most cases data will be written to workitem immediately on change and hence this will not need implementation. Some customers want a way to do operations during save, and this is the closest thing we got. If you do need a way to react to before-save &amp;amp; after-save events, pls let us know in forums given below and we&amp;#39;ll consider for future revision.
        /// 
        void IWorkItemControl.FlushToDatasource()
        {
            this.BeforeUpdateDatasource(this, EventArgs.Empty);
            &lt;strong&gt;workItem.Fields[workItemFieldName].Value = Convert.ToString(cboPriorities.SelectedIndex + 1);&lt;/strong&gt;
            this.AfterUpdateDatasource(this, EventArgs.Empty);
        }

        /// 
        /// Asks control to invalidate the contents and redraw. At this point, control can read from work item object and display/refresh data.
        /// 
        void IWorkItemControl.InvalidateDatasource()
        {
            if (IsInitialized())
            {
                &lt;strong&gt;int currentValue = (int)workItem.Fields[workItemFieldName].Value;
                cboPriorities.SelectedIndex = currentValue - 1;&lt;/strong&gt;
            }
        }

        /// 
        /// A property bag of all attributes specified in work item form xml for this control. Custom attributes are allowed and can be used to pass parameters specific for this control from work item type xml.
        /// 
        System.Collections.Specialized.StringDictionary IWorkItemControl.Properties
        {
            get { return properties; }
            set { properties = value; }
        }

        /// 
        /// Tells the control to display in readonly mode.
        /// 
        bool IWorkItemControl.ReadOnly
        {
            get { return readOnly; }
            set { readOnly = value; OnReadOnlyChanged(); }&lt;br /&gt;        }

        /// 
        /// Gives pointer to IServiceProvider if you intended to access Document service or VS Services. If services are not needed, do nothing in this method.
        /// 
        /// 
        void IWorkItemControl.SetSite(IServiceProvider serviceProvider)
        {
            this.serviceProvider = serviceProvider; 
        }

        /// 
        /// This passes reference to source work item object. Cast this object to WorkItem type.
        /// 
        object IWorkItemControl.WorkItemDatasource
        {
            get { return workItem; }
            set { workItem = value as WorkItem;  }
        }

        /// 
        /// The field name if the control is associated with a field name in work item form xml. A custom control can be associated with 0 or 1 work item field.
        /// 
        string IWorkItemControl.WorkItemFieldName
        {
            get { return workItemFieldName; }
            set { workItemFieldName = value; }
        }

        #endregion

        private bool IsInitialized()
        {
             return (!this.IsDisposed &amp;amp;&amp;amp;
                 workItem != null &amp;amp;&amp;amp;
                 !string.IsNullOrEmpty(workItemFieldName) &amp;amp;&amp;amp;
                 workItem.Fields.Contains(workItemFieldName));
        }

        private void OnReadOnlyChanged()
        {
            &lt;strong&gt;cboPriorities.Enabled = !readOnly;&lt;/strong&gt;
        }
    }
}&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;Additionally you need to create an XML file with the .wicc extensions which contains the name of your assembly file as well as the full-qualified name (i.e. namespace&amp;nbsp;and classname) of your control class:&lt;/p&gt;
&lt;p&gt;&lt;img alt="CustomWorkItemControls5" src="http://msmvps.com/blogs/vstsblog/CustomWorkItemControls5.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;So you have your control as well as the .wicc-file (which is necessary for registration):&lt;/p&gt;
&lt;p&gt;&lt;img alt="CustomWorkItemControls2" src="http://msmvps.com/blogs/vstsblog/CustomWorkItemControls2.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;2. Deploy the Work Item Control&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Although you could simply copy the two files (.dll and .wicc) to the &amp;ldquo;Microsoft\Team Foundation\Work Item Tracking\Custom Controls&amp;rdquo; under Environment.SpecialFolder.CommonApplicationData (we could also use the folder unter then under Environment.SpecialFolder.LocalApplicationData), but I decided to create a new MSI setup with Visual Studio which might look like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="CustomWorkItemControls3" src="http://msmvps.com/blogs/vstsblog/CustomWorkItemControls3.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;3. Reference the new control in a Work Item Type&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;After the control is deployed just change the type attribute for the control in the work item type XML. The Type should reference the name of the .wicc-file.&lt;/p&gt;
&lt;p&gt;&lt;img alt="CustomWorkItemControls4" src="http://msmvps.com/blogs/vstsblog/CustomWorkItemControls4.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Now you can import your modified work item type XML (you need to use witimport as the Process Template Editor does not support custom controls right now), refresh the cache by right-clicking the Work Items node in Team Explorer and press &amp;ldquo;Refresh&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="CustomWorkItemControls1" src="http://msmvps.com/blogs/vstsblog/CustomWorkItemControls1.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Further recommended reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How to use Custom Controls in Work Item Form [3]&lt;/li&gt;
&lt;li&gt;Communicating between custom controls: Building parent/child controls [4]&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Enjoy increasing your Work Item UI experience through custom controls!&lt;/p&gt;
&lt;p&gt;-Neno&lt;/p&gt;
&lt;p&gt;[1] &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2006/12/15/download-visual-studio-2005-team-suite-team-foundation-server-service-pack-1-sp1.aspx"&gt;http://msmvps.com/blogs/vstsblog/archive/2006/12/15/download-visual-studio-2005-team-suite-team-foundation-server-service-pack-1-sp1.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[2] &lt;a href="http://www.devbiz.com/"&gt;http://www.devbiz.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[3] &lt;a href="http://blogs.msdn.com/narend/archive/2006/10/02/How-to-use-Custom-Controls-in-Work-Item-Form.aspx"&gt;http://blogs.msdn.com/narend/archive/2006/10/02/How-to-use-Custom-Controls-in-Work-Item-Form.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[4] &lt;a href="http://blogs.msdn.com/narend/archive/2006/10/19/communicating-between-custom-controls-building-parent-child-controls.aspx"&gt;http://blogs.msdn.com/narend/archive/2006/10/19/communicating-between-custom-controls-building-parent-child-controls.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/WorkItemCustomControlDemo.zip"&gt;File Attachment: WorkItemCustomControlDemo.zip (25 KB)&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1007375" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Extensibility/default.aspx">TFS Extensibility</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Work+Item+Customization/default.aspx">Work Item Customization</category></item><item><title>Undocumented attributes for controlling the Work Item form layout</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/undocumented-attributes-for-controlling-the-work-item-form-layout.aspx</link><pubDate>Sat, 07 Jul 2007 14:42:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1007272</guid><dc:creator>neno</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1007272</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1007272</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/undocumented-attributes-for-controlling-the-work-item-form-layout.aspx#comments</comments><description>&lt;p&gt;Naren [1] revealed a few very interesting on hidden attributes&amp;nbsp;his blog&amp;nbsp;[2] which you definitely should take a look at since they let you solve some problems as the following ones:&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;Control the height of two text boxes that were placed vertically on&amp;nbsp;one tab&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When placing more than one text box on a tab page you will notice that all text boxes have the same height except the last one which can be annoying if you use HTML and expect the writer to write a lot.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Undocumented3" src="http://msmvps.com/blogs/vstsblog/Undocumented3.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Using the &amp;ldquo;MinimumSize&amp;rdquo; attribute in the Work Item Type XML you can specify the minimum width and height that the control has to have.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/Undocumented5.png"&gt;&lt;img alt="Undocumented5" src="http://msmvps.com/blogs/vstsblog/Undocumented5.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Resulting in a much more nice looking writing experience:&lt;/p&gt;
&lt;p dir="ltr"&gt;&lt;img alt="Undocumented4" src="http://msmvps.com/blogs/vstsblog/Undocumented4.png" border="0" /&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="4"&gt;Show the same field twice in different places&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Sometimes it makes sense to place the same field on two places for example in the general area as well as on a tab. If you do so you would get an error.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Undocumented8" src="http://msmvps.com/blogs/vstsblog/Undocumented8.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;You can use &amp;ldquo;Name&amp;rdquo; attributes with different values to allow the field to be displayed multiple times.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Undocumented6" src="http://msmvps.com/blogs/vstsblog/Undocumented6.png" border="0" /&gt;&lt;br /&gt;&lt;img alt="Undocumented7" src="http://msmvps.com/blogs/vstsblog/Undocumented7.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;This leads to the desired effect. Note that if you enter something in the one field it will automatically appear in the other text field after leaving the control.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Undocumented1" src="http://msmvps.com/blogs/vstsblog/Undocumented1.png" border="0" /&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;So here&amp;rsquo;s the background by Naren. A must read for people customizing Work Item types:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="COLOR:gray;mso-themecolor:background1;mso-themeshade:128;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&amp;lt;Control FieldName=&amp;quot;control name&amp;quot; Type=&amp;quot;FieldControl | DateTimeControl | HtmlFieldControl | LinksControl | AttachmentsControl | WorkItemClassificationControl | WorkItemLogControl&amp;quot; Label=&amp;quot;label text&amp;quot; LabelPosition=&amp;quot;Top | Bottom | Left | Right&amp;quot; Dock=&amp;quot;Fill | Top | Bottom | Left | Right&amp;quot; Padding=&amp;quot;(left, top, right, bottom)&amp;quot; Margin=&amp;quot;(left, top, right, bottom)&amp;quot; ReadOnly=&amp;quot;True | False&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Attributes that weren&amp;rsquo;t documented: &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;MinimumSize&lt;/b&gt;: The minimum size the control should occupy in the form. If vertical space is not enough, then a scrollbar is shown to keep its minimum size. Without this attribute, the controls are drawn with their default sizes (unless controls in other tabs take larger space that incrasing whole tab&amp;rsquo;s size). The syntax for it&amp;#39;s value&amp;nbsp;is &amp;quot;(width,height)&amp;quot; (In regex format it is &amp;quot;^\(\d+\,\d+\)$&amp;quot;).&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Name&lt;/b&gt;: If you want to add same field to be displayed in more than one place, it is possible but the Name attribute should be set to unique values for both &amp;ndash; so that the system identifies each control uniquely. It is useful to show same control in various places based on context of tabs.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;[Update: 3/12/07]&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Below are special attributes available for specific controls:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;NumberFormat&lt;/strong&gt; (for FieldControl only): Useful if a number value is displayed in the field. Possible values: WholeNumbers, SignedWholeNumbers, DecimalNumbers, SignedDecimalNumbers. Setting this attribute determines what characters are allowed to be entered in this control.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;MaxLength&lt;/strong&gt; (for FieldControl only): Maximum length of allowed characters for field control in form UI.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;Format&lt;/strong&gt; (for DateTimeControl only): One of values of &lt;a class="" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsdatetimepickerformatclasstopic.asp"&gt;DateTimePickerFormat enum&lt;/a&gt;. Possible values as given in help are: Long, Short, Time and Custom. Custom format can be set by having &amp;#39;Custom&amp;#39; as value for this attribute, and setting another attribute named &lt;strong&gt;CustomFormat&lt;/strong&gt; with actual custom format string.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="MsoNormal" dir="ltr" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;[1] &lt;a href="http://blogs.msdn.com/narend/"&gt;http://blogs.msdn.com/narend/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" dir="ltr" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" dir="ltr" style="MARGIN:0in 0in 0pt;"&gt;&lt;font face="Calibri" size="3"&gt;[2] &lt;a href="http://blogs.msdn.com/narend/archive/2007/02/09/hidden-attributes-to-control-your-work-item-form-layout.aspx"&gt;http://blogs.msdn.com/narend/archive/2007/02/09/hidden-attributes-to-control-your-work-item-form-layout.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1007272" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Process+Customization/default.aspx">TFS Process Customization</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Work+Item+Customization/default.aspx">Work Item Customization</category></item><item><title>Use SnagIt to capure your screen and create a new Work Item quickly</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/use-snagit-to-capure-your-screen-and-create-a-new-work-item-quickly.aspx</link><pubDate>Fri, 06 Jul 2007 23:06:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1006037</guid><dc:creator>neno</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=1006037</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=1006037</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/07/07/use-snagit-to-capure-your-screen-and-create-a-new-work-item-quickly.aspx#comments</comments><description>&lt;p&gt;Capturing screenshots and new bugs quickly is a everyday task for software developers and testers.&lt;/p&gt;
&lt;p&gt;The default Work Item form does not handle this scenario very efficiently, i.e. you have to click too many times until the new bug is created.&lt;/p&gt;
&lt;p&gt;One nice solution comes out of TechSmith, the creators of the popular SnagIt screen capture tool. As Betsy Weber announced it they made a New &amp;ldquo;SnagIt Output for Microsoft Visual Studio Team System&amp;rdquo;&lt;strong&gt; &lt;/strong&gt;[1]&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;available which lets you create new Work Items with screenshots attached or update existing ones with ease.&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;Let&amp;rsquo;s try how it looks like&amp;hellip;&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You take a capture of your screen using SnagIt.&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt1" src="http://msmvps.com/blogs/vstsblog/SnagIt1_small.jpg" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;You use one of SnagIt&amp;rsquo;s diverse editing functions to make clear what&amp;rsquo;s the problem is (e.g. arrows, or text).&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt2" src="http://msmvps.com/blogs/vstsblog/SnagIt2_small.jpg" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;You click the new &amp;ldquo;Team System&amp;rdquo; bottom in the toolbar and select &amp;ldquo;New Work Item&amp;rdquo; if there is no work item existing already.&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt3" src="http://msmvps.com/blogs/vstsblog/SnagIt3_small.jpg" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;You supply connection information to your Team Foundation Server as well as which type of work item you want to create, what the name of the attached file and the associated comment should be.&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt4" src="http://msmvps.com/blogs/vstsblog/SnagIt4_small.jpg" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;After hitting &amp;ldquo;Create&amp;rdquo; you get the well-known Work Item form where you could supply more details on the bug.&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt5" src="http://msmvps.com/blogs/vstsblog/SnagIt5_small.jpg" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Alternatively you can also add the screenshot to an already existing work item by hitting &amp;ldquo;Update Work Item&amp;rdquo; from the Team System toolbar menu.&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt6" src="http://msmvps.com/blogs/vstsblog/SnagIt6_small.jpg" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;This let&amp;rsquo;s you search for the bug and updating it&amp;rsquo;s attachments.&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt7" src="http://msmvps.com/blogs/vstsblog/SnagIt7_small.jpg" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;In either way the result is a nicely attached screenshot in your work item.&lt;br /&gt;&lt;br /&gt;&lt;img alt="SnagIt8" src="http://msmvps.com/blogs/vstsblog/SnagIt8_small.jpg" border="0" /&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;You can also watch a video [2]&amp;nbsp;by TechSmith&amp;nbsp;of the new output in Action.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[1] &lt;a href="http://visuallounge.techsmith.com/2007/05/new_snagit_output_for_microsoft_visual_studio_team_system.html"&gt;http://visuallounge.techsmith.com/2007/05/new_snagit_output_for_microsoft_visual_studio_team_system.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[2]&amp;nbsp;&lt;a href="http://video.techsmith.com/snagit/accessories/teamsystem/enu/teamsystem.html"&gt;http://video.techsmith.com/snagit/accessories/teamsystem/enu/teamsystem.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1006037" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Testers/default.aspx">For Testers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Developers/default.aspx">For Developers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Screen+Galleries/default.aspx">Screen Galleries</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Project+Management+with+TFS/default.aspx">Project Management with TFS</category></item><item><title>How Do I: Customize TeamPlain? and How Do I: Create Custom Work Items in Team Foundation Server?</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/06/24/how-do-i-customize-teamplain-and-how-do-i-create-custom-work-items-in-team-foundation-server.aspx</link><pubDate>Sun, 24 Jun 2007 20:48:31 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:985275</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=985275</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=985275</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/06/24/how-do-i-customize-teamplain-and-how-do-i-create-custom-work-items-in-team-foundation-server.aspx#comments</comments><description>&lt;p&gt;What do both topics have in common? Well, Microsoft started to publish &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/bb507749.aspx"&gt;How-Do-I-videos&lt;/a&gt;&amp;nbsp;for various technologies and these two were the same topics covered on Visual Studio Team System.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://download.microsoft.com/download/3/2/f/32f7807b-3391-4955-b24f-84c1602918f6/WinVideo-CustomizingTeamPlain.wmv"&gt;How Do I: Customize TeamPlain?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/3/2/f/32f7807b-3391-4955-b24f-84c1602918f6/WinVideo-CustomizingTeamPlain.wmv"&gt;&lt;/a&gt;&lt;img alt="" hspace="10" src="http://msdn2.microsoft.com/en-us/teamsystem/bb507750.TeamPlain(en-us,MSDN.10).jpg" align="left" border="0" /&gt;In this video, Scott Golightly shows you how you can customize TeamPlain Web Access to work the way that you do. You will see how to create and assign work items, create your own queries, and how to create and customize favorites to make navigation in the product easier.&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://download.microsoft.com/download/6/d/2/6d298b80-e8e9-48d5-9e03-20db37721bdb/WinVideo-VSTS-CreateCustomWorkIteminTeamFoundationServer.wmv"&gt;How Do I: Create Custom Work Items in Team Foundation Server?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/6/d/2/6d298b80-e8e9-48d5-9e03-20db37721bdb/WinVideo-VSTS-CreateCustomWorkIteminTeamFoundationServer.wmv"&gt;&lt;/a&gt;&lt;img alt="" hspace="10" src="http://msdn2.microsoft.com/en-us/teamsystem/bb507751.CreateCustom(en-us,MSDN.10).jpg" align="left" border="0" /&gt;In this video, Scott Golightly shows us how to use the Visual Studio 2005 Team Foundation Server Power Tools to create custom work items. He shows how to add additional fields to the bug work item type and how to display the new fields in the bug entry form.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notification for new videos&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can also subscribe to the Team System video category by adding &lt;a href="http://msdn.microsoft.com/videos/vsts.xml"&gt;this feed&lt;/a&gt; to your favorite RSS feed reader.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=985275" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Extensibility/default.aspx">TFS Extensibility</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Training+and+Learning/default.aspx">Training and Learning</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category></item><item><title>Communicating via Work Items or: "Description" vs. "History" fields</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/06/18/communicating-via-work-items-or-quot-description-quot-vs-quot-history-quot-fields.aspx</link><pubDate>Mon, 18 Jun 2007 21:55:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:972064</guid><dc:creator>neno</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=972064</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=972064</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/06/18/communicating-via-work-items-or-quot-description-quot-vs-quot-history-quot-fields.aspx#comments</comments><description>&lt;div&gt;&lt;font face="Calibri" size="3"&gt;When working with Work Items often the questions comes up how to &lt;strong&gt;efficiently communicate &lt;/strong&gt;between team members within TFS (not using e-mails) or what the difference between the &lt;strong&gt;Description field &lt;/strong&gt;and the &lt;strong&gt;Comments field &lt;/strong&gt;on the &lt;strong&gt;History tab &lt;/strong&gt;is.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="4"&gt;Description field&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;We use the &lt;strong&gt;description &lt;/strong&gt;field for describing what the actual work item is all about. This information is usually filled out by the creator and only changed if something was wrong or could have been written clearer.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;img alt="Desc1" src="http://msmvps.com/blogs/vstsblog/Desc1_small1.jpg" border="0" /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="4"&gt;Comments on History field&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;The &lt;strong&gt;History field &lt;/strong&gt;is an &lt;strong&gt;audit trail &lt;/strong&gt;on the one hand -&amp;nbsp;showing who changed what and when on an item&amp;nbsp;as well as a &lt;strong&gt;discussion board&lt;/strong&gt; where you can write a short comment to every work item change you do to this item. You can put your questions or remarks into the comments section and after&amp;nbsp;hitting the save&amp;nbsp;they will &amp;quot;walk down&amp;quot; to the audit trail at the bottom. This is how we solve &lt;strong&gt;communication &lt;/strong&gt;between parties in TFS &amp;ndash; without jumping out to e-mails.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;img alt="Desc2" src="http://msmvps.com/blogs/vstsblog/Desc2_small.jpg" border="0" /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;font face="Calibri" size="3"&gt;(Note: I did the yellow highlighting. The original is plain black and white.)&lt;/font&gt;&lt;/div&gt;&lt;div class="bjtags"&gt;Tags:  &lt;a rel="tag" href="http://technorati.com/tag/Work+Items"&gt;Work+Items&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/Audit+Trail"&gt;Audit+Trail&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=972064" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category></item><item><title>Validation error when saving Work Items after a user is removed from Active Directory</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/06/16/validation-error-when-saving-work-items-after-a-user-is-removed-from-active-directory.aspx</link><pubDate>Sat, 16 Jun 2007 09:56:28 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:966656</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=966656</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=966656</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/06/16/validation-error-when-saving-work-items-after-a-user-is-removed-from-active-directory.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: If you remove a user from Active Directory or the local machine (depending where you store your user accounts for TFS), all work items that were assigned to that user &lt;strong&gt;cannot be modified anymore&lt;/strong&gt;, at least if you use the default MSF process templates.&lt;/p&gt;
&lt;p&gt;The following validation error appears that requires the value in the &amp;ldquo;&lt;strong&gt;Assigned To&lt;/strong&gt;&amp;rdquo; field to be a valid user:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Image-0009b" src="http://msmvps.com/blogs/vstsblog/Image_2D0009b.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Workaround 1 (easiest)&lt;/strong&gt;: Just reassign the bug to yourself or someone else. Caveat: You probably don&amp;rsquo;t want to do that because the information is then not correct anymore since it was not you working on the work item.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Workaround 2 (recommended)&lt;/strong&gt;: You can modify the Work Item Type definitions so that the &amp;ldquo;Assigned to&amp;rdquo; field does not re-validate values that have been successfully validated in the past. In this case there would be not error, however if you put in a new name into the &amp;ldquo;Assigned to&amp;rdquo; field it would be validated.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Export the WIT (Work Item Type) of which you want to change the behavior as described&amp;nbsp;using&amp;nbsp;the &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa718351.aspx"&gt;Microsoft Process Editor&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Add&amp;nbsp;the &lt;strong&gt;ALLOWEXISTINGVALUE&lt;/strong&gt;&amp;nbsp;rule to the field definition of the &amp;ldquo;Assigned to&amp;rdquo; field.&lt;br /&gt;&lt;br /&gt;&lt;img alt="Image-0021" src="http://msmvps.com/blogs/vstsblog/Image_2D0021.png" border="0" /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Save and import the WIT into your team projects and you&amp;rsquo;re ready to go.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;Note: Be aware that you need to change all Work Item Types and for all team project separately where you want the new behavior to be used.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;-Neno&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=966656" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Extensibility/default.aspx">TFS Extensibility</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Project+Management+with+TFS/default.aspx">Project Management with TFS</category></item><item><title>Download: Team Foundation Power Tool v1.2</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/02/21/download-team-foundation-power-tool-v1-2.aspx</link><pubDate>Wed, 21 Feb 2007 09:56:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:605368</guid><dc:creator>neno</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=605368</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=605368</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/02/21/download-team-foundation-power-tool-v1-2.aspx#comments</comments><description>&lt;p&gt;The Power Tools are always a must-have download. Although they are 'officially unspported' they give you funcionality upfront that is probably going to be in the next version of Visual Studio.&lt;/p&gt; &lt;p&gt;New and added features include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/#tfpt"&gt;Team Foundation Server Power Tool Commands (tfpt.exe)&lt;/a&gt; - A command-line tool with enhanced functionality for Team Foundation Version Control with graphical user interfaces for some commands. &lt;/li&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/#pte"&gt;Process Template Editor&lt;/a&gt; - A tool integrated with Visual Studio for authoring custom work item types and some of the associated process template components.  &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/#cipp"&gt;Check-In Policy Pack&lt;/a&gt; - A set of handy check-in policies to address needs customers have expressed. These include Custom Path Policy, Forbidden Patterns Policy, Changeset Comments Policy, and Work Item Query Policy. &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/#bttt"&gt;Test Tools Build Task&lt;/a&gt; - A tool that allows running unit tests by simply specifying the DLLs, or by specifying a file name pattern in TfsBuild.proj, instead of using .vsmdi files to specify tests to run.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Read more &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa718351.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Download &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=7324C3DB-658D-441B-8522-689C557D0A79&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Discuss &lt;a href="http://forums.microsoft.com/msdn/showforum.aspx?forumid=930&amp;amp;siteid=1"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=605368" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Developers/default.aspx">For Developers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Server+_2800_TFS_2900_/default.aspx">Team Foundation Server (TFS)</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Team+Foundation+Version+Control/default.aspx">Team Foundation Version Control</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+2005/default.aspx">TFS 2005</category></item><item><title>How to implement 'blocked' Work Items if you are waiting for someone else</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/01/31/how-to-implement-blocked-work-items-if-you-are-waiting-for-someone-else.aspx</link><pubDate>Wed, 31 Jan 2007 14:24:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:531327</guid><dc:creator>neno</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=531327</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=531327</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/01/31/how-to-implement-blocked-work-items-if-you-are-waiting-for-someone-else.aspx#comments</comments><description>&lt;P&gt;A Work Item is blocked since you are waiting for someone else? Or maybe someone else is blocked and waiting for you to deliver something?&lt;/P&gt;
&lt;P&gt;These are always problematic situations which might result in issues not getting fixed because someone didn't know you were waiting for him.&lt;/P&gt;
&lt;P&gt;With Work Items in Team Foundation Server you can build a solution where it is clearly documented &lt;STRONG&gt;who is waiting for whom&lt;/STRONG&gt; and on the other hand you can see &lt;STRONG&gt;who is waiting for you&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;All you need is a custom Work Item Type, a customized query and some notifications. MVP &lt;A href="http://ognjenbajic.com/blog/index.html"&gt;Ognjen Bajic&lt;/A&gt; shows you how: &lt;A href="http://ognjenbajic.com/blog/2006/10/automated-discussion-support-in-work.html"&gt;in this blog post&lt;/A&gt;. Enjoy!&lt;/P&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=531327" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>[MS Project Integration] Open work items right inside of MS Project</title><link>http://msmvps.com/blogs/vstsblog/archive/2007/01/31/ms-project-integration-open-work-items-right-inside-of-ms-project.aspx</link><pubDate>Wed, 31 Jan 2007 14:06:47 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:531295</guid><dc:creator>neno</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/rsscomments.aspx?PostID=531295</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/vstsblog/commentapi.aspx?PostID=531295</wfw:comment><comments>http://msmvps.com/blogs/vstsblog/archive/2007/01/31/ms-project-integration-open-work-items-right-inside-of-ms-project.aspx#comments</comments><description>&lt;p&gt;Working inside of MS Project and getting your data synchronized with TFS is a great thing. But there might be a reason why you want to access the work item details form and until now you needed to start Visual Studio 2005,&amp;nbsp;invoke the&amp;nbsp;Team Explorer, look for the exact same work item etc.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ognjenbajic.com/blog/"&gt;Ognjen Bajic&lt;/a&gt;, a fellow&amp;nbsp;VSTS MVP,&amp;nbsp;made that easier for uns with his great &lt;a href="http://ognjenbajic.com/blog/2006/11/open-work-items-from-ms-project.html"&gt;add-in for MS Project&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If you use MS Project today to work with TFS you'll love it.&lt;/p&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=531295" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/For+Project+Managers/default.aspx">For Project Managers</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/TFS+Work+Item+Tracking/default.aspx">TFS Work Item Tracking</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Downloads/default.aspx">Downloads</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tools+and+Utilities/default.aspx">Tools and Utilities</category><category domain="http://msmvps.com/blogs/vstsblog/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item></channel></rss>