Francis K. Cheung

The journey of an agile programmer...

  • Francis K. Cheung

    SHIPPED!!! SharePoint Guidance

    • 1 Comments
    We’ve completed version 1 of the patterns & 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...
  • Francis K. Cheung

    Typemock ships Isolator for SharePoint

    • 0 Comments
    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...
  • Francis K. Cheung

    Unit Testing SharePoint 2007 Applications

    • 10 Comments
    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...
  • Francis K. Cheung

    SHIPPED!!! Composite Application Guidance for WPF June 2008

    • 1 Comments
    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&displaylang=en I didn't notice how much hard work...
  • Francis K. Cheung

    ActiveAware Views and Commands

    • 0 Comments
    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 "Save...
  • Francis K. Cheung

    Poor man's UI Composition

    • 1 Comments
    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...
  • Francis K. Cheung

    Decoupled Communication with Prism (Event Aggregation)

    • 5 Comments
    In my previous post, I discussed commanding and how you can hook up invokers (e.g. buttons and menu items), global CompositeCommands, and module level command instances. If you need the sending of a message to be initiated by a user gesture such as a...
  • Francis K. Cheung

    Decoupled Communication with Prism (Commanding)

    • 6 Comments
    WPF provides RoutedCommand which is great at connecting command invokers such as menu items and buttons with command handlers that are associated with the current item in the visual tree that has keyboard focus. However we had several scenarios that Prism...
  • Francis K. Cheung

    Decoupled Communication with Prism (Shared Services)

    • 4 Comments
    One common method of cross module communication is through shared services. Let's say our application is composed of a shell application and various module assemblies. Our shell app provides several core services such as logging, authentication, and service...
  • Francis K. Cheung

    Decoupled Communication with Prism (intro)

    • 5 Comments
    When building large complex applications, a common approach is to divide up the functionality into discrete module assemblies. Even further it is desirable to not have static references between these modules. This allows the modules to be more easily...
  • Francis K. Cheung

    TDD and Isolating Dependencies

    • 0 Comments
    Michael Puleio and I recently gave a few talks on Test Driven Development (TDD). Several developers in our audience told us about how difficult their unit testing was due to instability of dependent services. They did not see how TDD could help them....
  • Francis K. Cheung

    DI or not DI

    • 2 Comments
    One of the first assumptions floating around the PRISM team room was the use of an Inversion of Control container to provide dependency injection. At this point in the project, I've fought against making any and all assumptions that increase complexity...
  • Francis K. Cheung

    Composite WPF Guidance

    • 5 Comments
    A month ago I started working on a new project within patterns & practices: Composite WPF (code name PRISM). If you're curious about the name PRISM, please read Glenn's blog entry . We are looking to provide guidance on how to create modular, composible...
  • Francis K. Cheung

    Create a Remaining vs Completed Work report using TFS, SQL Analysis Services, and Excel

    • 2 Comments
    If you use the MSF Agile process template, you can leverage the Remaining Work and Completed Work fields defined in the Task work items. I will show you how to create a report in Excel that shows Remaining Work and Completed Work values changing...
  • Francis K. Cheung

    VSIP Product Load Keys

    • 0 Comments
    I went through the process to request and install VSIP PLK's for the Process Editor Tool. The tool actually needs two PLKs: one for the Process Editor VS Package and another for the Work Item Type Editor VS Package. Please note that the new instructions...
  • Francis K. Cheung

    Microsoft Visual Studio Team System Process Editor

    • 1 Comments
    As I mentioned in my previous posting , the Microsoft Visual Team System Process Editor was based on the ImagiNets Work Item Editor tool. The tool was originally a standalone application, but with Alan Wills' help, we integrated the tool into Visual Studio...
  • Francis K. Cheung

    Helping improve Microsoft Solutions Framework

    • 1 Comments
    I’ve been working with the Microsoft Solutions Framework team since July 2006. We’ve been working on three main fronts: Adding DB Pro content to both MSF CMMI and Agile process guidance : The DB Pro team has done some awesome work especially...
  • Francis K. Cheung

    Running VSTS unit tests on WM5 devices

    • 4 Comments
    Porting Code and Unit Tests to the device: After much work, we ported the source code and unit tests from the desktop versions of CompositeUI, CompositeUI.Winforms, and ObjectBuilder projects to corresponding Windows Mobile 5.0 Pocket PC projects...
  • Francis K. Cheung

    Mobile CAB Notes

    • 0 Comments
    Module Deployment and Dependencies When you create modules based on CAB, they're not automatically copied to the device because the shell has no reference to the modules. Here is what you have to do in order to get these assemblies deployed to...
  • Francis K. Cheung

    Limitations of Mobile CAB relative to full CAB

    • 0 Comments
    This document contains a list of limitations the CF version of CAB has compared with the desktop version. Events We were unable to provide support for generic event publications and subscriptions. As a result, right now publications and subscriptions...
  • Francis K. Cheung

    Differences between full .NET framework and .NETcf

    • 0 Comments
    Here are some differences we've discovered between the desktop and compact framework. methodInfo.Invoke: Exceptions raised by a dynamic invoke are raised a little differently. The dekstop wraps the raised exception inside a System.Exception instance...
  • Francis K. Cheung

    Porting Issues: CompositeUI.Winforms Unit Tests

    • 0 Comments
    Issue 1: .NET CF Does not support System.Windows.Forms.GiveFeedbackEventArgs and DragEventArgs. In general lacks design time support. (resolution: short term - remove design time support, long term...) Issue 2: .NET CF Does...
  • Francis K. Cheung

    Porting Issues: CompositeUI.Winforms assembly

    • 1 Comments
    Issue 1: .NET CF Does not support System.Windows.Forms.GiveFeedbackEventArgs and DragEventArgs. In general lacks design time support. (resolution: short term - remove design time support, long term...) Issue 2: .NET CF Does...
  • Francis K. Cheung

    Porting Issues: CompositeUI Unit Tests

    • 0 Comments
    Generic Support We had to remove support for generic events/delegates. Here are the unit tests that we commented out: CanRegisterGenericEventHandlerSignatures SubscriberHandlesGenericEvent GenericSubscribersCanBeUsed Threading...
  • Francis K. Cheung

    Porting Issues: CompositeUI assembly

    • 0 Comments
    Issue 1: .NET CF Does not support System.Runtime.Serialization The follow types have been given the Serializable attribute: CyclicDependencyFoundException State StateElement StateException BuilderStrategyException AdapterMapServiceException...
Page 2 of 3 (53 items) 123