MPj04225120000[1]

We're past the trailers and it's the morning before opening night (not literally :) ). For the past few months my team has been packaging up the next version of Web Client Software Factory. Well now we're oh so close to being done.

What's so big about WCSF 2.0? Well, here's a partial list.

  • Fully supports Visual Studio 2008 and Visual Studio 2005!!!!!
  • New support for Dependency Injection on Master Pages, User Controls and ASMX web services. This means MVP on user controls.
  • We've overhauled performance by making significant improvements to ObjectBuilder.
  • We've added new AJAX extenders for building ASP.NET AJAX LOB solutions.
  • New Quickstarts and Documentation on Composite patterns including IOC, DI, Service Locator, Modularity and MVP
  • New Order Entry Reference Implementation which demonstrates all the new capabilities.

As I mentioned this is a partial list, below is a detailed breakdown of everything you'll find in the box.

Application Blocks

  • Composite Web Application Block (CWAB)
    • Support for MVP in user-controls, master-pages and ASMX
    • Type mapping for dependency injection (allows specifying which concrete type should be returned for an interface)
    • StateDependencyAttribute - Injects values from state into constructor and method parameters, and properties
    • Added service registration through configuration
  • Object Builder
    • New construction strategy emits IL for instantiating objects.

Guidance Package (new recipes)

  • Create new Solutions
  • Create Business Module
  • Create Foundational Module
  • Add Page (with Presenter)
  • Add Master Page (with Presenter)
  • Add User Control (with Presenter)
  • Enable AJAX Recipe (upgrades a VS2005 web solution to use AJAX)

Web Controls

  • ObjectContainerDatasource - Allows binding data through the Presenters when using MVP
  • ContextSensitiveAutocompleteExtender - Autocompletion that is filtered by other controls on the page
  • ServerSideValidationExtender - Invokes ASP.NET server side validators from the client via ASP.NET AJAX
  • RealTimeSearchMonitor - Aids in building AJAX style search forms where results are instantly returned as criteria are entered.

Quick Starts

  • AJAX Validation - Demonstrates using the ServerSideValidationExtender
  • Autocomplete - Demonstrates using the ContextSensitiveAutocompleteExtender
  • Real-Time Search - Demonstrates using the RealTimeSearchMonitor
  • Model-View-Presenter - Demonstrates implementing Passive View and Supervising Controller with and without CWAB.
  • Modularity - Demonstrates loading modules and using services with the CWAB
  • ObjectContainerDataSource - Demonstrates using the ObjectContainerDataSource

Reference Implementations

  • Global Bank - Demonstrates an electronic banking application
  • Order Entry - Demonstrates an Order Entry system that delivers a responsive UI experience.

What happened to PageFlow?

The one thing you won't see on this list is PageFlow. We've heard a lot of feedback from the community about enhancements they would like to see on PageFlow. We also heard from other customers that weren't using PageFlow that it seemed heavyweight to have to install the recipes for PageFlow if they weren't using it.

Based on this we determined the best thing to do was to rip out the PageFlow recipes into their own Guidance package where they could be optionally installed. The next step is we are going to roll the current version of PageFlow along with the PageFlow guidance package into contrib where the community can take it forward. If using contrib is not an option, the the guidance package and binaries from WCSF 1.1 are still usable. PageFlow does not have any CWAB dependencies so there are no version conflicts.

Look for plenty of follow up posts from the team on the new features after we ship.

Coming very soon to a theater near you!