Can you upgrade your site to Umbraco 4?

Tuesday, January 27, 2009 by Administrator

As Umbraco 4 is coming on Friday it's a good idea to start preparing upgrades. We've gone to great lengths to make sure that Umbraco is as compatible with Umbraco 3 as possible and Umbraco 4 includes an automated upgrade wizard that will convert any existing Umbraco 3.0.5+ installation to Umbraco 4, including converting your old templates to the new MasterPage syntax. For most installations, upgrading shouldn't be a problem and should take less than an hour.

In general it's very few items that aren't supported, but if you're using any of these features, upgrading is not straight forward:

  • The XSLT helper method RenderTemplate(). As we've switched from the old proprietary template model in Umbraco 2 and 3 to ASP.NET MasterPages in Umbraco 4, the RenderTemplate can no longer be used. If your site depends on the RenderTemplate functionality, you need to disable MasterPages as continue to use the old template model which is still supported in Umbraco 4 by editing /config/umbracoSettings.config and set "useAspNetMasterPages" to false. It's crucial that you change this setting in the Umbraco 4 distribution before you copy the Umbraco 4 files.
  • UltraSimpleMailer / Newsletter. This is not compatible with Umbraco 4 as it relied on a very old WYSIWYG editor and the old template model. We're working on making a new version of the UltraSimpleMailer, but it won't be ready for the release of Umbraco 4 on Friday. If you're using the UltraSimpleMailer we suggest that you don't upgrade yet.
  • 3rd party datatypes. In general all old data types should work with umbraco if they're made using best practices. However, we can't give any guarantees that they'll work and you should make sure to test them first.

How to upgrade

First of all the upgrade wizard only supports Umbraco 3.0.5+ installations (while 3.0.3 installations apparently work too). If you're running an older version of Umbraco (2.0, 2.1 or <3.0.5) you should first upgrade to Umbraco 3.0.6.

Secondly, make sure that your site doesn't use any of the un supported functionality described above and if it does make sure that you follow the suggestions above.

Upgrade:

  1. Before you upgrade make sure to backup your files and your database and make sure that you run the upgrade on a local development server and not in a hosted environment.
  2. If you have special settings in your web.config or in your config files in the /config directory such as XSLT Extensions or localized url replacement characters, make sure to have those changes nearby as you'll need to update those settings after the upgrade. You might want to use a diff tool to see the differences.
  3. Extract the Umbraco 4 zip somewhere local outside your development environment.
  4. Copy the /web.config, /default.aspx, /bin, /config, /masterpages, /umbraco and /umbraco_client from the unpacked files to your umbraco 3 installation.
  5. Update the web.config and the /config files if you had any special settings (from step 2)
  6. Start a browser and point it to the root of your site (ie. http://localhost or http://mysite.com)
  7. Follow the installation wizard - it should upgrade your database and your templates automatically

If you have any troubles upgrading, let us know in the comments and if you encounter any bugs add them to the Codeplex tracker.

13 comment(s) for “Can you upgrade your site to Umbraco 4?”

  1. Gravatar ImageThomas Kahn Says:

    I have noticed that the 3rd party add-ons Lefteris Multiple Media picker and possibly Lefteris Multiple Node picker do not work in Umbraco v4.

  2. Gravatar ImageDouglas Robar Says:

    @Thomas, I am using both of Lefteris' pickers in a 3.0.5 site that I upgraded to RC3 and they're working just fine. So are CPalm's pickers.

    I did, however, change my database connection string to remove the datalayer= part since I'm using MSSQL and some of the older controls I have on the site are not datalayer-aware. I don't know if that had anything to do with the pickers, though.

    I've not tried a fresh install of those controls into a v4 site, however. Again, I don't know if that would make a difference or not.

    Perhaps there should be a forum thread on the topic of 'using older 3rd party controls in v4' so peole can list what does and doesn't work from their own experience.

    ...**so excited to use v4!**
    doug.

  3. Gravatar Imagehorsted Says:

    Can't wait to launch my first umbraco site :-)

    Unfortunately the non- compatible UltraSimpleMailer / Newsletter is kind of a show stopper for the projects i'm working on, so I was wondering if you would have an (non-exact, just about :-) estimate when it will be updated?

    Thanks in advance and thank you so much for all your hard work - v4 is awesome!

    Btw. how do I sign up for your newsletter - i don't recive them and can't find anywhere to sucbscribe in my profile or on the forums?

  4. Gravatar ImageHartvig Says:

    The UltraSimpleMailer will be on the top of my list in February/March, so at least by the end of March there'll be a working version. It might have a different architecture than the current one, but it'll build on the same principles (doctypes+members+templates).

    To receive the newsletters you need to leave your e-mail when you download from http://umbraco.org/download

  5. Gravatar Imagehorsted Says:

    Thanks for yor fast reply - i hope february and march passes really fast!

    I should be signedup now - wouldn't it be a good idea in time to make like a 'Newsletter subscription' widget under 'Latest forum activity:' in the right column? Atleast if you want people to subscribe :-)

  6. Gravatar ImageEvan Says:

    If you have deleted the install directory from your 3.0.5 installation. Should you also copy the install directory from the V4 build?

  7. Gravatar Imagemartin Says:

    HI,

    On step 6 do I need to have the site running? I'm getting the following error **Could not load type 'umbraco.providers.members.UmbracoRoleProvider'**

  8. Gravatar ImageMartin Says:

    Hi,

    Found an issue. On step 4 you should also copy /install folder I believe

  9. Gravatar ImageAndrew Says:

    I had a few problems along the way. I'll explain them for other people's benefit:

    * Firstly, I ran the site using VS in debug mode and it kept on halting because of errors. Running the site without debugging went smoothly though.

    * Secondly, I received an SqlException "Invalid column name 'defaultToLiveEditing'." The solution was to make sure that the umbracoConfigurationStatus appSetting had been set to a blank value (I had left mine on '3.0.5'.

    * The upgrade went smoothly but when I opened my site's homepage I was greated with an empty screen. To solve this, I simply had to open the "Templates" section in umbraco. This created the new master pages on disk for me.

    I also republished all my content, just in case.

    After all that, everything works perfectly. Umbraco 4 is awesome!

  10. Gravatar ImageDave Says:

    You also have to copy the data folder because there are some config files for the packages section in there. Without these files the packages node will not work properly

  11. Gravatar ImageSiw Says:

    Set new web.config to correct connectionstring before I started update. It ound the data and presented them nicely in step 2, but wouldn't accept my "confirm". Web.config had correct write permission. I put 3.0.6 into version field and came to the 'defaultToLiveEditing' error. Which I assume comes from no db connection. So do I really need to give write permission on the whole root folder?? That seems kind of over the top.

  12. Gravatar Imagemike Says:

    v4 Looks great! in v3 I used umbraco to template an xml document (ie. no master page syntax) - is this still possible?

  13. Gravatar ImageCarl Says:

    I've just noticed that since upgrading a site to 4.0.4.1 that the user passwords are now stored in plain text in my database, and are no longer hashed. Is this normal?

Leave a comment