Well, here’s the official blog post for the tweet I did last night:

turbine_tweet I figured, I should tweet the release and have people get an early access to it, then blog the same (plus more) information here. :)

What is MVC Turbine?

I’ve been asked many times for the 140 char description of Turbine, so here it is for the record:

MVC Turbine is a plug-in for ASP.NET MVC that has IoC baked in and auto-wires controllers, binders, view engines, http modules, etc. that reside within in your application.

Thus you worry more about what your application should do, rather than how it should do it…and hopefully, you get things done a little quicker??

Feature Breakdown

Turbine v2 is a complete re-write from v1. This re-write has allowed for the plug-in to provide these great features:

  • Visual Studio 2008 Solution Templates for IoCs
    • Ninject
    • Castle Windsor
    • StructureMap
    • Unity
  • New runtime framework that allows extensibility
    • Blades (components) that are auto-registered and loaded at runtime.
    • Introduced the Core Blades to setup the basic runtime of an MVC application:
      • MvcBlade -- wiring for MVC related components (Controllers, View Engines, etc).
      • WebBlade -- wiring for System.Web components (IHttpModule, etc.).
      • RoutingBlade -- wiring for the IRouteConfigurator implementation.
    • RotorContext that works with the Blades to setup the runtime.
  • Auto-registration of View Engines (VE)
  • Auto-registratrion of MVC Filters to support constructor injection.
    • Added new InjectableFilter attribute to associate a filter to an action.
    • Added support for IActionFilter, IAuthorizationFilter, IErrorFilter and IResultFilter
  • InferredViewResult handles inferred actions and reports HTTP 404 for missing actions.
  • Works with ASP.NET MVC in Mono

Samples

With this release, I’ve created 7 Feature Samples that show the main features of v2, they are:

  • Controller Injection
  • Custom & Logging Blades
  • MVC Filter Injection
  • Inferred Actions
  • Model Binder Injection
  • Multiple View Engines

Also, I’ve taken the popular and modified it to run with Turbine v2 as well as provided my own sample application called Okonau, Japanese for “to do, to perform”, a simple ToDo list application that shows how Turbine can enhance your application.  I will blog more about what Okonau shows, in another post.

Project Website

I bought the domain of http://turbineproject.com to house the all information for the project, such as documentation, screen casts, etc. My plan is also to move the source to , this should make the management of the source a lot easier. I will still use the to manage the release, discussion and requests/bugs.

Next Version

One of the reasons why it took me so long to release v2 was because I was doing several spikes with the , to see how Turbine could leverage its goodness to remove the scanning code for Blades, IServiceRegistrations, IRouteRegistrator and IHttpModule.  There are other features that can open up by adding MEF into the picture….but that’s another blog post. :)

What’s Next?

I can’t scale, period.  So this is me asking for help. Are you interested in helping out with Turbine? Whether it be development, documentation, etc. if you’re interested in helping out or learning more about the project, please let me know by emailing at javier[at]lozanotek[dot]com

That’s all for now…

Happy Coding!