Below are the changes for our 3rd pubic drop of the Web Client Guidance. I would like feedback on two topics:

  • WebForms: Top Ten Tasks for Improving Responsiveness (see documentation). Do we have the right questions? What additional questions should we address? Also what is the quality of the answers? Go here to give us feedback.
  • Modularity: Do you like our convention for loading concrete implementations? Are we covering the right topics in modularity?

Please put your feedback on this Codeplex discussion topic.

 

Reference Implementation

  • Modified the minification and combining of javaScript files (CombineAndMinifyHandler) to support individual files to be minified, by specifiying filepaths instead of logical group names. The combining strategy is centralized in the register.debug.js file.
  • Repositories were refactored. They are now registered as singletons in the container and some concurrency issues were fixed using synchronized collections.
  • Modularity :
    • Convention over configuration: Main application loads by default all concrete implementations of IServicesSupplier and IRoutesSupplier in the assemby, avoiding to explicitly add one by one. (see Global.asax and TypesProvider)
    • UIComposition: UIExtension points are provided for the "Add To Library" link in the search page and the "Follow" link in the profile page. Modules supply services that provide the necessary information to render the links. The controllers and Views in the main application pull these services and render the links.
    • Hybrid MVC-Webforms: Modules can register routes that map to webforms pages.
    • Added friends webforms module that supply the FollowProfileActionProvider service and register routes for the AddFriend.aspx and FriendList.aspx webforms pages (see FriendsRoutesSupplier)
    • Update the MyLibrary module to supply the AddToLibrarySongActionProvider service.
    • Added the InitializationOrderHint attribute to support managing the order in which services, routes, and so on are registered.

QuickStarts
  • Added MVC validation to the Validation Quickstart. The Quickstart now also shows validation of view models using MVC2 Beta validation with Data Annotations and Custom validators.
Documentation
  • Added the Sharing Validation between the Client and Server document that provides a couple of advices of how to achieve this.
  • Added the Authentication and Authorization document.
  • Added the Adding Tracing to Your JavaScript document.
  • Updated Validation QuickStart: Added "Validation in MVC" section.
  • Updated Webforms: Top Ten Tasks for improving responsiveness (very early draft).