********** IMPORTANT!!!!!!!!************* This package will enable native MVC front-end rendering for Umbraco v4.7, HOWEVER, because it is no integrated with the Umbraco back office directly there are some quirks, please read the following: please download from: http://our.umbraco.org/projects/website-utilities/umbramvco INSTALLATION: is not seamless because I can't figure out how to get the Remove Xml Fragment package action working. After install you will get a YSOD, you need to modify your web.config. Remove all references to 'umbracoRequestModule'. Once installed you can get your cshtml templates generated for you by saving each document type. This will generate a ~/Views folder with the appropriately named .cshtml file templates for you to use. What is supported: * All the stuff that you love about MVC * Hijacking routes (http://shazwazza.com/post/Hijacking-Umbraco-routes.aspx) * @Model = object called RenderModel which contains 2 properties: CurrentXmlNode and CurrentNode * @CurrentPage = dynamic node, which has exactly the same usage as v4 * @Library = umbraco.library methods which is exactly the same as when you are using Razor macros in v4 What is not currently supported (that I know of): * Any native v4 webforms rendering, this will change all front end routes to use MVC * non directory based URLs (umbracoUseDirectoryUrls must be true) * Macros * ASPX/ASCX/XSLT * Editing .cshtml templates in the v4 back office, need to use an external editor * BeginUmbracoForm html helpers and other html helpers from v5 * not tested with Cassini or IIS 6 Other developer notes: * No IoC involved, we're just setting up MVC manually so you can do whatever IoC stuff you like with whatever IoC engine you want * MasterControllerFactory including IFilteredControllerFactory & IExtendedControllerFactory from v5 * If you want your own controller factories, then you'll need to either create an IFilteredControllerFactory or an IExtendedControllerFactory and re-apply the ControllerBuilder.Current.SetControllerFactory in your global.asax. Have a look at the code in the InitializeUmbraMVCo.cs file to see the syntax. You can then also use IoC to resolve each of the IFilteredControllerFactory's or IExtendedControllerFactory's to pass in to the MasterControllerFactory. You MUST still add the RenderControllerFactory to the MasterControllerFactory it it will not work. (this is the same as v5) * Because v4 still relies on having a template reference in the db, in order to use an MVC template you'll need to have the webforms template in v4 back office. Then you can either manually create a Pascal cased .cshtml view file with the same 'alias' as the template you created, or go and re-save any document type referencing that template and they will be automatically created for you. * View Locations (Same as v5) ** ~/Views = are for your page views ** ~/Partials = are for your partials ** BUT of course you can just use the default MVC view locations too