<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Francis K. Cheung</title><link>http://blogs.msdn.com/francischeung/default.aspx</link><description>The journey of an agile programmer...</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SPG Continuous Integration builds not run on instance of SharePoint</title><link>http://blogs.msdn.com/francischeung/archive/2009/06/24/spg-continuous-integration-builds-not-run-on-instance-of-sharepoint.aspx</link><pubDate>Wed, 24 Jun 2009 21:53:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9801886</guid><dc:creator>fcheung</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9801886.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9801886</wfw:commentRss><description>Our Continuous Integration builds are run on a build server that has the necessary SharePoint assemblies, but with no installed instance of SharePoint. Licensing issues aside, this causes an interesting problem when unit tests are developed on dev boxes...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/06/24/spg-continuous-integration-builds-not-run-on-instance-of-sharepoint.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9801886" width="1" height="1"&gt;</description></item><item><title>Using Typemock Isolator for Integration Tests</title><link>http://blogs.msdn.com/francischeung/archive/2009/06/24/using-typemock-isolator-for-integration-tests.aspx</link><pubDate>Wed, 24 Jun 2009 21:52:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9801885</guid><dc:creator>fcheung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9801885.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9801885</wfw:commentRss><description>Yeah, I know. Typemock Isolator is great for unit testing against API’s that are hard to mock, but this last iteration, I found a new use for Typemock Isolator. I worked with our test team to develop a set of integration tests that are run by MSTest and...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/06/24/using-typemock-isolator-for-integration-tests.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9801885" width="1" height="1"&gt;</description></item><item><title>What happened to my SPContext?</title><link>http://blogs.msdn.com/francischeung/archive/2009/06/24/what-happened-to-my-spcontext.aspx</link><pubDate>Wed, 24 Jun 2009 21:52:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9801884</guid><dc:creator>fcheung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9801884.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9801884</wfw:commentRss><description>This last iteration, we ran an interesting issue when services that we request through the SharePointServiceLocator depend on SPContext.Current. This seemed like a reasonable dependency assumption. We consume these services in feature receivers. They...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/06/24/what-happened-to-my-spcontext.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9801884" width="1" height="1"&gt;</description></item><item><title>Stack Overflow when building up SiteMap structure</title><link>http://blogs.msdn.com/francischeung/archive/2009/06/05/stack-overflow-when-building-up-sitemap-structure.aspx</link><pubDate>Fri, 05 Jun 2009 19:34:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701574</guid><dc:creator>fcheung</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9701574.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9701574</wfw:commentRss><description>In iteration 10, we wrote HierarchicalConfigSiteMapProvider that builds up a tree of sitemap nodes based on xml retrieved from the hierarchical ConfigManager. Being a newbie with SiteMapProviders, I overwrote BuildSiteMap calling a simple recursive method...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/06/05/stack-overflow-when-building-up-sitemap-structure.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9701574" width="1" height="1"&gt;</description></item><item><title>Granularity of SharePoint Features and Solutions</title><link>http://blogs.msdn.com/francischeung/archive/2009/06/05/granularity-of-sharepoint-features-and-solutions.aspx</link><pubDate>Fri, 05 Jun 2009 17:57:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701425</guid><dc:creator>fcheung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9701425.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9701425</wfw:commentRss><description>In our SPG v1 guidance we discussed packaging site elements into features. This is particularly important if you are using the Visual Studio extensions for WSS. We found that whenever you add a site element into a VSeWSS project, a new feature is created...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/06/05/granularity-of-sharepoint-features-and-solutions.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9701425" width="1" height="1"&gt;</description></item><item><title>SPG v2 Iteration 10 Drop</title><link>http://blogs.msdn.com/francischeung/archive/2009/06/02/spg-v2-iteration-10-drop.aspx</link><pubDate>Tue, 02 Jun 2009 09:54:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9683916</guid><dc:creator>fcheung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9683916.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9683916</wfw:commentRss><description>Iteration 10 is complete and the drop can be downloaded here . In iteration 10 we mainly concentrated on refactoring, code cleanup and reusable assets. We will continue refactoring and scrubbing the code in the remaining iterations but please take a look...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/06/02/spg-v2-iteration-10-drop.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9683916" width="1" height="1"&gt;</description></item><item><title>SharePoint Development Guidance v2</title><link>http://blogs.msdn.com/francischeung/archive/2009/01/20/sharepoint-development-guidance-v2.aspx</link><pubDate>Tue, 20 Jan 2009 05:09:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9341339</guid><dc:creator>fcheung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9341339.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9341339</wfw:commentRss><description>We are now full speed a head working on v2 of the p&amp;amp;p SharePoint Guidance. Version 1 focused on issues common to both WSS and MOSS development like unit testing, deployment, and upgrading. For version 2, we’re looking at the following topics: Performance...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/01/20/sharepoint-development-guidance-v2.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9341339" width="1" height="1"&gt;</description></item><item><title>Sometimes Typemock Isolator can be too powerful</title><link>http://blogs.msdn.com/francischeung/archive/2009/01/19/sometimes-typemock-isolator-can-be-too-powerful.aspx</link><pubDate>Mon, 19 Jan 2009 20:36:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9340410</guid><dc:creator>fcheung</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9340410.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9340410</wfw:commentRss><description>A colleague made the comment regarding Typemock Isolator: “but be aware that having such a powerful mocking facility may reduce the effectiveness of your unit tests as design aids”. I’ve used Typemock Isolator and it allows you to test your business logic...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2009/01/19/sometimes-typemock-isolator-can-be-too-powerful.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9340410" width="1" height="1"&gt;</description></item><item><title>Trying to use Unit Tests as Integration Tests</title><link>http://blogs.msdn.com/francischeung/archive/2008/12/18/trying-to-use-unit-tests-as-integration-tests.aspx</link><pubDate>Thu, 18 Dec 2008 10:37:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9234945</guid><dc:creator>fcheung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9234945.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9234945</wfw:commentRss><description>We shipped v1 of the SharePoint Guidance with a good set of unit tests. These unit tests paid for themselves several times over each time we refactored the code base. As an agile developer, this made me very happy. After we shipped, my project manager,...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/12/18/trying-to-use-unit-tests-as-integration-tests.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9234945" width="1" height="1"&gt;</description></item><item><title>SHIPPED!!! SharePoint Guidance</title><link>http://blogs.msdn.com/francischeung/archive/2008/12/18/shipped-sharepoint-guidance.aspx</link><pubDate>Thu, 18 Dec 2008 08:24:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9234425</guid><dc:creator>fcheung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9234425.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9234425</wfw:commentRss><description>We’ve completed version 1 of the patterns &amp;amp; practices SharePoint Guidance . The major stories we covered in this release are: Architectural decisions about patterns, feature factoring, and packaging. Design tradeoffs for common decisions many developers...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/12/18/shipped-sharepoint-guidance.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9234425" width="1" height="1"&gt;</description></item><item><title>Typemock ships Isolator for SharePoint</title><link>http://blogs.msdn.com/francischeung/archive/2008/11/25/typemock-ships-isolator-for-sharepoint.aspx</link><pubDate>Tue, 25 Nov 2008 23:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9142717</guid><dc:creator>fcheung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/9142717.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=9142717</wfw:commentRss><description>Our friends at Typemock have made it much more affordable to unit test SharePoint applications. With an introductory price of $99, they have shipped Isolator for SharePoint which is basically the same the full Isolator product except that it will only...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/11/25/typemock-ships-isolator-for-sharepoint.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9142717" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/francischeung/archive/tags/SharePoint+unit+test+Typemock+mock/default.aspx">SharePoint unit test Typemock mock</category></item><item><title>Unit Testing SharePoint 2007 Applications</title><link>http://blogs.msdn.com/francischeung/archive/2008/08/22/unit-testing-sharepoint-2007-applications.aspx</link><pubDate>Fri, 22 Aug 2008 18:58:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8888087</guid><dc:creator>fcheung</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/8888087.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=8888087</wfw:commentRss><description>When developing SharePoint applications, it is common to develop custom: ASP.NET Web Forms WebParts Event Receivers Workflow coding activities One of the first things we noticed when trying to unit test our business logic is that our code will heavily...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/08/22/unit-testing-sharepoint-2007-applications.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8888087" width="1" height="1"&gt;</description></item><item><title>SHIPPED!!! Composite Application Guidance for WPF June 2008</title><link>http://blogs.msdn.com/francischeung/archive/2008/07/17/shipped-composite-application-guidance-for-wpf-june-2008.aspx</link><pubDate>Thu, 17 Jul 2008 04:01:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8741368</guid><dc:creator>fcheung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/8741368.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=8741368</wfw:commentRss><description>Here is the landing page: http://msdn.microsoft.com/en-us/library/cc707819.aspx Here is the download page: http://www.microsoft.com/downloads/details.aspx?FamilyId=6DD3D0C1-D5B4-453B-B827-98E162E1BD8D&amp;amp;displaylang=en I didn't notice how much hard work...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/07/17/shipped-composite-application-guidance-for-wpf-june-2008.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8741368" width="1" height="1"&gt;</description></item><item><title>ActiveAware Views and Commands</title><link>http://blogs.msdn.com/francischeung/archive/2008/07/16/activeaware-views-and-commands.aspx</link><pubDate>Wed, 16 Jul 2008 18:46:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8739023</guid><dc:creator>fcheung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/8739023.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=8739023</wfw:commentRss><description>It occurred to me after a recent advisory board call that we haven't done a good job of communicating the scenarios that prompted the development of ActiveAware views and commands. Let me describe this functionality in terms of the ability to &amp;quot;Save...(&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/07/16/activeaware-views-and-commands.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8739023" width="1" height="1"&gt;</description></item><item><title>Poor man's UI Composition</title><link>http://blogs.msdn.com/francischeung/archive/2008/06/16/poor-man-s-ui-composition.aspx</link><pubDate>Mon, 16 Jun 2008 19:04:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8605866</guid><dc:creator>fcheung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/francischeung/comments/8605866.aspx</comments><wfw:commentRss>http://blogs.msdn.com/francischeung/commentrss.aspx?PostID=8605866</wfw:commentRss><description>I've consistently pushed for simplicity on the Prism project. This was evident when we worked on our first feature: UI composition (View from one module is composed of view(s) from other module(s)). In CAB, we developed Workspaces to provide this functionality....(&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/06/16/poor-man-s-ui-composition.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8605866" width="1" height="1"&gt;</description></item></channel></rss>