1 vote

uMVC

uMVC is an alternative to the surface controllers currently used in the Umbraco flavour of MVC. Simply install the package, create a doc type with our naming convention on the Alias or anywhere in the description, create the matching controller and action, and your off.

v2.0.0.0 NOW SUPPORTS v7.

Using uMVC will put complete control back in the developers hands as it uses the standard DefaultControllerFactory to complete each request. You will not have to configure anything in config e.g. 'WebForm' vs 'MVC', it doesnt matter, it will run on either option.

This code is currently being used in production with great results, including mutli-lingual site, multi-tennat sites, failed v5 project migrations through to plain old small web builds.

How?

The package uses a naming convention on a document types alias to create its own route context and allow for a standard MVC implementation to take place on each request. For example, if we create a 'Homepage' document type, we could put then name 'Home_Index' in the Alias or description. The Dispatch mechanism will extract the route values 'controller' and 'action' from this and route the request as per any other request. The routing is still handled via Umbraco in the initial request, but is 'Hijacked' by the dispatch mechanism to complete as an MVC request. This means custom routes are easy via routing and multi template scenarios are also supported.

The code is open source and on Github here http://www.github.com/micklaw/uMVC, documentation is sparse, though i'll try and update with something significant soon if people decide to use it.

A sample project has also been added in the github solution for anyone to run, play and mess with, it uses a sql ce DB. The project has a basic structure for controllers etc, I had used Autofac previously to demo the setup for that, but i have simplified the solution to get the way it works across in a more simple fasion.

A demo of how it works can be seen here:

http://www.screenr.com/Iq6H

Credit to

The dispatch mechanism was written by the very talented Mr Lee Gunn of http://www.secretorange.co.uk, and only minor alterations were made by myself, so please put any adulations his way. I just packaged it up with his blessing =)

Screenshots

Package owner

Michael Law

Michael Law

Michael has 37 karma points

Package Compatibility

This package is compatible with the following versions as reported by community members who have downloaded this package:
Untested or doesn't work on Umbraco Cloud
Version 8.7.x (untested)
Version 8.6.x (untested)
Version 8.5.x (untested)
Version 8.4.x (untested)
Version 8.3.x (untested)
Version 8.2.x (untested)
Version 8.1.x (untested)
Version 8.0.x (untested)
Version 7.15.x (untested)
Version 7.14.x (untested)
Version 7.13.x (untested)
Version 7.12.x (untested)
Version 7.11.x (untested)
Version 7.10.x (untested)
Version 7.9.x (untested)
Version 7.8.x (untested)
Version 7.7.x (untested)
Version 7.6.x (untested)
Version 7.5.x (untested)
Version 7.4.x (untested)
Version 7.3.x (untested)
Version 7.2.x (untested)
Version 7.1.x (untested)
Version 7.0.x (untested)
Version 6.2.x (untested)

You must login before you can report on package compatibility.

Package Information

  • Package owner: Michael Law
  • Created: 03/11/2013
  • Current version 2.0.0.0
  • License MIT
  • Downloads on Our: 1236