The following message has been posted to the MvcContrib discuss list. Please join the thread with feedback.
As we get close to the release of the Asp.Net mvc framework it is time to
take a look at what the contrib project has grown into organically and match
that up with what we want to get out of the project to make sure everything
is aligning.
The goals of the project:
*Ease of use/adoption:* We want to position the MvcContrib project so that
it is easy for someone new to the ASP.Net MVC framework to include and use
the MvcContrib functionality. The goal here is for frictionless and
painless adoption.
*Drive to conventions:* We want to provide some opinions on how we think the
framework should be used. This means making the conventions easy to
discover and use.
*Provide nice to have functionality: *We are also willing to allow for some
features that are infrequently used to still be easy to access, but this
must be balanced with the first two goals.
So, that leads us to the question of why are we bringing this up and what
does that mean?
We do see the MvcContrib project site being a central place to look for
alternative implementations. We may not host all of these in our project,
but we could at least list all of them, view engines and IoC, than have
links to their project homepages. I see a lot of value in maintaining a
complete list of known extensions.
Here is a list of actions we want to take on the code base to support the
goal.
1. Consolidate the existing mvc projects/assemblies down to four (4)
projects.
· MvcContrib
· MvcContrib.Extras
· MvcContrib.TestHelpers
· MvcContrib.UnitTests
2. Add a dependency on the CommonServiceLocator to replace all of the
IoC containers in the MvcContrib project.
3. Remove old dependencies that are available in their home projects:
· Ninject
· StructureMap – provide links to the CSL implementation
· Unity – provide links to the CSL implementation
· Castle / Windsor – the Controller register could be pulled into
documentation on the contrib project website.
· Spark – It is being maintained as a separate project, we should be
pushing developers to it home page to get the most recent version of the
project.
4. Deprecate and remove the following projects:
· Xslt View Engine
· Nvelocity
· Brail
· Spring
At this point I would like to open up the discussion. Please make it know if
you are relying on any of the functionality that is planned for removal.
Thanks,
Eric Hexter – MvcContrib Co-founder
Jeffrey Palermo – MvcContrib Co-founder