Web Client Guidance Drop #6 Available on Codeplex

The Web Client Guidance Drop #6 is available on Codeplex. Based upon feedback, we simplified the reference implementation by moving the Friends and MyLibrary projects into the main project. The feedback we received was that modular development is more common than modular deployment. This will make the reference implementation simpler to understand as it has 2 fewer projects. Let us know if you agree with the feedback.

This next iteration we will focus more on the documentation than the code. So now is a very good time to look at the RI and let us know your thoughts. What do you like about it and what do you think we should change and/or take out of the RI.

Here is the change log for our January 15th drop:
Reference Implementation

  • Modular Navigation site map. Modules can add their sitemap nodes in a pull-fashioned way to the main application site map (see the Web.sitemap file).
  • Custom Routing. The default MVC route has been removed and instead specific routes are used for each action/controller pair (see the ShellRouteSupplier.cs file).
  • Modular Deployment. To simplify the RI, both external modules (Friends and MyLibrary) have been moved into the main MusicStore.Web project. The deployment of modules is not demonstrated in the RI, however it is documented in the “Modular Deployment” document.
  • HTTP Handler. The CombineAndMinifyHandler was updated to reduce security risks, it no longer supports individual files minification.
  • AJAX Error Handling. Added client-side error handling for asynchronous requests. JavaScript controllers that perform Ajax requests to the server, now provide callback methods to handle failing responses (see the MicrosoftMvcAjaxScriptLoaderFriendly.debug.js and ResultsController.debug.js files).

QuickStarts
Updated the look and feel of the WebForms_RI Quickstart. The new styles are still work-in-progress.
Documentation

  • Added the “Modularity” document. This document describes the basic technical concepts related to modular applications.
  • Added the “How to Create Unit Tests” document. This document describes the basic steps to create server side unit tests for applications that use the MVP and MVC patterns.
  • Added the “How to Create Unit Tests With JavaScript” document. This document describes the basic steps to create client-side unit tests using JavaScript.
  • Added the “Security Mitigations in the Music Store RI” document.
  • Added the “Responsiveness(draft version) document. This document outlines usability and performance patterns to build a responsive application.
  • Added the “Patterns in the Web Client Guidance” document. This document contains a brief descriptions of the main patters used in the Web Client Guidance project.
  • Updated the “Microsoft Ajax Library and JQuery” document.
  • Updated “Modular Deployment” document.
  • Updated “Cross-site scripting” document.