This is the second public drop of the Web Client Developer Guidance which includes work done in our 6th iteration. This iteration concentrated on modularity. Here is a list of the significant changes:
- Upgraded to MVC2 Beta.
- Consistentely using RenderAction to render views (No longer using ActionFilters+RenderPartial). See SongDetails, EditProfile and Home pages.
- Added modularity infrastructure.
- Different supplier interfaces (IServiceSupplier, IRouteSupplier, IInitializable, and so on) are used to provide new Routes, Services, Initialization, and Endpoints to the main application. Registrars (ServiceRegistrar, EndpointRegistrar, RouteRegistrar, etc) are used for registering those items during the application startup (See global.asax). These allows to develop each feature in a decoupled way.
- An agnostic DI approach was used by using the CommonServiceLocator project in all infrastucture classes and interfaces. Particular implementations (such as the UnityControllerFactory and Service suppliers) are usign a UnityContainer.
- The modularity feature is not complete yet, and will be more stable in the next drop.
- A new MyLibrary module was Introduced.
- The module provides a controller. See the LibraryController.cs for reference.
- Views for the Library controller are shared using MVC Areas. See /Areas/MyLibrary folder for reference.
- The module exposes a contextual rendering endpoint when the song search results are displayed. The “Add to Library” link is displayed only when this module is loaded.
- The module registers a shared service. See the MyLibrarySongDetailsProvider.cs. The Shell provides the SimpleLogger service.
- Enhanced the WebForms RI QuickStart. Song reviews can be added and deleted (Authorization). A preview is shown in the song results. This QuickStart is still in progress.
- Added the Script Loading document that leverages Webforms ScriptManager and MVC ScriptLoader information and considerations.
- Added the UX Patterns document.
- Added Webforms: Top Ten Tasks for improving responsiveness (very early draft).