The Upgrade Myth

Monday, November 14, 2011 by Niels Hartvig

A frequent topic we meet as we approach the release of Umbraco 5 is "how can I upgrade to Umbraco 5 [from Umbraco 4]". The answer is simple - you can't. But what's even more interesting is - you wouldn't even if you could. What you worry about is irrelevant - it's what I call "The Upgrade Myth".

As much as many of you want the latest and greatest, the lust isn't rational. We rarely need the new features, often not even most of the bug fixes. This is why most Umbraco installations aren't upgraded and haven't been the past three years (which is how long we've been monitoring it)?

Before you jump straight to the comment fields and claim that you do, please take a deep breath. While you may have done loads of patch upgrades (ie. from 4.7.0 to 4.7.1) of Umbraco installations, just how many of the sites you own or have made have been through a minor (ie. from 4.5.0 to 4.7.0) or major (ie. from 3.0.5 to 4.5.0) upgrade? If you say all of them, you're a minority. Less than 2% (updated from 1%, see comments) of Umbraco sites have been through minor or major upgrades.

This is because most sites have a lifespan of two to three years. Best practices on the web - both conceptually and technically - moves so fast that active sites often go through a complete re-do in that period. That doesn't mean that you swap your CMS or make very dramatic changes, but it's often enough to start from scratch (although you might import parts of your existing site).

We'll keep supporting Umbraco 4.x

Umbraco 4 is a solid platform and the version that gave us the major breakthrough. It'll be around for quite a while, is known by a huge community of experts and we'll keep supporting it with bug fixes and improvements for at least two years after the release of Umbraco 5. Period. It is still a safe choice.

To five or not to five

When people are asking "how can I upgrade", it's often consultants - not end-users - who ask. And what they really ask is "what happens to the Umbraco I know so well"? The answer is that it's changing - for the better. The downside is that it means that you'll need to change too.

Umbraco 5 is a whole new beginning. New underlying framework (ASP.NET MVC), new data layer (Hive) and a re-written UI (KnockoutJS). It's pretty bold. And maybe a little insane.

You see, we could all - core team, HQ, community - have chosen to rest on our laurels and enjoyed the huge success that Umbraco 4 is. And while we patted each other's backs and touched glasses of Krug we could witness how the wrinkles would appear and the energy slowly fade away.

But we're not like that. We're a rare crowd of curious, bold, hungry and foolish people. And Umbraco 5 is the testament.

You don't have to worry about upgrading your Umbraco site. But it's time to upgrade yourself.

34 comment(s) for “The Upgrade Myth”

  1. Gravatar ImageAdam Shallcross Says:

    This is exactly the point I made on Linked In the other day in the Umbraco UK users group. For all those who aren't members, here is a summary of my comments.

    "It has been my understanding that there isn't really an upgrade path anyway from V4 to V5

    For the past 6 - 9 months, we have been using solely Razor for all our new projects to enable a smoother(ish) upgrade path if/when it happens.

    However, I don't really foresee a need to upgrade a client from V4 for V5 for any specific reason. To all intents and purposes, they are the same to the end user who will know no different. If they are that bothered then maybe you can use the fantastic upgrade package that Pete Duncanson wrote at CG11 (if you didn't see it ask him to show you..its very good).

    They fundamentally don't do anything different for the end user and there will be no benefit for upgrading. By the time the site has reached its natural upgrade time, which is usually a couple of years anyway, we would then rework the site to be V5, which we'd term as a new project anyway as there would probably be more work than just upgrading the standard Umbraco items anyway. "

    Seems we have the same opinions...which is nice and good to know :)

  2. Gravatar Imagejarvklo Says:

    Just out of curiosity...
    How did you arrive at the number "less than 1%" ?

    At http://umbraco.com/umbraco-5-status/what-is-v5.aspx - you state that:
    "Since 2008 we've been tracking upgrades of Umbraco and while people are generally good at upgrading to the latest patch releases, less than 1% upgrade to a minor version (for instance from 4.5.0 to 4.7.0)."

    How many sites are you actually tracking? (facts like "powering more than 85000 sites" has been around for a while now - is eg. the <1% measurably related to all of the 85000+ sites or are you tracking a subset of the 85000+ sites)?
    Sheer numbers often say more than the computed end result and would give IMHO us tremendous arguing power against competitors that now and then tend to question seemingly unsupported figures if you use them in an argument)

    Again - out of curiosity (and to be able to hold my ground in possible discussions about statistics in a competitive situation if I wield this number)
    How are you tracking the upgrades?
    Is there eg. a remote possibility that the number is even smaller than the 800+ or so sites that "less than 1%" interprets to if calculated over "85000+" ?

  3. Gravatar ImageDavid Says:

    well this is certainly true, many times we have not upgraded due to the platform not allowing it. as you can see here, http://our.umbraco.org/forum/developers/extending-umbraco/25625-Upgrade-to-47-break-all-my-XSLT. we wanted and needed to upgrade but we can't. its a nice story and one that is easily sold to developers but is not so easily sold to the people that pay... we sold the upgrade to the new schema, now we have to sell again... it's easy to say we don't, but the reality is that we do. it's human nature that the core team and the community will migrate to the newest.

  4. Gravatar ImageDavid Says:

    and, btw, telling me how i am? no thanks. i love umbraco and use it daily. I've introduced it into one of the biggest media companies in the world. i don't need anyone telling me how i am. Thanks

  5. Gravatar ImageDavid Says:

    just so this is clear. i don't need or expect an upgrade path, but if there is no path then that's cool, just tell it like it is. don't try to say that i should upgrade myself or that upgrades are unecessary

  6. Gravatar ImageNiels Hartvig Says:

    @jarvklo: We're tracking ~167.514 sites and we've tracked the version from first check and the version from the last check. 2.312 of these sites have a different minor or major version since their initial check.

    For the paranoid, we don't store the domain of the site, but only a hash. Ie. the data has been "anonymised" and we can't use them for other than following the progress of Umbraco installs (which is the very purpose).

    Hope this helps!

  7. Gravatar ImageHartvig Says:

    @jarvklo: Looking at the numbers again, I can see that the pattern has changed and we're actually at ~1.4% of installs upgrade to minor/major. I'll update the blog post!

  8. Gravatar ImageAnthony Says:

    I do think that Umbraco would be better of with an easy upgrade scenario. I did a couple of upgrades from 4.7.0 to 4.7.1 and this didn't went as smooth as one would expect.

    A lot of things against DotNetNuke can be said, but they sure have a smooth upgrade scenario: extract the upgrade zip folder over the web root folder and that's it!

    I know 'Rome isn't build in a day' and one has to make strategic decisions on what to improve on a software product, but I think Umbraco CMS would benefit a lot from a smooth and convenient upgrade process.

  9. Gravatar Imagejarvklo Says:

    @Niels It certainly does.

    Thanks!

  10. Gravatar ImageKeith Petersen Says:

    Hmm. I understand the reasons for no upgrade path from 4 to 5 and that's fine. Is there still going to be some way to transfer data with Courier?

    Do you really want to make "no upgrades" your policy going forward? It sounds like you are, anyway. Imagine if Wordpress or Drupal did that. Maybe few Umbraco installs are upgraded because there's no integrated upgrade mechanism, and upgrading manually is a pain. Self-fulfilling prophecy, in other words. I work for a large organization that uses Umbraco. I have to support it indefinitely, and I try to give my users/content editors the best experience I can, which means I'd like to be able to upgrade the CMS. It seems like most Umbraco devs don't have to support their installs long-term, at least not much. If I'd read this post a couple years ago before adopting Umbraco... I wouldn't have adopted it.

  11. Gravatar ImageNiels Hartvig Says:

    @keith: Yes, we'll release a free version of Courier that can transfer content from v4 to v5.

    I think you're misunderstanding my post. It's never been the plan not to make it possible to upgrade Umbraco. In fact, from 4 to 5 is the first time *ever* it's not been possible to upgrade the core of Umbraco. That's in almost seven years! I believe that's an industry high. Though I'm not saying it couldn't be easier!

    There's no plans to make a dramatic platform change in any near future and we *are* working on how to make automated upgrades possible. In other words in terms of "upgradability", Umbraco has had one of the best backwards compatibility histories and we're working on improving it going forward.

    Try to talk to Drupal people about upgrading between major versions before thinking Umbraco is worse - you might be up for a surprise!

    That doesn't mean it couldn't be easier and we could do much better job especially around package compatibility checking. It's just one of the things we've improved in the architecture of Umbraco 5.

  12. Gravatar ImageKeith Petersen Says:

    @niels: Ok, that clarifies things for me and sounds much more palatable. I look forward to migrating to v5 someday.

  13. Gravatar ImageMichiel Says:

    I'm with Keith Petersen on this: the statistics may just be indicative of the fact that upgrading Umbraco is difficult. I would expect the upgrade percentage for WordPress to be much higher.

  14. Gravatar ImageTrevor Says:

    Brilliant! I hate upgrading sites as its more stress and hassle than its worth...and the client never wants to pay for your time to do it.

    This is the perfect excuse to "if it an't broke, don't fix it' and let the client come to the realisation that they'll have to wait until the want to "refresh" their site in a year or two to go to v5.

    I commend HQ for their bold rewrite and I am certainly enjoying my first look at v5.

    Well done.

  15. Gravatar ImageNiels hartvig Says:

    @Michiel: I don't buy that argument. If that was the case the forums and our support would flood with upgrade frustrations. Again, I'm not saying it couldn't be easier. Simply saying that most sites aren't upgraded because they don't have too and we don't invent an unnessacary need.

    We've also been lucky to have a different architectural approach which means that we're not as exposed to security threats as some systems may be. This is often a crucial reason to keep a system upgraded even though you may don't want to.

  16. Gravatar ImageDavid Says:

    hi niels. you don't have to buy anything but:

    http://our.umbraco.org/forum/developers/extending-umbraco/25625-Upgrade-to-47-break-all-my-XSLT

    http://our.umbraco.org/forum/ourumb-dev-forum/bugs/18381-All-xslt-files-broken-after-upgrading-to-47

    seem to suggest that upgrading isn't that easy. maybe, if we just ignore all problems, the we can say that upgrading is easy and flawless.

    thanks

  17. Gravatar ImageJeroen Breuer Says:

    @David One of those forum topics is mine. I've also had some problems with upgrading, but thanks to the awesome help of the community I got it fixed. Now I have upgraded several umbraco websites to the latest version without any trouble.

  18. Gravatar ImageDavid Says:

    i know. care to share the process? as i have said, i love umbraco. the community is awesome

  19. Gravatar ImageTaylor Says:

    Sorry, but I think this is ridiculous. The primary reason we don't upgrade our client's Umbraco installs is because it's a huge pain, and they're not willing to pay for the hours.

    Sure, for major improvements, such as the XSLT schema change, or the jump from 4 to 5, I understand that some work is going to be needed. But for minor point releases, the process just isn't even worth it.

    It's incredibly frustrating when a bug crops up on an older version of Umbraco that we can't address because we would lose so many hours attempting to upgrade their site. We even get responses to support requests suggesting that we upgrade the site. When we're dealing with a huge client site with a ton of custom work, multiple languages, and hundreds of pages, it's just not feasible.

    The upgrade path is one aspect of Umbraco I would love to see improved. As much as I dislike WordPress, they've got that nailed. If upgrading Umbraco were easier, I guarantee your statistics would turn around.

  20. Gravatar ImageNiels Hartvig Says:

    @Taylor: Even if we saw a ten-fold increase in upgrade (that's 1.000%) it would still be less than 15% of sites that upgraded. So I'd continue my claim that the vast majority of sites *doesn't* need an update.

    WP have an incredible upgrade story, but it's also a much easier upgrade as even big sites are very simplistic in their implementation and plugins mostly are basic php scripts and an upgrade simply override the existing php scripts that make up WP.

    As stated a couple of times above, we *do* need to make upgrading Umbraco easier. But many upgrade issues with Umbraco relates to packages that uses hacks, have a hard binding on a specific jQuery version, etc. It's one of the hardest things to address and what we've done with v5 is to make following best practices for making add-ons easier and more strict. It's a long term goal - there's no easy way out for a framework like Umbraco which in its nature is used on more customized implementations!

  21. Gravatar ImageJarvklo Says:

    Just one more question on your percentage claim...

    It just struck me that Umbraco 4 was released in 2008 - and your upggrading percentages have been tracked since 2008..,

    Which version was the first incorporating the tracking header/code?

    If it was U4 (released during 2008 when you started tracking) I fail to understand how anything can be concluded about major version upgrades at all (since the major upgrade from 3 to 4 wouldn't be covered in your data if that were the case)

    Perhaps you could clarify this by publishing a more detailed set of data including version numbers and transition steps ?
    Or even (in the spirit of "open data" so popular these days - give us access to the raw data in order to make us draw our own conclusions beyond any doubt that your claim holds even for major versions?

  22. Gravatar ImageBruce Clark Says:

    I am in agreement that with massive rewrites it's not realistic to support upgrades. With a 4.* site I understand that it would be a huge pain in the ass to allow an upgrade to Umbraco 5. But, this is a one-off a case. It's a massive change in functionality and implementation. The entire core of the system is being updated. Of course an upgrade is unrealistic.

    This, however, does not solve the problem that basic point release upgrades in Umbraco suck. Okay, so I can't upgrade from 4.7.1 to 5, that's fine. But the fact that 4.0 to 4.5 is a 10+ hour project on a big site is insane. Even smaller releases are hell to upgrade. The official upgrade process is manually backup everything, manuall wholesale the files, except wait, be careful of x, y, and z. Oh, and don't forget "check for compatibility issues". If you haven't looked at this page in a while: http://our.umbraco.org/wiki/install-and-setup/upgrading-an-umbraco-installation , it's a nightmare.

    If Umbraco has issues with plugins limiting upgrading them I suggest more stringent plugin standards. Start making plugin makers thing about an upgrade when they build their plugin instead of assuming the process will be to difficult for the user anyway.

    Upgrading can be done well, just because it isn't yet popular is not justification to not take it seriously or put it on the back burner. I'm hoping Niels comment, "we *do* need to make upgrading Umbraco easier", is near-future and not "someday".

  23. Gravatar ImageTaylor Says:

    @Niels - I would actually argue that most WordPress installs are more complicated than our typical Umbraco sites. Maybe we're in the minority, but we only rely on about 2 or 3 third-party packages, whereas most WordPress developers I know use as many plugins as they can get their hands on.

    That's beside the point, though. I'm glad to hear you acknowledge that upgrading does need to be easier. My big issue with this blog post is that it seems you are making the argument that nobody updates their Umbraco sites anyway, so why bother improving the upgrade process. In my opinion, that is totally backwards.

    I completely agree that most sites do not need to be upgraded from 4 to 5. But when a minor release fixes a bug that is preventing us from building something we promised a client, and we're not able to upgrade easily, that doesn't go over very well with our clients, and we lose time and money. Furthermore, selling a potential client on Umbraco becomes more difficult when we can't promise them future upgrades.

  24. Gravatar ImageDavid Says:

    "niels if i wanted to develop in drupal then i would. i think the conversation is about umbraci

  25. Gravatar ImageHartvig Says:

    @Bruce: it's exactly what we're aiming for with v5 and many of the design considerations around plugin architecture have had this in mind. The irony is that a change like this in it self makes it breaking towards the possibility of upgrading, hence why we've kept postponing it until a major rewrite. Legacy is the most frustrating thing when making a platform - and it was never in the cards that Umbraco would grow this big and be used and hacked as much as package devs do.

  26. Gravatar ImageNiels Hartvig Says:

    @Taylor: It seemed that it was the direction it took (especially in the comments (which is good, because it obviously reveals that we can do better!)), but my main point was - and still is - that very few needs to worry about major upgrades and therefore not worry whether it's possible to move from v4 to v5.

    Rest assured that it frustrates me whenever there's something I don't feel we do good enough. Minor/patch upgrades is one of them. Part of it is legacy which we now address, part of it is us not being thorough enough and understands how irritating and scary upgrading can be when you don't know the ins and outs of Umbraco. This conversation have definitely been an eye opener in that regard.

  27. Gravatar ImageNiels Hartvig Says:

    @Jarvklo: Umbraco 4 was released in Jan 2009 (the history page needs to be updated, it was revealed at CG09 but took me too long to let it go).

    There's no plans to make the data publicly available in raw form (of all the things to prioritize this wouldn't make top ten of what I think we ought to do if there was 30 hours in a day :-)).

  28. Gravatar ImageJarvklo Says:

    Ok - but you didn't mention when (ie. In which version) the tracking code was introduced and it's still unclear to me how large a base of 3 series installs are actually covered in your stats (upgraded or not)?

    Would be nice to get that question off the table ;)

  29. Gravatar ImageRon Says:

    I am interested in seeing what can be imported into version 5 as a 4.7 user. After seeing the dramatic speed improvements of v5 with SqlCE, I find it very compeling and have a reason to upgrade to version 5. Currently I user Razor views and do not use any XSLT macros in my installation. I would like to see a way that you could selectively import items into v5. For example, Data Types, Media, and Content. I wouldn't retouching macros, views or other misc items, just being able to import the Data Types, Content and Media would be such a time saver since there is a speed difference in using razor views to pull the data model in 4.7 compared to 5.

  30. Gravatar ImageRobert Bullock Says:

    I can appreciate not being able to UPGRADE from 4.x to 5.x, but shouldn't their be a MIGRATION path so you can at least move your content and media over from 4.x? If I can't do that, I'll be stuck on 4.x forever with some clients. They're not going to want to recreate hundreds of pages of content page by page.

  31. Gravatar ImageHartvig Says:

    @Ron and @Robert: We're working on a free version of Courier that can transfer content and media from v4 to v5 and we aim for a release in April.

    It's not going to be a silverbullet, though as some data types might not exist on v5, but it'll get you a quick start. Templates and Macros would need to be written from scratch, though.

  32. Gravatar ImageImhotep Says:

    I've never posted here, but would just like to point out that my company has now contributed some 1,800 v4.x Umbraco sites to your tally :)

    Now with that said, while I can appreciate the reasons why as ASP.Net developers you all wanted to make the wholesale move the MVC and Razor. However, after launching a few experimental sites on our staff base it quickly became apparent that people who aren't ASP.Net developers hate MVC and hate Razor - in some cases with quite some passion...

    And from my POV, I just can't see the reason why. Maybe it's because none of our implementations use the 'ugly' bits of WebForms (we don't use viewstate or any ASP.Net controls), so we're not trying to 'get our code clean'?

    So anyway, we will be staying with v4.x for a long time to come..

    From the sounds of it, it would appear we'll need to branch the umbraco codebase in 2 years time when you guys stop supporting 4.x though :(

  33. Gravatar ImageRusty Says:

    Good heavens!

    I wouldn't have posted but the tone here isn't healthy. Both sides guys!

    What brought me here is that we need to _fix_ a site that uses v3 and has asp.net web forms controls littered throughout. This is not the place to discuss web forms except to say that web forms is a restrictive architecture that has massive implications with regards to the resulting markup. If markup is important, and it is when revenue is tied to optimizations, then web forms is a problem. Enough said about that. As a former asp.net developer, MVC was a god send! Personally, I avoid asp.net altogether. Its just not my platform of choice, that's all. Asp.Nett has tremendous value to enterprise. Period. I'm not naive to think that it isn't the single most popular web development platform for medium to large business and that it does that quite well indeed. The statement that developers don't like MVC doesn't really sound right to me. I have never met a developer worth their salt who didn't adore the switch to MVC and immediately recognize the benefits. Web forms was a great way for Microsoft to retain the droves of Windows desktop programmers who were being laid off as software moved online. Mission accomplished but not without cost. It is not a sustainable platform and the move Umbraco made to MVC is the right one.

    I do believe there needs to be a migration strategy for content. However, dot net server controls written for web forms and post back need to be modernized.

    I'd like to see this discussion move from animosity and finger pointing to a discussion that illustrates the key factors needed when holding a dialog with a client.

    Why switch?

    What things to inventory and consider?

    Benefits for the end user?

    Benefits for the developer?

    In my experience, the investment made to rewrite in MVC has been more than made up in productivity gained for future enhancement. Its a better model and not so quickly corrupted by dependency matrix. It takes a good developer to design and deliver good architecture but web forms makes it difficult to do that where MVC encourages it.

    ...or you could branch the v4 codebase and spend 10x as much time trying to support web forms in 2 years.

    Let me close by saying that Umbraco has been the best CMS on the planet for many, many years. I've tried Drupal, Joomla and WordPress and they all have their benefits but Umbraco produces the most consistent control and most intuitive UI of them all. And it supports dot net rather than the awful thing that is php. Before you scream at Niels, acknowledge that effort and contribution and the fact that its been open source and available to you at little or no cost to you.

    Great software requires compromise and, sometimes, even sacrifice.

  34. Gravatar ImageLou Says:

    Umbraco 5 is dead and you cannot find any reference to it on Umbraco's Codeplex page. The major problems with Umbraco 5 are still in Umbraco. The upgrading from 4.7.1 to 4.9.1 is terrible. I have been a CMS user and developer since 2001 and I have never had so much trouble as I am having with Umbraco upgrades. The problem is they freeze or crash and you have no idea why. You post on the forum and you get no help.

    With DNN you have an upgrade script which highlights all the steps and indicates in red which ones failed.

    Also with DNN you only have to run the upgrade script, with Umbraco you must HUNT for all the manual changes you have to make, and some of the changes are wrong.

    Even the Upgrade process is flawed, when you get to the Database section the Upgrade message is it will create a database, they always worries me. It is wrong Umbraco doesn't create a [populate the database, it just occasionally makes some changes.

    I rate Umbraco upgrades 3 out of 10 which in anyones mind is a failure.

Leave a comment