<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Loïc Baumann's Blog</title>
	<atom:link href="http://loicbaumann.blog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://loicbaumann.blog.com</link>
	<description>Programming and stuffs...</description>
	<pubDate>Fri, 30 Oct 2009 11:52:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>We&#8217;re moving !</title>
		<link>http://loicbaumann.blog.com/2008/10/24/were-moving/</link>
		<comments>http://loicbaumann.blog.com/2008/10/24/were-moving/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 16:21:48 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Well, hello all !<br />
<br />
This is a quick post to say I'm still alive, starting again to blog, and on a new platform.<br />
<br />
The URL is <a href="http://loicbaumann.com">http://loicbaumann.com</a> (yeah, I know, egocentric, but easy to remember).<br />
<br />
You will hear me there very soon!<br />
<br />
Loïc
]]></description>
			<content:encoded><![CDATA[<div>Well, hello all !</p>
<p>This is a quick post to say I&#8217;m still alive, starting again to blog, and on a new platform.</p>
<p>The URL is <a href="http://loicbaumann.org">http://loicbaumann.org</a> (yeah, I know, egocentric, but easy to remember).</p>
<p>You will hear me there very soon!</p>
<p>Loïc</p></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2008/10/24/were-moving/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Work Item Creator 1.4 is available on Codeplex !</title>
		<link>http://loicbaumann.blog.com/2008/04/07/work-item-creator-14-is-available-on-codeplex/</link>
		<comments>http://loicbaumann.blog.com/2008/04/07/work-item-creator-14-is-available-on-codeplex/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 09:23:55 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<category><![CDATA[WINetwork]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<font size="3">A new version is available on</font> <a target="_blank" href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=wicreator&#38;ReleaseId=12348"><font size="3">codeplex</font></a><font size="3">.</font><br />
<br />
As I said there, it should be a 2.0 version as there are so many new features.<br />
<br />
<h2><font size="3">Installation:</font></h2>
<ul>
<li>A lot easier and faster than before. You can now install and setup the whole stuff in few minutes.</li>
<li>An administration application let you setup the WICreator for your TFS Server, and for each Team Project you want.</li>
</ul>
<h2><font size="3">User experience improved:</font></h2>
<ul>
<li>The last used Team Project is restored when launching the WICreator application.</li>
<li>There’s now a Most Recent Used (the yellow star icon) Work Item menu item.</li>
<li>The user can create several Work Items at once, based on predefined templates.</li>
<li>Area Path and Iteration can now be spread among children.</li>
<li>The hierarchy fields are automatically added to a Team Project’s Work Item Type definitions when they’re not present.</li>
</ul>
<h2><font size="3">Integration using Work Item:</font></h2>
<ul>
<li>The integration process can be driven by Work Item (you have to follow the 1 changeset / 1 Work Item associated rule strictly). Integration features will be available to member of a given TFS Role.</li>
<li>The Branch Comparison feature display for selected branches (scoped in time) what Work Items are implemented or not.</li>
<li>The Make New Release feature enables you to merge your work based on Work Items. A Work Item query lists all the Work Items concerned by the integration (typically filtered by Iteration) and is filtered by the ones that are present in the source branch and not in the destination one. The user can choose the Work Items to merge, then their corresponding changesets. The Release process then merges all the changesets, and keep the association with the corresponding Work Item.</li>
</ul>
<h2><font size="3">Misc:</font></h2>
<ul>
<li>The hierarchy of the Work Items on a given Team Project can now be checked for integrity (only users having the Integration role can use it) and fixed if there’re problems.</li>
<li>Many little bugs fixed.</li>
</ul>
<font size="3">Here a Video of the installation and setup process, you'll see it's quite pain free now !</font><a target="_blank" href="http://amadeo.blog.com/repository/821612/3048462.swf" title="WI Creator 1.4 Installation &#38; Short demo"><br /></a> <object type="application/x-shockwave-flash" data="http://amadeo.blog.com/repository/821612/3048462.swf" width="810" height="662"><param name="src" value="http://amadeo.blog.com/repository/821612/3048462.swf" />
<param name="autoStart" value="0" />
<param name="movie" value="http://amadeo.blog.com/repository/821612/3048462.swf" />
<param name="quality" value="high" />
alt : <a href="http://amadeo.blog.com/repository/821612/3048462.swf">http://amadeo.blog.com/repository/821612/3048462.swf</a></object><br />
I'll post more about the new features, with hopefully some videos demonstrating them.
]]></description>
			<content:encoded><![CDATA[<div><font size="3">A new version is available on</font> <a target="_blank" href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=wicreator&amp;ReleaseId=12348"><font size="3">codeplex</font></a><font size="3">.</font></p>
<p>As I said there, it should be a 2.0 version as there are so many new features.</p>
<h2><font size="3">Installation:</font></h2>
<ul>
<li>A lot easier and faster than before. You can now install and setup the whole stuff in few minutes.</li>
<li>An administration application let you setup the WICreator for your TFS Server, and for each Team Project you want.</li>
</ul>
<h2><font size="3">User experience improved:</font></h2>
<ul>
<li>The last used Team Project is restored when launching the WICreator application.</li>
<li>There’s now a Most Recent Used (the yellow star icon) Work Item menu item.</li>
<li>The user can create several Work Items at once, based on predefined templates.</li>
<li>Area Path and Iteration can now be spread among children.</li>
<li>The hierarchy fields are automatically added to a Team Project’s Work Item Type definitions when they’re not present.</li>
</ul>
<h2><font size="3">Integration using Work Item:</font></h2>
<ul>
<li>The integration process can be driven by Work Item (you have to follow the 1 changeset / 1 Work Item associated rule strictly). Integration features will be available to member of a given TFS Role.</li>
<li>The Branch Comparison feature display for selected branches (scoped in time) what Work Items are implemented or not.</li>
<li>The Make New Release feature enables you to merge your work based on Work Items. A Work Item query lists all the Work Items concerned by the integration (typically filtered by Iteration) and is filtered by the ones that are present in the source branch and not in the destination one. The user can choose the Work Items to merge, then their corresponding changesets. The Release process then merges all the changesets, and keep the association with the corresponding Work Item.</li>
</ul>
<h2><font size="3">Misc:</font></h2>
<ul>
<li>The hierarchy of the Work Items on a given Team Project can now be checked for integrity (only users having the Integration role can use it) and fixed if there’re problems.</li>
<li>Many little bugs fixed.</li>
</ul>
<p><font size="3">Here a Video of the installation and setup process, you&#8217;ll see it&#8217;s quite pain free now !</font><a target="_blank" href="http://amadeo.blog.com/repository/821612/3048462.swf" title="WI Creator 1.4 Installation &amp; Short demo"><br /></a> <object type="application/x-shockwave-flash" data="http://amadeo.blog.com/repository/821612/3048462.swf" width="810" height="662"><param name="src" value="http://amadeo.blog.com/repository/821612/3048462.swf" /><param name="autoStart" value="0" /><param name="movie" value="http://amadeo.blog.com/repository/821612/3048462.swf" /><param name="quality" value="high" />alt : <a href="http://amadeo.blog.com/repository/821612/3048462.swf">http://amadeo.blog.com/repository/821612/3048462.swf</a></object><br />
I&#8217;ll post more about the new features, with hopefully some videos demonstrating them.
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2008/04/07/work-item-creator-14-is-available-on-codeplex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Modifying Work Item Type definition using the Object Model</title>
		<link>http://loicbaumann.blog.com/2008/02/25/modifying-work-item-type-definition-using-the-object-model/</link>
		<comments>http://loicbaumann.blog.com/2008/02/25/modifying-work-item-type-definition-using-the-object-model/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 13:14:32 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<category><![CDATA[wit]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<div class="Section1">
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">I'm in the process of easing the installation of the Work Item Creator.<br />
To do that, I wanted to detect in runtime if a given Team Project doesn’t have its Work Item Types (WITs) supporting hierarchy and then asking the user to add them.<br />
It’s not very complicated to do, once you know how to do it (as always you might say).</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">To get the definition of a given Work Item Type and add a field, it’s not complicated:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2412</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #cfcfcf; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">// Get the Xml Document for the given WIT</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'">2413</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'">XmlDocument</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'">doc</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'">wit</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'">Export</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'">(</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'">&#160;</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">2414</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">fields</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SelectSingleNode</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"*/WORKITEMTYPE/FIELDS"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">as</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2415</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2416</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #cfcfcf; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">// Look for each field, and add the ones that are not present</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2417</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">fields</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SelectSingleNode</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"FIELD[@refname=\"Cegedim.ParentWI\"]"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">as</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2418</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">if</span> <span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">==</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">null</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2419</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2420</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">CreateElement</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"FIELD"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2421</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SetAttribute</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"name"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"ParentWI"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2422</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SetAttribute</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"refname"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"Cegedim.ParentWI"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2423</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SetAttribute</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"type"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"Integer"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2424</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">InnerXml</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"&#60;HELPTEXT&#62;The ID of the Parent Work Item&#60;/HELPTEXT&#62;&#60;DEFAULT from=\"value\" value=\"0\" /&#62;"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2425</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">fields</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">AppendChild</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2426</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;}</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">To validate the type before importing it:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2453</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WITValidateSucceed</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">true</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2454</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">prj</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemTypes</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportEventHandler</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">+=</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">new</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportEventHandler</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemType_ValidationEventHandler</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2455</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemType</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Validate</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">prj</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">OuterXml</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2456</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">if</span> <span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WITValidateSucceed</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">==</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2457</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2458</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">MessageBox</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Show</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"Work Item Type couldn't pass validation, something went wrong"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"Work Item Creator"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">MessageBoxButtons</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">OK</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">MessageBoxIcon</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Error</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2459</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">return</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2460</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;}</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">The registered event will be fired if the validation failed. Why the Validate method doesn’t return a bool, I don’t know…</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2473</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">void</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemType_ValidationEventHandler</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">object</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">sender</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportEventArgs</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">e</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2474</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2475</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WITValidateSucceed</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">e</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Severity</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">==</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportSeverity</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Error</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2476</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;}</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">Then, you’ll have to call Import from the WorkItemTypes collection to update your type:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2461</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">prj</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemTypes</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Import</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">OuterXml</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">prj being your Work Item “Project” instance.</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">Now there’s a small trick and if you don’t know it, you’ll be like me, wasting 2 hours trying to figuring out why your application is totally crashing when you try to modify two WITs in a row.</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">Importing an existing WIT will update the server side, but apparently the definition of your WITs are cached in local, and this cache is not updated by the Import method (it could have been…), so if you try to modify a second WIT, somehow the Team System Object Mode doesn’t like it!<br />
The solution is not that hard though, after your import, you only have to call these two methods:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2401</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">m_WIS</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">RefreshCache</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">();</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2402</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">m_WIS</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SyncToCache</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">();</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">m_WIS being your instance of the Work Item Store. This way you local version is updated, and you can keep working on WIT modification!</span></p>
</div>

]]></description>
			<content:encoded><![CDATA[<div>
<div class="Section1">
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">I&#8217;m in the process of easing the installation of the Work Item Creator.<br />
To do that, I wanted to detect in runtime if a given Team Project doesn’t have its Work Item Types (WITs) supporting hierarchy and then asking the user to add them.<br />
It’s not very complicated to do, once you know how to do it (as always you might say).</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">To get the definition of a given Work Item Type and add a field, it’s not complicated:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2412</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #cfcfcf; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">// Get the Xml Document for the given WIT</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'">2413</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'">XmlDocument</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'">doc</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'">wit</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'">Export</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'">(</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'">&#160;</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">2414</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">fields</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SelectSingleNode</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;*/WORKITEMTYPE/FIELDS&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">as</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2415</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2416</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #cfcfcf; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">// Look for each field, and add the ones that are not present</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2417</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">fields</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SelectSingleNode</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;FIELD[@refname=\"Cegedim.ParentWI\"]&#8220;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">as</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">XmlElement</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2418</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">if</span> <span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">==</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">null</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2419</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2420</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">CreateElement</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;FIELD&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2421</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SetAttribute</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;name&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;ParentWI&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2422</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SetAttribute</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;refname&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;Cegedim.ParentWI&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2423</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SetAttribute</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;type&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;Integer&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2424</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">InnerXml</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;&lt;HELPTEXT&gt;The ID of the Parent Work Item&lt;/HELPTEXT&gt;&lt;DEFAULT from=\&#8221;value\&#8221; value=\&#8221;0\&#8221; /&gt;&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2425</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">fields</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">AppendChild</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">field</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2426</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;}</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">To validate the type before importing it:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2453</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WITValidateSucceed</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">true</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2454</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">prj</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemTypes</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportEventHandler</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">+=</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">new</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportEventHandler</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemType_ValidationEventHandler</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2455</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemType</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Validate</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">prj</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">OuterXml</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2456</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">if</span> <span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WITValidateSucceed</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">==</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2457</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2458</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">MessageBox</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Show</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;Work Item Type couldn&#8217;t pass validation, something went wrong&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;Work Item Creator&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">MessageBoxButtons</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">OK</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">MessageBoxIcon</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Error</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2459</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">return</span> <span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2460</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;}</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">The registered event will be fired if the validation failed. Why the Validate method doesn’t return a bool, I don’t know…</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2473</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">void</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemType_ValidationEventHandler</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #aeffae; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">object</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">sender</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportEventArgs</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">e</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2474</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2475</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;&#160;&#160;</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WITValidateSucceed</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">e</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Severity</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">==</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">ImportSeverity</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Error</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2476</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;}</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">Then, you’ll have to call Import from the WorkItemTypes collection to update your type:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2461</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">prj</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">WorkItemTypes</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Import</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">doc</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">OuterXml</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">prj being your Work Item “Project” instance.</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">Now there’s a small trick and if you don’t know it, you’ll be like me, wasting 2 hours trying to figuring out why your application is totally crashing when you try to modify two WITs in a row.</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">Importing an existing WIT will update the server side, but apparently the definition of your WITs are cached in local, and this cache is not updated by the Import method (it could have been…), so if you try to modify a second WIT, somehow the Team System Object Mode doesn’t like it!<br />
The solution is not that hard though, after your import, you only have to call these two methods:</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2401</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">m_WIS</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">RefreshCache</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">();</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;2402</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">m_WIS</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #9091c7; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">SyncToCache</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">();</span></p>
<p><span style="font-size: 8pt; font-family: 'Verdana','sans-serif'" lang="EN-US" xml:lang="EN-US">m_WIS being your instance of the Work Item Store. This way you local version is updated, and you can keep working on WIT modification!</span></p>
</div>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2008/02/25/modifying-work-item-type-definition-using-the-object-model/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TFS 2008&#8217;s GetMergeCandidates improvements and WICreator updates</title>
		<link>http://loicbaumann.blog.com/2008/02/14/tfs-2008s-getmergecandidates-improvements-and-wicreator-updates/</link>
		<comments>http://loicbaumann.blog.com/2008/02/14/tfs-2008s-getmergecandidates-improvements-and-wicreator-updates/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 22:25:03 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<category><![CDATA[WINetwork]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Hi all, still alive! :)<br />
It's been a long time I didn't blog, too many things going on in life.
<p>This is will be short. I wanted to say few things:</p>
<ol>
<li>Good job the TFS Team for the TFS 2008 Release! Especially for the GetMergeCandidates API improvement! I blogged about that in the past: in TFS 2005 it was bugged, and slow. And now I can say: "yey, it's fast and it's working!"<br />
Now it's bug free: I could remove the code I've made in WICreator for the <a href="http://loicbaumann.blog.com/1980495/">"Merge by Work Items"</a> feature.<br />
Before it took around 10 minutes for one API call for two branches with lots of changesets, now it's taking only 20 seconds! The integration people loved the TFS 2008 upgrade, I can tell you!</li>
<li>As I said in a recent post on the WICreator Codeplex's project, I'm starting again working on WICreator, the "Merge by Work Items" feature is pretty stable and usable now (we use it in production for at least 4 months; we did around 30 releases with it). So I'm going to make a new Codeplex release, containing this major feature, and small other ones.</li>
<li>I'm thinking about an "administration" part for WICreator that will do for you most of the boring tasks post setup: WITs' fields creation for hierarchy, alert registration, few configuration of the NetworkModels.xml file. I think this feature would enhance the adoption of WICreator and WINetwork.</li>
<li>I'm going to work on a "killer feature", well, more a "flashy feature", I hope it won't take too much time or I won't be able to release it. I really hope I will find time to do it, because it's going to be great!<br />
One hint: WICreator is going to be .Net 3.0!</li>
</ol>
<p>That's it people, keep in touch for coming events.</p>
<p>Thanks to all the people who use WICreator, drop me a comment if you use it, I'm always curious! :)</p>

]]></description>
			<content:encoded><![CDATA[<div>Hi all, still alive! <img src='http://c0404161.cdn.cloudfiles.rackspacecloud.com/16442ca129554f399ff7b46457727509' alt=':)' class='wp-smiley' /> <br />
It&#8217;s been a long time I didn&#8217;t blog, too many things going on in life.</p>
<p>This is will be short. I wanted to say few things:</p>
<ol>
<li>Good job the TFS Team for the TFS 2008 Release! Especially for the GetMergeCandidates API improvement! I blogged about that in the past: in TFS 2005 it was bugged, and slow. And now I can say: &#8220;yey, it&#8217;s fast and it&#8217;s working!&#8221;<br />
Now it&#8217;s bug free: I could remove the code I&#8217;ve made in WICreator for the <a href="http://loicbaumann.blog.com/1980495/">&#8220;Merge by Work Items&#8221;</a> feature.<br />
Before it took around 10 minutes for one API call for two branches with lots of changesets, now it&#8217;s taking only 20 seconds! The integration people loved the TFS 2008 upgrade, I can tell you!</li>
<li>As I said in a recent post on the WICreator Codeplex&#8217;s project, I&#8217;m starting again working on WICreator, the &#8220;Merge by Work Items&#8221; feature is pretty stable and usable now (we use it in production for at least 4 months; we did around 30 releases with it). So I&#8217;m going to make a new Codeplex release, containing this major feature, and small other ones.</li>
<li>I&#8217;m thinking about an &#8220;administration&#8221; part for WICreator that will do for you most of the boring tasks post setup: WITs&#8217; fields creation for hierarchy, alert registration, few configuration of the NetworkModels.xml file. I think this feature would enhance the adoption of WICreator and WINetwork.</li>
<li>I&#8217;m going to work on a &#8220;killer feature&#8221;, well, more a &#8220;flashy feature&#8221;, I hope it won&#8217;t take too much time or I won&#8217;t be able to release it. I really hope I will find time to do it, because it&#8217;s going to be great!<br />
One hint: WICreator is going to be .Net 3.0!</li>
</ol>
<p>That&#8217;s it people, keep in touch for coming events.</p>
<p>Thanks to all the people who use WICreator, drop me a comment if you use it, I&#8217;m always curious! <img src='http://c0404161.cdn.cloudfiles.rackspacecloud.com/16442ca129554f399ff7b46457727509' alt=':)' class='wp-smiley' /> </p>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2008/02/14/tfs-2008s-getmergecandidates-improvements-and-wicreator-updates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Get files from a Label</title>
		<link>http://loicbaumann.blog.com/2007/09/25/get-files-from-a-label/</link>
		<comments>http://loicbaumann.blog.com/2007/09/25/get-files-from-a-label/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 21:36:22 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Source Control]]></category>

		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<div class="Section1">
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US">This post may be helpful for the people who are looking to get the content of a given label in a Workspace.</span></p>
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US">I looked for the code snippet on the internet unsuccessfully, to finally ask for help on the TFS Forum.</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">VersionControlLabel</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">[]</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labels</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">sourcecontrol</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">QueryLabels</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labelname</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">"$/"</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">tfs</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">AuthenticatedUserName</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">null</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">null</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">if</span> <span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labels</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Length</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#62;</span><span style="font-size: 9pt; color: #ff8040; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">0</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">LabelVersionSpec</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">lvs</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">new</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">LabelVersionSpec</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labels</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">[</span><span style="font-size: 9pt; color: #ff8040; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">0</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">]</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Name</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">workspace</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Get</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">lvs</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">GetOptions</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">None</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">}</span></p>
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US"><br />
As you can see, it’s really simple once you know about the LabelVersionSpec class and that you can use it with the Workspace::Get(VersionSpec, GetOptions) method.</span></p>
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US">There are several classes that derive from the VersionSpec one:</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpFirst"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">ChangeSetVersionSpec, to get the content of a given changeset into your workspace.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">DateVersionSpec, to get the content that were checked in until the given date.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">LabelVersionSpec, to get from a label.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">LatestVersionSpec, to get the latest version.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpLast"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">WorkspaceVersionSpec, to get the content of another Workspace.</span></p>
<p class="MsoNormal"></p>
</div>

]]></description>
			<content:encoded><![CDATA[<div>
<div class="Section1">
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US">This post may be helpful for the people who are looking to get the content of a given label in a Workspace.</span></p>
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US">I looked for the code snippet on the internet unsuccessfully, to finally ask for help on the TFS Forum.</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">VersionControlLabel</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">[]</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labels</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">sourcecontrol</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">QueryLabels</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labelname</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#8220;$/&#8221;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">tfs</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">AuthenticatedUserName</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">null</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">null</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">false</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">if</span> <span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labels</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Length</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&gt;</span><span style="font-size: 9pt; color: #ff8040; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">0</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">)</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">{</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">LabelVersionSpec</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">lvs</span> <span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">=</span> <span style="font-size: 9pt; color: #8ab7f9; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">new</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">LabelVersionSpec</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">labels</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">[</span><span style="font-size: 9pt; color: #ff8040; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">0</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">]</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Name</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;</span> <span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">workspace</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">Get</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">(</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">lvs</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">,</span> <span style="font-size: 9pt; color: #2b91af; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">GetOptions</span><span style="font-size: 9pt; color: #ff7d7d; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">.</span><span style="font-size: 9pt; color: #8f91c6; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">None</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">);</span></p>
<p style="background: #44517b; margin: 0cm 0cm 0pt"><span style="font-size: 9pt; color: #ffff80; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">&#160;&#160;</span><span style="font-size: 9pt; color: #eceef4; font-family: 'Lucida Console'" lang="EN-US" xml:lang="EN-US">}</span></p>
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US"><br />
As you can see, it’s really simple once you know about the LabelVersionSpec class and that you can use it with the Workspace::Get(VersionSpec, GetOptions) method.</span></p>
<p class="MsoNormal"><span lang="EN-US" xml:lang="EN-US">There are several classes that derive from the VersionSpec one:</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpFirst"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">ChangeSetVersionSpec, to get the content of a given changeset into your workspace.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">DateVersionSpec, to get the content that were checked in until the given date.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">LabelVersionSpec, to get from a label.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpMiddle"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">LatestVersionSpec, to get the latest version.</span></p>
<p style="margin-left: 37.5pt; text-indent: -18pt" class="MsoListParagraphCxSpLast"><span style="font-family: Symbol" lang="EN-US" xml:lang="EN-US">·<span style="font: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span> <span lang="EN-US" xml:lang="EN-US">WorkspaceVersionSpec, to get the content of another Workspace.</span></p>
<p class="MsoNormal">
</div>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2007/09/25/get-files-from-a-label/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TFS Merging issues&#8230;</title>
		<link>http://loicbaumann.blog.com/2007/08/03/tfs-merging-issues/</link>
		<comments>http://loicbaumann.blog.com/2007/08/03/tfs-merging-issues/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 17:02:23 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>The "Merge by Work Item" feature is quite harder to implement as I expected.<br />
The main reason is the issues I encountered with the Source Control implementation in Team System.</p>
<p>I first wanted to rely on the GetMergeCandidates API to filter the changesets that were already merged between the two branches, only to find out several weeks later (and several forum posts and Email with MSFT) that this API is bugged, and doesn't returned all the changeset it should !<br />
Not cool...</p>
<p>I tried many things to solve this issue, and I finally came with a custom code that "complete" the result of this call, apparently I have now the full list of candidates, but man, it's damn slow to compute!</p>
<p>Finally, when I thought everything was ok, I find out that it's completely impossible to do two consecutive merges on the same file if I don't do a check-in between them!<br />
That's it: you can't do all your merge operations, then finally check the result in, you have to do one merge, one check-in, then loop to the next changeset to merge. I don't know if I'm the only one, but I find this awful!</p>
<p>We want to use the "Merge by Work Item" feature to drive the making of our software release. This cycle happens every two weeks, and we can have 20 features (Change Requests or Bugs) made of 1-3 implementation Tasks each, with at least 1-3 changesets to each task. The reasonable number of changesets to merge is around 200!</p>
<p><br />
Two hundred consecutive check-ins!!! Are you kidding me? By the way, I tried, and looks like spamming merge+checkin operations to the TFS server continuously doesn't end up good!</p>
<p>I really hope Orcas will have several improvements on the branch/merge management, it's good to have new high level features, but having the "good old low level" ones working perfectly is still for me the priority!</p>
<p>Here's a little snapshot of the main form of the Merge by Work Item feature:</p>
<p>&#160;<a href="http://amadeo.blog.com/repository/821612/2256095.png"><img align="center" src="http://amadeo.blog.com/repository/821612/2256095.400.p.tn.jpg" /></a></p>

]]></description>
			<content:encoded><![CDATA[<div>
<p>The &#8220;Merge by Work Item&#8221; feature is quite harder to implement as I expected.<br />
The main reason is the issues I encountered with the Source Control implementation in Team System.</p>
<p>I first wanted to rely on the GetMergeCandidates API to filter the changesets that were already merged between the two branches, only to find out several weeks later (and several forum posts and Email with MSFT) that this API is bugged, and doesn&#8217;t returned all the changeset it should !<br />
Not cool&#8230;</p>
<p>I tried many things to solve this issue, and I finally came with a custom code that &#8220;complete&#8221; the result of this call, apparently I have now the full list of candidates, but man, it&#8217;s damn slow to compute!</p>
<p>Finally, when I thought everything was ok, I find out that it&#8217;s completely impossible to do two consecutive merges on the same file if I don&#8217;t do a check-in between them!<br />
That&#8217;s it: you can&#8217;t do all your merge operations, then finally check the result in, you have to do one merge, one check-in, then loop to the next changeset to merge. I don&#8217;t know if I&#8217;m the only one, but I find this awful!</p>
<p>We want to use the &#8220;Merge by Work Item&#8221; feature to drive the making of our software release. This cycle happens every two weeks, and we can have 20 features (Change Requests or Bugs) made of 1-3 implementation Tasks each, with at least 1-3 changesets to each task. The reasonable number of changesets to merge is around 200!</p>
<p>
Two hundred consecutive check-ins!!! Are you kidding me? By the way, I tried, and looks like spamming merge+checkin operations to the TFS server continuously doesn&#8217;t end up good!</p>
<p>I really hope Orcas will have several improvements on the branch/merge management, it&#8217;s good to have new high level features, but having the &#8220;good old low level&#8221; ones working perfectly is still for me the priority!</p>
<p>Here&#8217;s a little snapshot of the main form of the Merge by Work Item feature:</p>
<p>&#160;<a href="http://amadeo.blog.com/repository/821612/2256095.png"><img align="center" src="http://amadeo.blog.com/repository/821612/2256095.400.p.tn.jpg" /></a></p>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2007/08/03/tfs-merging-issues/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It&#8217;s time to merge some Work Items</title>
		<link>http://loicbaumann.blog.com/2007/05/25/its-time-to-merge-some-work-items/</link>
		<comments>http://loicbaumann.blog.com/2007/05/25/its-time-to-merge-some-work-items/#comments</comments>
		<pubDate>Fri, 25 May 2007 16:00:10 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<category><![CDATA[WINetwork]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>Using the Work Item Creator to create Work Items in a hierarchical way was the first step to reach one of the goals I set myself.<br />
The Work Items are here to describe your project:<br />
&#160;- On the management side with mainly the Change Request and Bug ones.<br />
&#160;- On the development side with mainly the Task ones.</p>
<p>What about the interaction with the Source Control? Well, when we check-in code, we associate a Task Work Item with it. The Task is owned by a Change Request or a Bug, which symbolize a feature or a fix.</p>
<p>All the code we're checking-in is in a "Dev" branch, whatever the iteration we're targeting, when the development is done, it's checked in there.<br />
Alongside with the Dev branch, we have one branch (created from the Dev on) per release of our software.</p>
<p>So what am I so interested to do? Simply to control the creation/update of a release through the use of the Work Items!<br />
A release is done by selecting the features/fix you want it to contain through the selection of the corresponding Work Items. The Work Item Creator will analyze the changesets that belong to these features, and merge them to your target branch, ignoring the ones you don't want!</p>
<p>Here's a preview of the form:</p>
<p><a href="http://amadeo.blog.com/repository/821612/2025445.png"><img align="bottom" width="200" src="http://amadeo.blog.com/repository/821612/2025445.200.p.tn.jpg" /></a></p>
<p>&#160;</p>

]]></description>
			<content:encoded><![CDATA[<div>
<p>Using the Work Item Creator to create Work Items in a hierarchical way was the first step to reach one of the goals I set myself.<br />
The Work Items are here to describe your project:<br />
&#160;- On the management side with mainly the Change Request and Bug ones.<br />
&#160;- On the development side with mainly the Task ones.</p>
<p>What about the interaction with the Source Control? Well, when we check-in code, we associate a Task Work Item with it. The Task is owned by a Change Request or a Bug, which symbolize a feature or a fix.</p>
<p>All the code we&#8217;re checking-in is in a &#8220;Dev&#8221; branch, whatever the iteration we&#8217;re targeting, when the development is done, it&#8217;s checked in there.<br />
Alongside with the Dev branch, we have one branch (created from the Dev on) per release of our software.</p>
<p>So what am I so interested to do? Simply to control the creation/update of a release through the use of the Work Items!<br />
A release is done by selecting the features/fix you want it to contain through the selection of the corresponding Work Items. The Work Item Creator will analyze the changesets that belong to these features, and merge them to your target branch, ignoring the ones you don&#8217;t want!</p>
<p>Here&#8217;s a preview of the form:</p>
<p><a href="http://amadeo.blog.com/repository/821612/2025445.png"><img align="bottom" width="200" src="http://amadeo.blog.com/repository/821612/2025445.200.p.tn.jpg" /></a></p>
<p>&#160;</p>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2007/05/25/its-time-to-merge-some-work-items/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updated version of WICreator on Codeplex</title>
		<link>http://loicbaumann.blog.com/2007/05/25/updated-version-of-wicreator-on-codeplex/</link>
		<comments>http://loicbaumann.blog.com/2007/05/25/updated-version-of-wicreator-on-codeplex/#comments</comments>
		<pubDate>Fri, 25 May 2007 15:39:34 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<category><![CDATA[WINetwork]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>A quick post to say there's a release 1.3 of the Work Item Creator on <a href="http://www.codeplex.com/wicreator/">Codeplex</a>, the sources (including the setup) are updated and in sync with this release.</p>
<p>I've added few features:<br />
1) Now you can customize the Actions menu to specify the types of Work Item you want to create.<br />
2) The icons corresponding to the Work Item types are now stored on the WebService so that you can add icons for your own custom Work Item types (see the "About &#38; Setup" document about that).</p>
<p>I also fixed few bugs.</p>
<p>Drop me a message on Codeplex if you're using it, I'm always interested to get some feedback!</p>

]]></description>
			<content:encoded><![CDATA[<div>
<p>A quick post to say there&#8217;s a release 1.3 of the Work Item Creator on <a href="http://www.codeplex.com/wicreator/">Codeplex</a>, the sources (including the setup) are updated and in sync with this release.</p>
<p>I&#8217;ve added few features:<br />
1) Now you can customize the Actions menu to specify the types of Work Item you want to create.<br />
2) The icons corresponding to the Work Item types are now stored on the WebService so that you can add icons for your own custom Work Item types (see the &#8220;About &amp; Setup&#8221; document about that).</p>
<p>I also fixed few bugs.</p>
<p>Drop me a message on Codeplex if you&#8217;re using it, I&#8217;m always interested to get some feedback!</p>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2007/05/25/updated-version-of-wicreator-on-codeplex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WICreator &#38; WINetwork released on Codeplex!</title>
		<link>http://loicbaumann.blog.com/2007/05/09/wicreator-winetwork-released-on-codeplex/</link>
		<comments>http://loicbaumann.blog.com/2007/05/09/wicreator-winetwork-released-on-codeplex/#comments</comments>
		<pubDate>Wed, 09 May 2007 13:35:28 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<category><![CDATA[WINetwork]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I'm pleased to announce you that the Work Item Creator and WINetwork are both available in codeplex: <a href="http://www.codeplex.com/wicreator">http://www.codeplex.com/wicreator</a>.
<p>It's a start, the setup process is not as easy I'd want to, but I can assure you it worth going through it!<br />
I'm waiting your feedback by email or directly in the discussion forum in Codeplex.</p>
<p>If people are willing to help the application evolving, let me know!</p>
<p>Concerning the Work Item Creator application, I've added interesting features:</p>
<ul>
<li>Siblings ordering in the hierarchy.</li>
<li>Tree View filtering by Title content and by the following fields of a Work Item: State, Created By, Assigned To, Work Item Type. The possible values are dynamically built, I'm kinda proud of it! :)</li>
<li>The saving process was optimized.</li>
</ul>

]]></description>
			<content:encoded><![CDATA[<div>I&#8217;m pleased to announce you that the Work Item Creator and WINetwork are both available in codeplex: <a href="http://www.codeplex.com/wicreator">http://www.codeplex.com/wicreator</a>.</p>
<p>It&#8217;s a start, the setup process is not as easy I&#8217;d want to, but I can assure you it worth going through it!<br />
I&#8217;m waiting your feedback by email or directly in the discussion forum in Codeplex.</p>
<p>If people are willing to help the application evolving, let me know!</p>
<p>Concerning the Work Item Creator application, I&#8217;ve added interesting features:</p>
<ul>
<li>Siblings ordering in the hierarchy.</li>
<li>Tree View filtering by Title content and by the following fields of a Work Item: State, Created By, Assigned To, Work Item Type. The possible values are dynamically built, I&#8217;m kinda proud of it! <img src='http://c0404161.cdn.cloudfiles.rackspacecloud.com/16442ca129554f399ff7b46457727509' alt=':)' class='wp-smiley' /> </li>
<li>The saving process was optimized.</li>
</ul>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2007/05/09/wicreator-winetwork-released-on-codeplex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>News about WICreator and WINetwork</title>
		<link>http://loicbaumann.blog.com/2007/04/19/news-about-wicreator-and-winetwork/</link>
		<comments>http://loicbaumann.blog.com/2007/04/19/news-about-wicreator-and-winetwork/#comments</comments>
		<pubDate>Fri, 20 Apr 2007 00:54:48 +0000</pubDate>
		<dc:creator>Loïc Baumann</dc:creator>
		
		<category><![CDATA[Team System]]></category>

		<category><![CDATA[WINetwork]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Many people asked if there would be a release of these tools, all I can say so far is "there's a good chance" and it may be open sourced.
<p>To release them I have to enhance things because I really do want them to be highly configurable and adaptable to&#160;your&#160;Process Template. That means I have to be able to deal with any kind of Work Item Types (as long as my three custom fields are declared), custom States, etc.</p>
<p>We use them in production already, and if there's a release, I want any team to be able to use them in production too. Otherwise it would be pointless...</p>
<p>I also want both WICreator and WINetwork to be plugable. The first in-house plugin will be the creation of Work Items from JIRA Issues in WICreator and the workflow synchronization between a Work Item and its corresponding JIRA Issue in the WINetwork.</p>
<p>The wish list for WICreator also includes:</p>
<ul>
<li>Ordered Hierarchy (almost done).</li>
<li>A filter for the TreeView (Work Item Types, States, Owner).</li>
<li>A "Favorites" list for the recent opened databases.</li>
<li>Visual Studio Package instead of a standalone application? (your thought about that is welcomed)</li>
<li>Integration with MS Project Server (in my dreams or at least in a not so near future): linking a Work Item with a MS Project Task, being able to update the task from a Work Item. No more Project Web Access for timesheet updates!</li>
</ul>
<p>Stay tuned!</p>

]]></description>
			<content:encoded><![CDATA[<div>Many people asked if there would be a release of these tools, all I can say so far is &#8220;there&#8217;s a good chance&#8221; and it may be open sourced.</p>
<p>To release them I have to enhance things because I really do want them to be highly configurable and adaptable to&#160;your&#160;Process Template. That means I have to be able to deal with any kind of Work Item Types (as long as my three custom fields are declared), custom States, etc.</p>
<p>We use them in production already, and if there&#8217;s a release, I want any team to be able to use them in production too. Otherwise it would be pointless&#8230;</p>
<p>I also want both WICreator and WINetwork to be plugable. The first in-house plugin will be the creation of Work Items from JIRA Issues in WICreator and the workflow synchronization between a Work Item and its corresponding JIRA Issue in the WINetwork.</p>
<p>The wish list for WICreator also includes:</p>
<ul>
<li>Ordered Hierarchy (almost done).</li>
<li>A filter for the TreeView (Work Item Types, States, Owner).</li>
<li>A &#8220;Favorites&#8221; list for the recent opened databases.</li>
<li>Visual Studio Package instead of a standalone application? (your thought about that is welcomed)</li>
<li>Integration with MS Project Server (in my dreams or at least in a not so near future): linking a Work Item with a MS Project Task, being able to update the task from a Work Item. No more Project Web Access for timesheet updates!</li>
</ul>
<p>Stay tuned!</p>
</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://loicbaumann.blog.com/2007/04/19/news-about-wicreator-and-winetwork/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
