Umbraco 3.0.6 to 4.7.1.1 Upgrade

As I have been struggling with upgrading Umbraco 3.0.6 to 4.7.1.1, I thought I would post a small guide for later use, as I most likely have to go through this again.

Please be aware of this guide is for Umbraco 3.0.6 to 4.7.1.1
Upgrading from prior version of Umbraco, vil require you to upgrade to 3.0.6 first.

1. Take backup of your binaries and database!

2. Upgrade from Umbraco 3 > 4.0.4.2 (upgrading from 3 > 4.7 will make the upgrade stall at 20%)
2.1 Download the binaries and extract them to your Umbraco dir
Note: Umbraco 3 and 4.0.4.2 must both run on ASP.NET 2.0 Classic Application Pools

Umbraco 4.0.4.2: http://umbraco.codeplex.com/releases/view/37337
Umbraco 4.7.1.1: http://umbraco.codeplex.com/releases/view/73692

3. Upgrade from Umbraco 4.0.4.2 > 4.7.1.1
3.1 Download the binaries and extract them to your Umbraco dir
3.2 Run your site and a automated upgrade will start – looking just like the normal Umbraco 4.7 installation
Note: Change Application Pool to ASP.NET 4.0 (Integrated pipeline mode) before you run the upgrade

Umbraco install screen

4. XML schemes
Umbraco 4.5 and forth uses a new XML shcema, therefor you have to make sure it’s enabled
in /config/umbracoSettings.config

[code]
<!– to enable new content schema, this needs to be false –>
false
[/code]

Love the double meaning aye? ;)

5. Passwords
Version prior to Umbraco 4 used clear typed passwords – therefor your old passwords are stored as clear type in the database.
Umbraco 4.7 however uses hashed passwords, but because your passwords are stored in clear type, we have to enable the feature
in web.config.

Set both the “UmbracoMembershipProvider” and “UsersMembershipProvider” to passwordFormat=”Clear” like shown below

6. If you are using XSLT, which you probably are, since Razor first got introduced in Umbraco 4.7, you have to manually
go through your scrips and and change them to fit the new schema. There are some scripts out there which can help you, but
they don’t work 100%.
I have been lucky though, to get _some_ of my XSLT convertet to the new schema with “XsltUpdater for Umbraco
Use at your own risk – if you dare. ;)

Reference about the new chages:
http://our.umbraco.org/wiki/reference/xslt/45-xml-schema

7. Republishing
Now log in to your Umbraco installation http://site.com/umbraco/

Go through all your nodes and republish them (don’t just hit republish entire site, or it won’t work and you probably will break something)
This step is important to make all your XSLT work again with the new schema.
Please note that you most likely will loose some relations and sort orders in tabs, but not more than it’s pretty fast to fix.

/Paul Sørensen