If you've had a look at the agile
board for 4.10.0 it's likely that you came away a bit confused.
Don't worry, it's not just you! I too had a hard time figuring out
what exactly is going on, but I'm here to explain it to you
The theme for 4.10.0: Hybrid MVC support and solution
We're cheating a little bit, because some of the things
we're working on have started a while ago, and are now coming to
fruition. The reason this has taken a little longer is because
people like Shannon (who's actually on sabbatical) and Stéphane
haven't been able to work on it full time. So slowly they've been
adding to the code while sipping Martinis and hiking up mountains
(or in Stéphane's case doing actual work for clients and being with
What to expect from MVC support
What we'll deliver in this sprint is a hybrid model, you
will be able to create your templates as MVC views instead of
master pages and use your macros in there as well. We're still
taking some time to bring in surface controllers, partial view
macros and child action macros. We want it to work well and not be
half baked, so it'll be completed during the next
We'll be implementing full Umbraco integration over the next
few releases, as one does when taking the agile approach: deliver
semi-small blocks of functionality and then iterate quickly on
This might sound a bit broad, but what we're actually doing
(aside from making the actual Visual Studio solution easier to use)
is some architectural changes that will support not just MVC but
mainly the rest of the Umbraco core in the long run.
This has led us to completely refactor the request pipeline,
so all of the things that happen when you request a page.
This includes routing to the right Umbraco document,
doing things like 404 handling or rendering an altTemplate, etc. It
has been a complicated process because over time a LOT of things
have been bolted on to the old pipeline and there are many paths to
be taken into account. We think we've got a really good version
almost ready now, but it will require more testing
(more on that later).
Speaking of testing: we're also adding unit tests around
this new pipeline and around most other new code that we write.
That way we won't have to be afraid to break things when improving
the code in the future, the unit tests will verify that everything
should still work like it did before.
There are a lot of really technical tasks in the issue
tracker at the moment, and once we get to a point of releasing this
version you'll learn more about what they mean for you.
Rest assured though: You can still use Umbraco in the same way
you've used it before! You will not be required to learn any of
these new things immediately. They are there for you to slowly get
comfortable with and reap the benefits from.
That said, we are going to introduce 2 minor breaking
changes and we're sorry to have to do this to you in a minor
release, but they're quite necessary:
The first one is: for MVC support we're introducing a
global.asax file that inherits from the new
Umbraco.Web.UmbracoApplication class. This means that if you have
your own global.asax file already then you'll need to recompile
your code to be compatible with this. Should be quick and only a
tiny bit painful.
The other change: we actually fixed the
ChildrenAsList call you could do in Razor, which
made you have to deal with DynamicBackingItems and more unintuitive
things. With this change it now actually gives you back a nice list
of nodes, which is how it was always intended to work, all the
while, improving it's performance at the same time.
Early nightly for testing
Insert promo here: We want YOU!
Yes you, and you and you and you!
In about a week we want to show some of our early work (an
incomplete nightly) for you to start testing the upcoming release
early on. We've done a ton of work for this release already as you
can see in the issue tracker and because a lot of it touches on the
great multitude of different configurations out there, we hope you
can help us detect potential problems early on.
Internally, we're going to be testing a lot as well, but
we would like to ask you soon to start trying upgrades and see if
things work in real life configurations just as well as with our
test setups. It can be as easy as making a copy of a site and
trying to do an upgrade on that one. Should take 15-30 minutes of
your time and any bug reports will help us weed out any bugs early
We'll put out the message on Twitter and
the dev mailinglist or just leave a comment
below to be notified by email when the time comes.
Even if you have little time to do your own testing, we
wouldn't mind trying to upgrade your sites, get in touch with me
at firstname.lastname@example.org if you feel
comfortable sharing one or some of your sites that we can learn
from (of course anything we see is completely
Update: The nightly is now ready for testing, please read about it on the dev mailinglist.