<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Clara's Notes on Technology</title>
        <link>http://geekswithblogs.net/claraoscura/Default.aspx</link>
        <description>Notes to me and the world</description>
        <language>en</language>
        <copyright>Clara Oscura</copyright>
        <managingEditor>clara.bouzasmante@getronics.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Clara's Notes on Technology</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/claraoscura/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Change Excel connection to a team project</title>
            <category>Team System</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2009/06/16/132838.aspx</link>
            <description>&lt;p&gt;Once you have imported a list of work items in excel from a team project in TFS, the excel file always proposes work items from the same team project. It does not seem possible to obtain the "connect to TFS" popup window again, where you choose the team project. This is because the connection is stored as a custom property in the excel file.&lt;/p&gt;
&lt;p&gt;The answer is to delete all custom properties from the file. Go to the main menu and then: P&lt;font face="Arial"&gt;repare / Properties / Document Properties / Advanced Properties / Custom. Delete all "&lt;font face="Arial"&gt;VS Team System Data DO NOT EDIT" properties (the content is encrypted). Do NOT save the file. If you save it, the properties are created again! Just go to the Team menu and choose "New List": you will now be prompted to choose a team project.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;If you need to save the file (you want to keep it without the TFS connection in it), follow the instruction given by Buck Hodges &lt;a href="http://blogs.msdn.com/buckh/archive/2006/07/19/remove-tfs-project-excel.aspx"&gt;here&lt;/a&gt;. Before removing the properites, you have to deactivate the TFS excel add-in.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132838"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132838" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/132838.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2009/06/16/132838.aspx</guid>
            <pubDate>Tue, 16 Jun 2009 08:14:56 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/132838.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2009/06/16/132838.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/132838.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/132838.aspx</trackback:ping>
        </item>
        <item>
            <title>Developing for Mobile (1): On Vista</title>
            <link>http://geekswithblogs.net/claraoscura/archive/2009/05/07/131871.aspx</link>
            <description>&lt;p&gt;I might have to develop an application for a mobile scanning device and I have been playing around with the .NET mobile components in preparation. Not easy at all: the documentation is not very clear and there are lots of different components/versions. Here are some of the problems I encountered and how I solved them.&lt;/p&gt;
&lt;p&gt;My constraints:&lt;/p&gt;
&lt;p&gt;a) My development environment is Windows Vista + VS 2008 Team System.&lt;/p&gt;
&lt;p&gt;b) The device will probably be Datalogic Memor which runs Windows CE 5.0. This means I need to install Windows Mobile 5.0 SDK - the documentation says that it only supports VisualStudio 2005 and Windows XP and that it requires ActiveSync 4.0.&lt;/p&gt;
&lt;p&gt;c) I want to develop with the .NET Compact Framework 3.5 in order to use WCF. This was installed already on my machine.&lt;/p&gt;
&lt;p&gt;So, will all of this work toghether on Vista? Well, it did (unexpectedly).&lt;/p&gt;
&lt;p&gt;The only quirk is that you cannot run ActiveSync 4.0 on Vista. You have to install Windows Mobile Device Center instead.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:94808bef-9757-4a6e-be25-81c6a9d6ba5c" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/Windows%20Mobile"&gt;Windows Mobile&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Pocket%20PC"&gt;Pocket PC&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Windows%20CE"&gt;Windows CE&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Windows%20Vista"&gt;Windows Vista&lt;/a&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=131871"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=131871" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/131871.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2009/05/07/131871.aspx</guid>
            <pubDate>Thu, 07 May 2009 15:26:55 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/131871.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2009/05/07/131871.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/131871.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/131871.aspx</trackback:ping>
        </item>
        <item>
            <title>TFS Warehouse/Cube Processing</title>
            <link>http://geekswithblogs.net/claraoscura/archive/2008/05/28/122447.aspx</link>
            <description>&lt;p&gt;Just to clarify the different tools that you can use to update/recreate the Team Foundation Server warehouse (relational database and OLAP cube).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Warehouse Web Service&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can browse and invoke it here (always locally from TFS): &lt;a href="http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx"&gt;http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Run operation will launch processing of the warehouse (you can check the status of the warehouse with the GetWarehouseStatus operation: it goes from ProcessingAdapters, ProcessingOlap and finally Idle). Processing of the warehouse means (1) pulling data from the operational stores (source control, work items, builds) to the data warehouse relational database, and (2) processing the cube to aggregate the data from the relational database.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;TFSServerScheduler&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Windows service that signals the warehouse web service to go aggregate data and process the cube. This windows service calls the above warehouse run operation at regular intervals.&lt;/p&gt;  &lt;p&gt;To find out when was the last time the scheduler called the warehouse to process, browse to %ProgramFiles%\Microsoft Team Foundation Server 2005\TfsServerScheduler. The xml file in that directory will contain the last time warehouse processing was attempted.&lt;/p&gt;  &lt;p&gt;In Team Foundation2008, the scheduler is called "Visual Studio Team Foundation ServerTask Scheduler".&lt;/p&gt;  &lt;p&gt;Documentation: &lt;a title="http://msdn.microsoft.com/en-us/library/ms252450(VS.80).aspx" href="http://msdn.microsoft.com/en-us/library/ms252450(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms252450(VS.80).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Cube processing&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;You can also process the cube manually from the SQL Server Management Studio. This will only perform the second step above, so if new data has not been transfered from the operational stores to the data warehouse relational database, you will not see any changes.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Setupwarehouse.exe&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can find this tool here: %ProgramFiles%\Microsoft Team Foundation Server 2005\Tools&lt;/p&gt;  &lt;p&gt;It is used to rebuild the OLAP schema and cube or the relational database. This means that it will delete all the data in the TfsWarehouse database and cube. You will neeed to run the warehouse web service afterwards in order to recover&lt;/p&gt;  &lt;p&gt;Documentation: &lt;a title="http://msdn.microsoft.com/en-us/library/ms400783(VS.80).aspx" href="http://msdn.microsoft.com/en-us/library/ms400783(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms400783(VS.80).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;I have noticed that af'ter running Setupwarehouse.exe to rebuild the relational database, some fields are missing. This concerns the Microsoft_VSTS_* fields in the Current Work Item table, for example. As a consequence, some measures are missing from the Team System cube (Current Work Item | Remaining Work, for example). After running the warehouse web service (that pulls data into the relational database) they reappear ...&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:52bd1577-7c64-49b8-8fe9-886ce84b742d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TFS" rel="tag"&gt;TFS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFSServerScheduler" rel="tag"&gt;TFSServerScheduler&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Setupwarehouse" rel="tag"&gt;Setupwarehouse&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Warehouse" rel="tag"&gt;Warehouse&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122447"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122447" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/122447.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2008/05/28/122447.aspx</guid>
            <pubDate>Wed, 28 May 2008 23:07:30 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/122447.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2008/05/28/122447.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/122447.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/122447.aspx</trackback:ping>
        </item>
        <item>
            <title>Migrating TFS2005 to TFS2008 (Process Templates)</title>
            <link>http://geekswithblogs.net/claraoscura/archive/2008/05/28/122446.aspx</link>
            <description>&lt;p&gt;One of my main tasks now that I'm back at work is to migrate our TFS from 2005 to 2008. Our main concern is with process templates. We went to quite a lot of trouble to create our own process template and we do not want to lose that work. &lt;/p&gt;  &lt;p&gt;I posted a &lt;a href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3341140&amp;amp;SiteID=1"&gt;question on MSDN forums&lt;/a&gt; about customized process templates migration without much success. So, I decided to dive in on our test environment and see what happens. &lt;/p&gt;  &lt;p&gt;Test procedure:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Prepare a test machine with Windows Server 2003, TFS2005, VisualStudio 2008 and WSS 2.0.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Install MyCustomTemplate on TFS2005 in test machine.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Create a team project with MyCustomTemplate.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Used &lt;a href="http://www.codeplex.com/tfstotfsmigration"&gt;TFS to TFS migration tool&lt;/a&gt; to migrate a medium-size project from the production TFS to this test TFS (to the team project created in step 3). The tool did not work very well and only part of the source code was migrated (for work items, it worked fine).       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Backup the project portal (see &lt;a href="http://technet.microsoft.com/en-us/library/cc288330.aspx)"&gt;http://technet.microsoft.com/en-us/library/cc288330.aspx)&lt;/a&gt; from our TFS 2005 and restore on test TFS2005.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Updgraded test machine WSS2.0 to WSS3.0. This step is not mentioned in upgrade section of the TFS &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=FF12844F-398C-4FE9-8B0D-9E84181D9923&amp;amp;displaylang=en"&gt;installation guide&lt;/a&gt;! You need to follow the steps under the "Install SharePoint Products and Technologies onWindows Server" section (also explained &lt;a href="http://technet.microsoft.com/en-us/library/cc288753.aspx"&gt;here&lt;/a&gt;). Notice that before running the "Sharepoint Products and Technologies Configuration Wizard", you need to run the prescan tool on all your sites (click help link at the beginning of the wizard for details).       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Upgraded test machine to TFS2008. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Here is a summary of what happened with process templates:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;On TFS 2005, the out-of-the-box templates (MSF4Agile and MSF4CMMI) are version 4.0. &lt;/li&gt;    &lt;li&gt;On TFS 2008, the out-of-the-box templates (MSF4Agile and MSF4CMMI) are version 4.2. &lt;/li&gt;    &lt;li&gt;After migrating, TFS 2008 contained (besides MSF4Agile and MSF4CMMI v4.2) the process templates available in my TFS 2005 (even those not used, customized or not). &lt;/li&gt;    &lt;li&gt;Since the templates were migrated, there was no loss of work items. &lt;/li&gt;    &lt;li&gt;The source code was migrated correctly, including the version control history. &lt;/li&gt;    &lt;li&gt;The project portal was migrated to WSS 3.0 (all content was kept). Of course, given that the Sharepoint template for the project was customized it still look very "WSS 2.0". There is no need to create a WSS 3.0 template for your custom process template before upgrading. &lt;/li&gt;    &lt;li&gt;The builds were also fine. Besides, when using VisualStudio and Team Explorer 2008, the "New build definiton" is now available (with TFS2005 it was greyed). &lt;/li&gt;    &lt;li&gt;The reports were migrated correctly, except for a custom one that didn't work anymore (there was an error in the report - no fault of the upgrade). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Good migration y'all!&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:46f6b834-502f-4912-b1c7-bdfda90c831e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TFS%202008" rel="tag"&gt;TFS 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS" rel="tag"&gt;TFS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Process%20templates" rel="tag"&gt;Process templates&lt;/a&gt;,&lt;a href="http://technorati.com/tags/upgrade" rel="tag"&gt;upgrade&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122446"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122446" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/122446.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2008/05/28/122446.aspx</guid>
            <pubDate>Wed, 28 May 2008 23:06:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/122446.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2008/05/28/122446.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/122446.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/122446.aspx</trackback:ping>
        </item>
        <item>
            <title>I'm back!</title>
            <category>Personal</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2008/05/21/122285.aspx</link>
            <description>&lt;p&gt;I'm back after maternity leave!&lt;/p&gt;
&lt;p&gt; &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/claraoscura/6103/o_PICT0030_p.jpg"&gt;&lt;img height="113" alt="" width="150" border="0" src="/images/geekswithblogs_net/claraoscura/6103/o_PICT0030_p.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It's good to be working again, but I'm not getting much sleep so it's pretty hard.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122285"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=122285" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/122285.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2008/05/21/122285.aspx</guid>
            <pubDate>Wed, 21 May 2008 16:54:21 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/122285.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2008/05/21/122285.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/122285.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/122285.aspx</trackback:ping>
        </item>
        <item>
            <title>Drop All Objects</title>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/08/26/114974.aspx</link>
            <description>&lt;p&gt;Here is a little script I find useful. It drops all tables, views and stored procedures in a database.&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;exec sp_MSforeachtable 'DROP TABLE ? PRINT ''? dropped'' '&lt;br /&gt;GO &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;/* Drop all non-system stored procs */&lt;br /&gt;declare @name varchar(128)&lt;br /&gt;declare @SQL varchar(254) &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;SELECT @name = (select top 1 name FROM sysobjects WHERE type = 'P' And category = 0 order by name)&lt;br /&gt;while @name is not null&lt;br /&gt;begin &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;select @SQL = 'drop procedure [dbo].[' + rtrim(@name) +']'&lt;br /&gt;exec (@SQL) &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;print 'Dropped :' + @name &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;SELECT @name = (select top 1 name FROM sysobjects WHERE type = 'P' And category = 0 and name &amp;gt; @name order by name)&lt;br /&gt;end&lt;br /&gt;go &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;/* Drop all views */&lt;br /&gt;declare @name varchar(128)&lt;br /&gt;declare @SQL varchar(254)&lt;br /&gt;SELECT @name = (select top 1 name FROM sysobjects WHERE type = 'V' And category = 0 order by name)&lt;br /&gt;while @name is not null&lt;br /&gt;begin &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;select @SQL = 'drop view [dbo].[' + rtrim(@name) +']'&lt;br /&gt;exec (@SQL) &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;print 'Dropped :' + @name &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;SELECT @name = (select top 1 name FROM sysobjects WHERE type = 'V' And category = 0 and name &amp;gt; @name order by name)&lt;br /&gt;end &lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font face="Courier New"&gt;go&lt;/font&gt;  &lt;/p&gt;&lt;p&gt; &lt;/p&gt; &lt;p&gt;Please, go ahead to improve it. I'm sure it is far from perfect.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:6879217f-7501-4ba4-ac83-467a435a9b62" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/SQL%20Server" rel="tag"&gt;SQL Server&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114974"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114974" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/114974.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/08/26/114974.aspx</guid>
            <pubDate>Mon, 27 Aug 2007 00:14:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/114974.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/08/26/114974.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/114974.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/114974.aspx</trackback:ping>
        </item>
        <item>
            <title>The maximum nametable character count quota (16384) has been exceeded</title>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/08/20/114806.aspx</link>
            <description>&lt;p&gt;It has been a while since I last posted, but I haven't stopped working :) I am currently on a project involving WPF and WCF. While I am not a big fan of WPF, but I quite like WCF.&lt;/p&gt; &lt;p&gt;During the development of our project we run into a very annoying problem with WCF. After some help from Microsoft, we found a solution at last.&lt;/p&gt; &lt;p&gt;The problem is very easy to describe. On the one side, we have a WCF service running. On the other side, we have a client with a reference with to this service. Now and then, we need to update the service reference (because the service includes new features, for example). You can do this with svcutil or by right clicking on the reference in VisualStudio and choosing the "Update Service Reference" option.&lt;/p&gt; &lt;p&gt;One day, when updating the reference (with svcutil) we got this message: &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;font face="Courier New"&gt;Error: Cannot obtain Metadata from &lt;/font&gt;&lt;a href="http://localhost:8000/businessservice/service/mex"&gt;&lt;font face="Courier New"&gt;http://localhost:8000/businessservice/service/mex&lt;/font&gt;&lt;/a&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;font face="Courier New"&gt;The maximum nametable character count quota (16384) has been exceeded whilereading XML data. The nametable is a data structure used to store strings encountered during XML processing - long XML documents with non-repeating element names, attribute names and attribute values may trigger this quota. This quota may be increased by changing the MaxNameTableCharCount property on the XmlDictionaryReaderQuotas object used when creating the XML reader.&lt;/font&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;After several Google searches, I thought this could be solved by increasing the reader quotas parameters for the metadata exchange binding. This implied some minor changes in the service config file since the the mexBinding configuration section does not provide any properties: you have to use a wsHttpBinding without any security. This is explained &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=587764&amp;amp;SiteID=1"&gt;here&lt;/a&gt; and Michele Leroux Bustamante (an expert on WCF) even provides a couple of samples (config-based sample &lt;a href="http://www.dasblonde.net/downloads/wcf/CustomMexBinding.zip"&gt;here&lt;/a&gt;, and code-based sample &lt;a href="http://www.dasblonde.net/downloads/wcf/CustomMexBindingCode.zip"&gt;here&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;However, this did not help at all. Even setting the reader quotas to the maximum possible values made no difference at all. In the end, Microsoft told me what was wrong: the message refers to the svcutil reader quotas not the service ones! Svcutil has a limit on how much metadata it can read. This limit can be changed with a config file.&lt;/p&gt; &lt;p&gt;The solution is to create a config file for svcutil (see below) and place it in the same folder as the tool. Next time you run svcutil, the config file values will be taken into account.&lt;/p&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&lt;/font&gt; &lt;/p&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;configuration&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;    &amp;lt;system.serviceModel&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;        &amp;lt;bindings&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;            &amp;lt;customBinding&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                &amp;lt;binding name="MyBinding"&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                    &amp;lt;textMessageEncoding&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                        &amp;lt;readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                    &amp;lt;/textMessageEncoding&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                    &amp;lt;httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                &amp;lt;/binding&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;            &amp;lt;/customBinding&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;        &amp;lt;/bindings&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;        &amp;lt;client&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;            &amp;lt;endpoint binding="customBinding" bindingConfiguration="MyBinding"&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                contract="IMetadataExchange"&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;                name="http" /&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;        &amp;lt;/client&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;    &amp;lt;/system.serviceModel&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;/configuration&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&lt;/font&gt; &lt;/p&gt; &lt;p&gt;The MSDN WCF samples contain an &lt;a href="http://msdn2.microsoft.com/en-us/library/aa395212.aspx"&gt;example&lt;/a&gt; of creating this config file, although the main issue is a different one (how to configure svcutil to fetch metadata from a custom endpoint), so it wasn't so obvious to make the connection.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:7f3bb059-c2a8-4902-b9fa-a70396f171be" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;, &lt;a href="http://technorati.com/tags/svcutil" rel="tag"&gt;svcutil&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114806"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114806" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/114806.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/08/20/114806.aspx</guid>
            <pubDate>Mon, 20 Aug 2007 23:36:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/114806.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/08/20/114806.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/114806.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/114806.aspx</trackback:ping>
        </item>
        <item>
            <title>Speaker</title>
            <category>Team System</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/06/02/112934.aspx</link>
            <description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;I will be a speaker at the Micrsoft "Enterprise &amp;amp; Development Summit 2007" in Luxembourg on June 12th. This is equivalent to the Belgian DevDays or the French TechDays. You can find the agenda and details &lt;a href="http://www.microsoft.com/belux/msdn/fr/events/devdays_lux.mspx"&gt;here&lt;/a&gt; (in French).  &lt;/p&gt;&lt;p&gt;My session is about Team System. I will probably give a general overview and a few short demos since there haven't been many event on VSTS in Luxembourg before.  &lt;/p&gt;&lt;p&gt;This is my first (and hopefully not last) time as a speaker. Let's hope I don't get too nervous! :) &lt;/p&gt;&lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:43cc563d-5e81-4f5b-b0a9-e06435119bc3" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Team%20System" rel="tag"&gt;Team System&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Enterprise%20&amp;amp;%20Development%20Summit%202007" rel="tag"&gt;Enterprise &amp;amp; Development Summit 2007&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112934"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112934" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/112934.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/06/02/112934.aspx</guid>
            <pubDate>Sat, 02 Jun 2007 20:53:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/112934.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/06/02/112934.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/112934.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/112934.aspx</trackback:ping>
        </item>
        <item>
            <title>Choosing a Communication Technology</title>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/05/28/112799.aspx</link>
            <description>&lt;p&gt;This week we need to choose the most appropriate communication technology for one of our projects.&lt;/p&gt; &lt;p&gt;The project constraints are the following:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;.NET on both client and server  &lt;/li&gt;&lt;li&gt;client and server on same LAN  &lt;/li&gt;&lt;li&gt;A lot of information to be passed from server to client and vice-versa  &lt;/li&gt;&lt;li&gt;Performance is important  &lt;/li&gt;&lt;li&gt;Typed DataSets will be used on server side  &lt;/li&gt;&lt;li&gt;Presentation layer is developed with WPF  &lt;/li&gt;&lt;li&gt;Security is needed (sensitive or confidential data)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The options we have are the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;ASMX Web Services  &lt;/li&gt;&lt;li&gt;.NET Remoting  &lt;/li&gt;&lt;li&gt;WCF&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;I clearly favour option 3. First, given that this is considered a .NET 3.0 project (the presentation layer will be developed in WPF), I prefer to be consistent and use WCF. Second, the .NET Remoting option is not really an option. We have no experience with it and its future does not seem promising (given the arrival of WCF). If we have to learn something new, we might as well go for WCF.&lt;/p&gt; &lt;p&gt;The advantages of the ASMX Web Service option is that we have a lot of experience with it. However, WCF offers better performance. Given the amount of data that will need to be transferred, I am worried about performance. This &lt;a href="http://msdn2.microsoft.com/en-us/library/bb310550.aspx"&gt;MSDN paper&lt;/a&gt; compares the performance of WCF with existing technologies. The conclusions are the following:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;WCF (basicHttpBinding) is 25%-50% faster than ASMX Web Services  &lt;/li&gt;&lt;li&gt;WCF is approximately 25% faster than .NET Remoting&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;So, now &lt;strong&gt;within WCF&lt;/strong&gt;, what are our options?&lt;/p&gt; &lt;ol&gt; &lt;li&gt;basicHttpBinding : Basically the equivalent of ASMX Web Services in .NET 3.0  &lt;/li&gt;&lt;li&gt;wsHttpBinding : Web Services implementing WS-Security. They offer message-level security: authentication, encryption and signing.  &lt;/li&gt;&lt;li&gt;netTcpBinding: The "equivalent" of .NET Remoting in .NET 3.0, with the advantage that it is easier to code (given the standardization of all communication techniques)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;For a table comparing the different bindings, &lt;a href="http://pluralsight.com/blogs/aaron/archive/2007/03/22/46560.aspx"&gt;here&lt;/a&gt; or this MSDN article.&lt;/p&gt; &lt;p&gt;I have not been able to find a Microsoft article comparing the performance of the different bindings (besides &lt;a href="http://msdn2.microsoft.com/en-us/library/ms733769.aspx"&gt;this one&lt;/a&gt;) but this is what I have picked up from different blogs and forums. &lt;/p&gt; &lt;ul&gt; &lt;li&gt; netTcpBinding should be the fastest, given the binary serialization (vs. Text in basicHttpBinding). However, you should we aware of their different default settings when comparing them. netTcpBinding and wsHttpBinding both have security enabled by default (at transport and message level respectively), and the later has ReliableSessions turned on (source: &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=305466&amp;amp;SiteID=1"&gt;here&lt;/a&gt; and &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=379645&amp;amp;SiteID=1"&gt;here&lt;/a&gt;). I read somewhere (sorry ... lost the URL) that it is 25%-50% faster than basicHttpBinding.  &lt;/li&gt;&lt;li&gt;basicHttpBinding gives pretty good performance compared to ASMX Web Services and, given that there is no security, even compared to wsHttpBinding and netTcpBinding. A couple of extra tips to increase its performance even more:  &lt;ul&gt; &lt;li&gt;do not send the DataSet schema  &lt;/li&gt;&lt;li&gt;use MTOM encoding instead of Text ("MTOM is a mechanism for transmitting large binary attachments with SOAP messages as raw bytes, allowing for smaller messages")&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In my opinion, &lt;strong&gt;netTcpBinding&lt;/strong&gt; is a very good option for us given its good performance and security options. On the other hand, it does not respect the tenets of SOA. But ... do we really need SOA? We are dealing with an application that will be deployed inside a LAN and where both client and server are implemented in .NET. Moreover, if we are going to send typed DataSets from server to client (very probable), we have already broken the tenets of SOA.&lt;/p&gt; &lt;p&gt;As for security options in netTcpBinding that might reduce the performance advantage, we can go for the lightest option which is transport security (source: &lt;a href="http://blogs.msdn.com/drnick/archive/2007/02/02/bindings-for-workgroups.aspx"&gt;here&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;I don't think basicHttpBinding with MTOM encoding is good option for us because MTOM is particularly interesting when sending large binary items (such as pictures, videos, etc.): "the &lt;a href="http://www.w3.org/tr/soap12-mtom/"&gt;MTOM&lt;/a&gt; standard allows for externalizing large data elements that are contained in a message and to carry them with the message as binary data without any special encoding" (source: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms733742.aspx"&gt;MSDN&lt;/a&gt;). And not sending the DataSet schema reduces message size significantly only when few data is sent. As the message contains more data, the proportion of space taken up by the schema drastically diminishes.&lt;/p&gt; &lt;p&gt;The wsHttpBinding is very interesting if you need to implement the WS-* standards, which is not our case. Admittedly, you can also use wsHttpBindings if you want Web Services (to be SOA compliant) and you need full security. But the whole WS-* paraphernalia clearly impacts performance ...&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;To finish up, just a link to one of the leading WCF experts: &lt;a href="http://www.dasblonde.net/"&gt;Michele Leroux Bustamante&lt;/a&gt; (she must have some Spanish blood with a surname like that!) &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:98c0c77f-9814-4b5c-a61d-6ecb15080340" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Indigo" rel="tag"&gt;Indigo&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Web%20Services" rel="tag"&gt;Web Services&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112799"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112799" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/112799.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/05/28/112799.aspx</guid>
            <pubDate>Mon, 28 May 2007 21:42:33 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/112799.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/05/28/112799.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/112799.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/112799.aspx</trackback:ping>
        </item>
        <item>
            <title>BizTalk HL7 end-to-end tutorial error</title>
            <category>BizTalk</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/03/16/108972.aspx</link>
            <description>&lt;p&gt;While preparing a POC with BizTalk 2006 and the accelerator for HL7 1.3, I realized there is a little error in the &lt;a href="http://www.microsoft.com/technet/prodtechnol/biztalk/2006/library/hl7/90625edc-70a0-42c9-a2fb-8eeb5465d766.mspx"&gt;end-to-end tutorial&lt;/a&gt;&amp;nbsp;(also in &amp;lt;drive&amp;gt;:\Program Files\Microsoft BizTalk Accelerator for HL7 1.3\SDK\End-to-End Tutorial).&lt;/p&gt; &lt;p&gt;In the "TutorialSampleInstance.txt" the name of the source (MSH3) is "ADTSystem", while the name of the party in both BizTalk Administration and BTAHL7 is "Tutorial_ADTSystem". The consequence is that no ACK or RX messages are generated. &lt;/p&gt; &lt;p&gt;To solve it, just change the name of the MSH3 in "TutorialSampleInstance.txt" to "Tutorial_ADTSystem".&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:da6c9735-e6b6-4d73-9fc7-24e7a3bc19cb" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/BizTalk" rel="tag"&gt;BizTalk&lt;/a&gt;, &lt;a href="http://technorati.com/tags/HL7" rel="tag"&gt;HL7&lt;/a&gt;, &lt;a href="http://technorati.com/tags/end-to-end%20tutorial" rel="tag"&gt;end-to-end tutorial&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108972"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108972" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/108972.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/03/16/108972.aspx</guid>
            <pubDate>Fri, 16 Mar 2007 13:59:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/108972.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/03/16/108972.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/108972.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/108972.aspx</trackback:ping>
        </item>
        <item>
            <title>Being a Woman in IT</title>
            <category>Girl Stuff</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/03/09/108357.aspx</link>
            <description>&lt;p&gt;I've been in IT now for about&amp;nbsp;5 years (2 years&amp;nbsp;studying, 3 working). This is a very masculine field&amp;nbsp;and, though&amp;nbsp;I have often talked about it with&amp;nbsp;colleagues (both male and female), the truth is that&amp;nbsp;I have never been the object of any ironic remarks or felt I was being discriminated in any way, except for this week!&lt;/p&gt; &lt;p&gt;In the space of 3 days, two fun/ironic remarks on women and IT. No malice intended, I think, but still ... I didn't find them that funny (especially the first one).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Remark #1&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;(From a guy I met at a conference)&lt;/p&gt; &lt;p&gt;Guy: "So you work with BizTalk ... Somehow, that seems strange."&lt;/p&gt; &lt;p&gt;Me: "Strange? Why?"&lt;/p&gt; &lt;p&gt;Guy: "Well, you know, women and BizTalk? I can't picture the two together. BizTalk is difficult."&lt;/p&gt; &lt;p&gt;Me (thinking): "Is he joking or is he just a dork?"&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Remark #2&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;(Via e-mail, from a developer working for one of my clients)&lt;/p&gt; &lt;p&gt;Me: "Hi Andy! Did that thing I sent you work?" [A week ago I sent him an MSBuild task and script to add to his TFS build scripts]&lt;/p&gt; &lt;p&gt;Andy: "I haven't had the time to test it yet.'&lt;/p&gt; &lt;p&gt;Me: "Ok. No problem. Just curious." [I sent him the code without testing]&lt;/p&gt; &lt;p&gt;Andy: "Just like all woman :)"&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And yesterday was &lt;a href="http://en.wikipedia.org/wiki/International_Women%27s_Day"&gt;International Women's Day&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:1ac95348-d1db-4c7e-b4d3-78583c07d936" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/women" rel="tag"&gt;women&lt;/a&gt;, &lt;a href="http://technorati.com/tags/IT" rel="tag"&gt;IT&lt;/a&gt;, &lt;a href="http://technorati.com/tags/geek%20girl" rel="tag"&gt;geek girl&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108357"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108357" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/108357.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/03/09/108357.aspx</guid>
            <pubDate>Fri, 09 Mar 2007 19:12:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/108357.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/03/09/108357.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/108357.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/108357.aspx</trackback:ping>
        </item>
        <item>
            <title>Reporting Services and XML Data Sources</title>
            <category>Reporting Services</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/02/23/107071.aspx</link>
            <description>&lt;p&gt;I have spent quite some time latetly creating two SQL Server Reporting Services reports that read data from a Web services. Given that I had to solve a couple of non-trivial issues and that I did not find much documentation, I have written&amp;nbsp;a&amp;nbsp;few&amp;nbsp;tips in this &lt;a href="http://geekswithblogs.net/claraoscura/articles/107070.aspx"&gt;article&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tip 1: How to specify the value of the WS complex type parameter?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tip 3: How to&amp;nbsp;pass another dataset as&amp;nbsp;&amp;nbsp;XML to the Web service?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tip 2: How to read XML from a database without truncation of the results?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:acef72ce-0abe-4e23-a10f-1e94e64caf66" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/SQL%20Server" rel="tag"&gt;SQL Server&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SSRS" rel="tag"&gt;SSRS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Reporting%20Services" rel="tag"&gt;Reporting Services&lt;/a&gt;, &lt;a href="http://technorati.com/tags/XML" rel="tag"&gt;XML&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=107071"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=107071" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/107071.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/02/23/107071.aspx</guid>
            <pubDate>Fri, 23 Feb 2007 13:48:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/107071.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/02/23/107071.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/107071.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/107071.aspx</trackback:ping>
        </item>
        <item>
            <title>Witimport and opened work items</title>
            <category>Team System</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/02/08/105754.aspx</link>
            <description>&lt;p&gt;Be careful not to have any work items open in Visual Studio&amp;nbsp;when updating their definitions with witimport because they will not be modified&lt;/p&gt; &lt;p&gt;Suppose you have been checking your tasks and one is open in Visual Studio (I'm not referring to status here, I just mean open in a window). Then, you proceed to run witimport with the task definition. All tasks except the one open will be updated. You will have to close the task and run witimport again.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:9c091f00-5d6b-4dcf-af3a-26fbe5753866" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Team%20System" rel="tag"&gt;Team System&lt;/a&gt;, &lt;a href="http://technorati.com/tags/witimport" rel="tag"&gt;witimport&lt;/a&gt;, &lt;a href="http://technorati.com/tags/work%20item" rel="tag"&gt;work item&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105754"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105754" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/105754.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/02/08/105754.aspx</guid>
            <pubDate>Thu, 08 Feb 2007 14:29:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/105754.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/02/08/105754.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/105754.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/105754.aspx</trackback:ping>
        </item>
        <item>
            <title>MSF: Tracks, workstreams, activities, areas and iterations (III)</title>
            <category>MSF</category>
            <category>Team System</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/02/06/105602.aspx</link>
            <description>&lt;p&gt;After clarifying the concepts of tracks, workstreams and activities (see these previous posts), we still felt something was missing in&amp;nbsp;our process template (based on "MSF for CMMI").&lt;/p&gt; &lt;p&gt;A couple of our developers have been working on a lists of tasks for a recent project. They are not involved in the Team System rollout so they are not aware of any of the MSF concepts mentioned earlier. They have organized the work in a hierarchy. For example:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Database schema creation  &lt;ul&gt; &lt;li&gt;Analyse DTS file  &lt;li&gt;Analyse Excel file  &lt;li&gt;Create data access layer  &lt;ul&gt; &lt;li&gt;Reporting System  &lt;ul&gt; &lt;li&gt;Report1  &lt;li&gt;Report2&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Search System  &lt;ul&gt; &lt;li&gt;Functionality1  &lt;li&gt;Functionality2&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Application development  &lt;ul&gt; &lt;li&gt;Define look and feel  &lt;li&gt;Design UI  &lt;li&gt;Write UI  &lt;ul&gt; &lt;li&gt;Reporting System  &lt;ul&gt; &lt;li&gt;Report1  &lt;li&gt;Report2&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Search System  &lt;ul&gt; &lt;li&gt;Functionality1  &lt;li&gt;Functionality2&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I&amp;nbsp;conclude the following points from the list above:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;"Reporting System" and "Search System" clearly correspond to Areas since they refer to components of the application.  &lt;li&gt;Some points&amp;nbsp;try to&amp;nbsp;recreate tracks and workstreams (i.e. general phases and steps in software development lifecylce). For instance, "Application development"&amp;nbsp;and "Design UI" could be mapped to "Build/Implement a Development Task/Design" (Track/Workstream/Activity).  &lt;li&gt;Some points are a way to group smaller tasks under a same title. For instance, "Create data access layer".&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The final&amp;nbsp;question is:&amp;nbsp;Are areas and iterations enough&amp;nbsp;to classify work items? Or do we need some extra fields?&lt;/p&gt; &lt;p&gt;Point 1 can be taken into account with the default work items by using the area field. Point 2 does not need to appear in the work items because these concepts belong to the process guidance (if you disagree with this, I would love to hear your comments). Point 3 would be nice to have ...&amp;nbsp; I'm not yet convinced&amp;nbsp;extra fields are needed&amp;nbsp;once we split our project carefully into areas and iterations.&amp;nbsp;But&amp;nbsp;it would certainly be nice to have some sort of super-task work item that would be the parent of other tasks. I am probably going to try the TeamRM plug-in from &lt;a href="http://www.notionsolutions.com/"&gt;Notion Solutions Inc&lt;/a&gt; (you can download it&amp;nbsp;from &lt;a href="http://teamsystemrocks.com/files/12/tools/default.aspx"&gt;teamsystemrocks&lt;/a&gt;) to do this.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:22be9273-7b2a-4d6f-9ec4-4b9d69959558" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Team%20System" rel="tag"&gt;Team System&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Process%20Guidance" rel="tag"&gt;Process Guidance&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105602"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105602" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/105602.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/02/06/105602.aspx</guid>
            <pubDate>Wed, 07 Feb 2007 02:56:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/105602.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/02/06/105602.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/105602.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/105602.aspx</trackback:ping>
        </item>
        <item>
            <title>MSF: Tracks, workstreams, activities, areas and iterations (II)</title>
            <category>MSF</category>
            <category>Team System</category>
            <link>http://geekswithblogs.net/claraoscura/archive/2007/02/06/105600.aspx</link>
            <description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;A few days ago I blogged about a discussion about MSF workstreams, activities, areas and iterations we had at the office (you can read about it &lt;a href="http://geekswithblogs.net/claraoscura/archive/2007/01/20/104059.aspx"&gt;here&lt;/a&gt;). The final decision (that I did not favour) was to include in our work items a field to indicate the current track/workstream/activity. The possible values were hardcoded like this:  &lt;/p&gt;&lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/claraoscura/6103/o_twa2.JPG" /&gt;  &lt;/p&gt;&lt;p&gt;The reason I did not like these customization is that I believe this information has no place in work items.  &lt;/p&gt;&lt;p&gt;Workstreams and activities are like cooking recipes and their steps. Asking team members to indicate the current track/workstream/activity whenever they create or edit a workitem is like asking a cook to indicate at which step in a recipe they are after performing each step. It might be interesting to demand this meta-reflection as a way to make sure a team is following the process, but I do think this is practical or useful in everyday life.  &lt;/p&gt;&lt;p&gt;The purpose of work items is to monitor work. Tracks, workstreams and activities are part of the process guidance.  &lt;/p&gt;&lt;p&gt;The process guidance tells you how to do it. Work items track the work that you are doing. The following diagram (which I have seen in Team System presentations by Microsoft people) clearly shows this idea:  &lt;/p&gt;&lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/claraoscura/6103/o_VSTS-MSF.jpg" /&gt; &lt;/p&gt; &lt;p&gt;So, we have decided to remove the hard-coded workstreams and activities lists from our work items. However, the discussion is still alive (see next posts). &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:a8e72b75-df1d-417a-9045-80679f13f1e2" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Team%20System" rel="tag"&gt;Team System&lt;/a&gt;, &lt;a href="http://technorati.com/tags/MSF%204.0" rel="tag"&gt;MSF 4.0&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Process%20Guidance" rel="tag"&gt;Process Guidance&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105600"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=105600" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claraoscura/aggbug/105600.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Clara Oscura</dc:creator>
            <guid>http://geekswithblogs.net/claraoscura/archive/2007/02/06/105600.aspx</guid>
            <pubDate>Wed, 07 Feb 2007 02:31:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/claraoscura/comments/105600.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/claraoscura/archive/2007/02/06/105600.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/claraoscura/comments/commentRss/105600.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/claraoscura/services/trackbacks/105600.aspx</trackback:ping>
        </item>
    </channel>
</rss>