Ok, below is info for each step (simply gathered from the individual pages for each version on codeplex) - please note that many steps are just repeating things, follow the discussion on the full thread.
Merge changes made to /config/umbracoSettings.config (Mainly the imaging section)
Add /config/applications.config and /config/trees.config files
Delete bin/App_global.asax.dll
Run installer
Remove the install folder after upgrading.
-> 4.8.1
Patch release upgrade, update: {same folders as in 4.8}
Merge changes made to /config/umbracoSettings.config (mainly the imaging section)
Add /config/applications.config and /config/trees.config files
Delete bin/App_global.asax.dll
-> 4.9.0
Overwrite the following folders with the folders from the zip file: {same folders as in 4.8}
There’s two new config files in /config (EmbeddedMedia.config, FileSystemProviders.config).
There are changes to the following config files: Dashboard.config, umbracoSettings.config, tinyMceConfig.config and xsltExtensions.config.
Use a tool like WinMerge to check changes between all of the config files. Depending on when you did this last there have been updates to quite a few of them (ClientDependency, Examine*).
Merge the changes in the web.config, new in 4.9.0 are the FileSystemProviders section in configSections and the new FileSystemProviders key pointing to it’s config file.
-> 4.9.1
Overwrite the following folders with the folders from the zip file: {same folders as in 4.8}
Make sure to change the version number in config/ClientDependency.config! (just set it one version higher from what it currently is, so if the version is set to 7, make it 8).
-> 4.10
Overwrite the following folders with the folders from the zip file:
/App_Plugins (new) /bin /install (remove after the upgrade is finished) /umbraco /umbraco_client /Views (new) /global.asax (don't forget!)
Make sure to change the version number in config/ClientDependency.config. (just set it one version higher from what it currently is, so if the version is set to 7, make it 8).
Upgrade your config files, mainly the Web.config (do not change the database connection string while upgrading) and the umbracoSettings.config.
Thanks for sharing your step by step guide and experiences with us :) This topic was also discussed in another post the other day and some meant that it should be possible to upgrade directly from 4.7.2 to 4.9.1...but like you I would do the whole path since I'm not sure about how database changes are handled currently.
But hopefully it will get easier to do upgrades in the future because right now there's an awfull lot of stuff to keep in mind.
Thanks for your upgrade path. I think it would be a good idea to have this information in the Umbraco Documentation, as it is more efficient then browsing the update instructions for every version on Codeplex.
Yesterday I succesfully upgraded two websites from version 4.9.1 to 4.10.0, and I can add to that, that it is also necessary to merge the trees.config file with the trees.config file in 4.10. I had an issue with the Media Section after the upgrade (jQuery progress animation kept spinning when opening the Media Section). After merging the trees.config files, the issue was gone.
Also don't forget to copy BaseRestExtensions.config and log4net.config file.
Regarding the merging of the trees.config file I think it's always a best practice to do a winmerge check on the web.config file and all the Umbraco related config files found in the /config/ folder.
I think we should add the upgrade guidelines to the documentation project since a lot of people will probably be upgrading from at least 4.7.x to latest Umbraco version in the near future.
The benefit is that everyone can contribute to the documentation as they experience something that needs to be shared and when people help each other out on the forums it's easy to reference the upgrade documentation :)
Since I'm soon going to be upgrading some installations myself I have considered doing a manual somehow based on what is already here on our and on different blogs. I'll see if I can get it all collected and then create a page on the documentation page for it.
Just to add my 2 cents - you can upgrade from 4.7.2 directly to 4.8.1. 4.8.1 has a small DB upgrade so you don't really want to skip that one. I don't think 4.9 has any DB upgrades but not sure about 4.10
Lately when upgrading I've been trying something new - I delete my local bin, config, install, umbraco* folders (yes, delete!), then copy over all the new folders from the Umbraco zip. Then I use my source control (git) to help me merge back in any of my custom changes. This way I don't need to worry about deleting certain files, adding certain new ones, etc. It also catches any files that Umbraco removes - the normal upgrade process will leave these stray files on your system (for example, lots of JS files removed in 4.8.0 upgrade). So far this has been working very well for me.
This seems like a very clever approach for upgrading an Umbraco website. I'm using Mercurial as source control system, but I only have basic knowledge of it. "hg add", "hg commit" and "hg push" are about the commands I master :)
So how do you "merge back in" your custom changes with Git?
I'll take a stab at it tomorrow. Since you're here, anyone know of the installer "duties" when it comes to upgrades. Shouldn't it take care of multiple db upgrade steps automatically (i.e 4.8.1 and 4.9 if I go directly to 4.10) on installation? (Pretty standard db migration stuff isnt it?)
I was posting a couple of links on twitter but will bring them into this thread.
I ran into a couple of issues with the 4.7.x upgrade path. Just want to flag them here.
DB Updates: There were DB updates in 4.8.1 and for whatever reason the installer when I would run it would die out at 5%. I tried on fresh installs. Anyways, there was a known issue with SQL CE, but I was on SQL Server. There was a manual way to bypass this for 4.8.1 - which I used for SQL Server as well - worked like a charm. http://bit.ly/TEmMJN (thanks cultiv)
Clear Browser Cache At Incremented Updates: If you plan the path of 4.7.2 to 4.8 to 4.8.1 etc, then at each step always clear your browser cache completely. I had "false" errors in Chrome / Firefox due to session cookies persisting.
Delete bin/App_global.asax.dll: This one is key. Stumped me for a whlie trying to merge the upgraded site back into TFS. (where I obvisously hadn't deleted that file yet)
I asked for a shortcut on Twitter aswell, Sebastiaan Janssen suggested I could try go to 4.10 at once.
I did (it's a small site, easy to restore in case of failure) and it seems to have been working fine. Will be checking out the functionality more in detail today and tomorrow. Looking at the upgrade instructions for each step, the 4.10 one does cover all file folders from the previous ones. /App_Plugins (new) /bin /install (remove after the upgrade is finished) /umbraco /umbraco_client /Views (new) /global.asax (don't forget!)
The configs I needed to merge was Web.config, umbracoSettings.config, dashboard.config, tinyMceConfig.config and xsltExtensions.config.
And configs I needed to add : BaseRestExtensions.config, EmbeddedMedia.config, log4net.confic and FileSystemProviders.config.
And finally I needed to delete the bin/App_global.asax.dll like Ed and Sebastiaan said.
And the db seems to be fine, but I would like to have it confirmed that the installer also takes care of previous steps.
Thanks for the uComponents upgrade link Ed (however I do not use it on this site, so I did not need to upgrade that this time).
Luckily, this was exactly the upgrade path I suspected would work just fine, woohoo!
The installer does only two things really, it checks if the database is up to date and if not runs the update script that Ed listed. If there had been multiple database updates, it would've ran them sequentially.
And the last thing it does is simply change the version number to 4.10.0.
I've favorited this thread and add it to the documentation so that in the future people will not have to go through all of the steps.
We're also really keen on making the upgrades easier, but that requires a fair bit of infrastructure and there are some things we just cannot do safely (like change or delete a value from a config file, because we don't know if you might actually be using that value for anything). I think (hope) we can get pretty far with more automated upgrades.
So just to get it right - it should be no problem to go straight from 4.7.2 to 4.10? The DB changes that have been done in 4.8.1 will also be added without one having to upgrade to 4.8.1 first?
What if one needs to do an upgrade from 4.5.x - would it also be possible to just go straight to latest version?
1. Yup, database upgrades will always run up until the version you're installing, so even if you install a higher version any intermediate upgrades will run.
2. 4.5.x is a different beast I guess. If you're on the new XML schema already then I don't think there's much to worry about and the process should be about the same (but I haven't read the release notes in a long time). It SHOULD also work with the old schema and we've built 4.10.0 to still support that, although I'm sure a lot of new packages won't support it so if you plan to install those you might have to upgrade to the new schema first.
I'm thinking...currently I have a development version of the site, which is source controlled in Mercurial and is using a development database...once I've upgraded the dev instance I should of course also upgrade the live site. But I'm think I might just delete the folders in question and copy over the updated files from my development instance.
Then I just need to make sure that the live database is upgraded - is that possible currently or would I need to upgrade both instances to be on the safe?
I have just been upgrading a live site from 4.5.2 to 4.9.1
I can see on Twitter some people are having issues with upgrading, so i have postet my step by step guid. Sorry it is in danish & a little english :-)
uComponents was first installed after the upgrade.
4.5.2 to 4.6.1
lav backup af web.config og andre config/* filer
Copy fra 4.6.1 zip fil
/app_data
/app_browsers
/app_code
/bin
/config
/data
/install
/umbraco
/umbraco_client
web.config
default.aspx
Updater web.config med db settings og andet userconfigurable der er ændret
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
slet i /bin
App_global.asax.dll
/bin/Microsoft.Scripting.dll
/bin/Iron * .dll
/bin/RazorEngine * .dll
kør FixPermission.bat på serveren i rod folder. (se nederst i denne fil)
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
4.6.1 til 4.7.2
Copy fra 4.7.2 zip fil
/app_data
/app_browsers
/app_code
/bin
/config
/data
/install
/umbraco
/umbraco_client
web.config
default.aspx
Updater web.config med db settings og andet userconfigurable der er ændret
slet i /bin
/bin/Microsoft.Scripting * .dll
App_global.asax.dll
Microsoft.Dynamic.dll
umbraco.MacroEngines.Legacy.dll
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
check site.
4.7.2 til 4.8.1
Copy fra 4.8.1 zip fil
/app_data
/app_browsers
/app_code
/bin
/config
/install
/umbraco
/umbraco_client
web.config
default.aspx
Updater web.config med db settings og andet userconfigurable der er ændret
delete i /bin
Fizzler.Systems.HtmlAgilityPack.dll
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
4.8.1 til 4.9.0
copy fra 4.9.0 zip fil
/bin
/install
/umbraco
/umbraco_client
/config
web.config
Updater web.config med db settings og andet userconfigurable der er ændret
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
4.9.0 til 4.9.1
copy fra 4.9.1 zip fil
/bin
/install
/umbraco
/umbraco_client
/config
web.config
Updater web.config med db settings og andet userconfigurable der er ændret
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
Efter upgrade opdagede jeg rod i nogle media links, Kør derfor denne sql:
UPDATE [cmsContentXml] SET xml = CAST(REPLACE(CAST(xml as NVarchar(MAX)),'~/media/','/media/') AS NText) where xml like '%~/media/%'
UPDATE [cmsPropertyData] SET dataNtext = CAST(REPLACE(CAST(dataNtext as NVarchar(MAX)),'~/media/','/media/') AS NText) where dataNtext like '%~/media/%'
UPDATE [cmsPropertyData] SET [dataNvarchar] = CAST(REPLACE(CAST([dataNvarchar] as NVarchar(MAX)),'~/media/','/media/') AS nvarchar) where [dataNvarchar] like '%~/media/%'
kør FixPermission.bat på serveren i rod folder.
tilgå /umbraco/dialogs/republish.aspx?xml=true
Sæt debugmode til false i web.config
check site.
FixPermission.bat: for iis 7.0
REM Following line in original script incorrectly sets all child folder permissions
REM icacls . /grant "IIS_IUSRS":(OI)(CI)M
icacls app_code /grant "IIS_IUSRS":(OI)(CI)RX
icacls app_browsers /grant "IIS_IUSRS":(OI)(CI)RX
icacls app_data /grant "IIS_IUSRS":(OI)(CI)M
icacls bin /grant "IIS_IUSRS":(OI)(CI)R
icacls config /grant "IIS_IUSRS":(OI)(CI)M
icacls css /grant "IIS_IUSRS":(OI)(CI)M
icacls data /grant "IIS_IUSRS":(OI)(CI)M
icacls masterpages /grant "IIS_IUSRS":(OI)(CI)M
icacls media /grant "IIS_IUSRS":(OI)(CI)M
icacls python /grant "IIS_IUSRS":(OI)(CI)M
icacls scripts /grant "IIS_IUSRS":(OI)(CI)M
icacls umbraco /grant "IIS_IUSRS":(OI)(CI)M
icacls usercontrols /grant "IIS_IUSRS":(OI)(CI)R
icacls xslt /grant "IIS_IUSRS":(OI)(CI)M
icacls web.config /grant "IIS_IUSRS":(OI)(CI)M
icacls web.config /grant "IIS_IUSRS":M
REM If you have installed the Robots.txt editor package you need the following line too icacls robots.txt /grant "IIS_IUSRS":M
Ok so for a test I have just tried to go from 4.7.1.1 straight to 4.11. I followed Jonas's post above and merged configs and copied across/deleted as suggested. I got to the installer, and went through it fine.
The Umbraco admin opened fine... BUT... Its completely broken something in the database. If I click on any of my pages I get errors like the following for all nodes :( I have tried going to the home docType and just resaving it but it makes no difference. and I'm getting object not set to an instance all over the place for things like datatypes etc...
Clicking on a node gives me
Server Error in '/' Application.
Value cannot be null. Parameter name: Property mainHeading (36) on Content Type Home could not be retrieved for Document 1054 on Tab Page Content. To fix this problem, delete the property and recreate it.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentNullException: Value cannot be null. Parameter name: Property mainHeading (36) on Content Type Home could not be retrieved for Document 1054 on Tab Page Content. To fix this problem, delete the property and recreate it.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[ArgumentNullException: Value cannot be null.
Parameter name: Property mainHeading (36) on Content Type Home could not be retrieved for Document 1054 on Tab Page Content. To fix this problem, delete the property and recreate it.]
umbraco.controls.ContentControl.CreateChildControls() +1056
System.Web.UI.Control.EnsureChildControls() +83
umbraco.controls.ContentControl.OnInit(EventArgs e) +32
System.Web.UI.Control.InitRecursive(Control namingContainer) +134
System.Web.UI.Control.AddedControl(Control control, Int32 index) +191
System.Web.UI.ControlCollection.Add(Control child) +86
umbraco.cms.presentation.editContent.OnInit(EventArgs e) +1025
System.Web.UI.Control.InitRecursive(Control namingContainer) +134
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +489
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929
Click on a datatype gets the following error
Server Error in '/' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
umbraco.cms.businesslogic.datatype.DataTypeDefinition.get_DataType() +241
umbraco.cms.presentation.developer.editDatatype.Page_Load(Object sender, EventArgs e) +590
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
umbraco.BasePages.BasePage.OnLoad(EventArgs e) +14
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929
As you may know, the docs are up on GitHub and we welcome contributions so if I've missed something important, make sure to send in that pull request (really, github makes it crazy easy to just fork and send a pull request).
Just did an upgrade from 4.7.2 to 4.11.8 without any issues. Overwritten everything in /bin, /install, /umbraco, /umbraco_client and did a merge on all the .config files. It through some errors on the first run but it was very clear what on what it was unhappy about so just removed I think 3 of the old .dll's
(On a side not I dont think I would've been this brave without Beyond Compare)
Upgrading from 4.7.2 to 4.10
I know each version has it's own upgrade instructions. And the safest path is to upgrade a step a time following those instructions, right?
4.7.2 -> 4.8.0
-> 4.8.1
-> 4.9.0
-> 4.9.1
-> 4.10
I was wondering if there were any "supported" shortcuts?
Ok, below is info for each step (simply gathered from the individual pages for each version on codeplex) - please note that many steps are just repeating things, follow the discussion on the full thread.
Now reading the std upgrade docs http://our.umbraco.org/wiki/install-and-setup/upgrading-an-umbraco-installation
Next up is collecting courage to begin the upgrades... :-o
-> 4.8
Patch release upgrade, update:
/bin
/install
/umbraco
/umbraco_client
Merge changes made to /config/umbracoSettings.config (Mainly the imaging section)
Add /config/applications.config and /config/trees.config files
Delete bin/App_global.asax.dll
Run installer
Remove the install folder after upgrading.
-> 4.8.1
Patch release upgrade, update:
{same folders as in 4.8}
Merge changes made to /config/umbracoSettings.config (mainly the imaging section)
Add /config/applications.config and /config/trees.config files
Delete bin/App_global.asax.dll
-> 4.9.0
Overwrite the following folders with the folders from the zip file:
{same folders as in 4.8}
There’s two new config files in /config (EmbeddedMedia.config, FileSystemProviders.config).
There are changes to the following config files: Dashboard.config, umbracoSettings.config, tinyMceConfig.config and xsltExtensions.config.
Use a tool like WinMerge to check changes between all of the config files. Depending on when you did this last there have been updates to quite a few of them (ClientDependency, Examine*).
Merge the changes in the web.config, new in 4.9.0 are the FileSystemProviders section in configSections and the new FileSystemProviders key pointing to it’s config file.
-> 4.9.1
Overwrite the following folders with the folders from the zip file:
{same folders as in 4.8}
Make sure to change the version number in config/ClientDependency.config! (just set it one version higher from what it currently is, so if the version is set to 7, make it 8).
-> 4.10
Overwrite the following folders with the folders from the zip file:
/App_Plugins (new)
/bin
/install (remove after the upgrade is finished)
/umbraco
/umbraco_client
/Views (new)
/global.asax (don't forget!)
Make sure to change the version number in config/ClientDependency.config. (just set it one version higher from what it currently is, so if the version is set to 7, make it 8).
Upgrade your config files, mainly the Web.config (do not change the database connection string while upgrading) and the umbracoSettings.config.
Hi Jonas
Thanks for sharing your step by step guide and experiences with us :) This topic was also discussed in another post the other day and some meant that it should be possible to upgrade directly from 4.7.2 to 4.9.1...but like you I would do the whole path since I'm not sure about how database changes are handled currently.
But hopefully it will get easier to do upgrades in the future because right now there's an awfull lot of stuff to keep in mind.
/Jan
Hi Jonas,
Thanks for your upgrade path. I think it would be a good idea to have this information in the Umbraco Documentation, as it is more efficient then browsing the update instructions for every version on Codeplex.
Yesterday I succesfully upgraded two websites from version 4.9.1 to 4.10.0, and I can add to that, that it is also necessary to merge the trees.config file with the trees.config file in 4.10. I had an issue with the Media Section after the upgrade (jQuery progress animation kept spinning when opening the Media Section). After merging the trees.config files, the issue was gone.
Also don't forget to copy BaseRestExtensions.config and log4net.config file.
greetings,
Anthony
Hi Anthony
Regarding the merging of the trees.config file I think it's always a best practice to do a winmerge check on the web.config file and all the Umbraco related config files found in the /config/ folder.
I think we should add the upgrade guidelines to the documentation project since a lot of people will probably be upgrading from at least 4.7.x to latest Umbraco version in the near future.
The benefit is that everyone can contribute to the documentation as they experience something that needs to be shared and when people help each other out on the forums it's easy to reference the upgrade documentation :)
Since I'm soon going to be upgrading some installations myself I have considered doing a manual somehow based on what is already here on our and on different blogs. I'll see if I can get it all collected and then create a page on the documentation page for it.
/Jan
Hi Jan,
Thanks for the documentation, #h5yr!
for my upgrades from 4.9.1 to 4.10.0 I did a merge of these config files: web.config, umbracoSettings.config and trees.config.
I used Winmerge : http://winmerge.org/
greetings,
Anthony
Just to add my 2 cents - you can upgrade from 4.7.2 directly to 4.8.1. 4.8.1 has a small DB upgrade so you don't really want to skip that one. I don't think 4.9 has any DB upgrades but not sure about 4.10
Lately when upgrading I've been trying something new - I delete my local bin, config, install, umbraco* folders (yes, delete!), then copy over all the new folders from the Umbraco zip. Then I use my source control (git) to help me merge back in any of my custom changes. This way I don't need to worry about deleting certain files, adding certain new ones, etc. It also catches any files that Umbraco removes - the normal upgrade process will leave these stray files on your system (for example, lots of JS files removed in 4.8.0 upgrade). So far this has been working very well for me.
-Tom
Hi Tom
That's an interesting approach.
But what about .dll files from 3rd party packages? Are they then just recreated when you merge back your upgrade files?
/Jan
HI Tom,
This seems like a very clever approach for upgrading an Umbraco website. I'm using Mercurial as source control system, but I only have basic knowledge of it. "hg add", "hg commit" and "hg push" are about the commands I master :)
So how do you "merge back in" your custom changes with Git?
greetings,
Anthony
H5yr guys!
I'll take a stab at it tomorrow. Since you're here, anyone know of the installer "duties" when it comes to upgrades. Shouldn't it take care of multiple db upgrade steps automatically (i.e 4.8.1 and 4.9 if I go directly to 4.10) on installation? (Pretty standard db migration stuff isnt it?)
Hi Jonas,
I was posting a couple of links on twitter but will bring them into this thread.
I ran into a couple of issues with the 4.7.x upgrade path. Just want to flag them here.
I asked for a shortcut on Twitter aswell, Sebastiaan Janssen suggested I could try go to 4.10 at once.
I did (it's a small site, easy to restore in case of failure) and it seems to have been working fine. Will be checking out the functionality more in detail today and tomorrow.
Looking at the upgrade instructions for each step, the 4.10 one does cover all file folders from the previous ones.
/App_Plugins (new)
/bin
/install (remove after the upgrade is finished)
/umbraco
/umbraco_client
/Views (new)
/global.asax (don't forget!)
The configs I needed to merge was Web.config, umbracoSettings.config, dashboard.config, tinyMceConfig.config and xsltExtensions.config.
And configs I needed to add : BaseRestExtensions.config, EmbeddedMedia.config, log4net.confic and FileSystemProviders.config.
And finally I needed to delete the bin/App_global.asax.dll like Ed and Sebastiaan said.
And the db seems to be fine, but I would like to have it confirmed that the installer also takes care of previous steps.
Thanks for the uComponents upgrade link Ed (however I do not use it on this site, so I did not need to upgrade that this time).
Now it's time to explore all the new goodness :-)
Cheers!
A config file that also seems gone is formHandlers.config. I removed it from my config folder and everything still works fine :)
Anthony
Hey guys great help everyone!!
Luckily, this was exactly the upgrade path I suspected would work just fine, woohoo!
The installer does only two things really, it checks if the database is up to date and if not runs the update script that Ed listed. If there had been multiple database updates, it would've ran them sequentially.
And the last thing it does is simply change the version number to 4.10.0.
I've favorited this thread and add it to the documentation so that in the future people will not have to go through all of the steps.
We're also really keen on making the upgrades easier, but that requires a fair bit of infrastructure and there are some things we just cannot do safely (like change or delete a value from a config file, because we don't know if you might actually be using that value for anything). I think (hope) we can get pretty far with more automated upgrades.
Hi Guys
So just to get it right - it should be no problem to go straight from 4.7.2 to 4.10? The DB changes that have been done in 4.8.1 will also be added without one having to upgrade to 4.8.1 first?
What if one needs to do an upgrade from 4.5.x - would it also be possible to just go straight to latest version?
/Jan
1. Yup, database upgrades will always run up until the version you're installing, so even if you install a higher version any intermediate upgrades will run.
2. 4.5.x is a different beast I guess. If you're on the new XML schema already then I don't think there's much to worry about and the process should be about the same (but I haven't read the release notes in a long time). It SHOULD also work with the old schema and we've built 4.10.0 to still support that, although I'm sure a lot of new packages won't support it so if you plan to install those you might have to upgrade to the new schema first.
Can I run the DB script on it's own?
I'm thinking...currently I have a development version of the site, which is source controlled in Mercurial and is using a development database...once I've upgraded the dev instance I should of course also upgrade the live site. But I'm think I might just delete the folders in question and copy over the updated files from my development instance.
Then I just need to make sure that the live database is upgraded - is that possible currently or would I need to upgrade both instances to be on the safe?
Hope the above makes sense :)
/Jan
I have just been upgrading a live site from 4.5.2 to 4.9.1
I can see on Twitter some people are having issues with upgrading, so i have postet my step by step guid.
Sorry it is in danish & a little english :-)
uComponents was first installed after the upgrade.
4.5.2 to 4.6.1
lav backup af web.config og andre config/* filer
Copy fra 4.6.1 zip fil
/app_data
/app_browsers
/app_code
/bin
/config
/data
/install
/umbraco
/umbraco_client
web.config
default.aspx
Updater web.config med db settings og andet userconfigurable der er ændret
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
slet i /bin
App_global.asax.dll
/bin/Microsoft.Scripting.dll
/bin/Iron * .dll
/bin/RazorEngine * .dll
kør FixPermission.bat på serveren i rod folder. (se nederst i denne fil)
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
4.6.1 til 4.7.2
Copy fra 4.7.2 zip fil
/app_data
/app_browsers
/app_code
/bin
/config
/data
/install
/umbraco
/umbraco_client
web.config
default.aspx
Updater web.config med db settings og andet userconfigurable der er ændret
slet i /bin
/bin/Microsoft.Scripting * .dll
App_global.asax.dll
Microsoft.Dynamic.dll
umbraco.MacroEngines.Legacy.dll
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
check site.
4.7.2 til 4.8.1
Copy fra 4.8.1 zip fil
/app_data
/app_browsers
/app_code
/bin
/config
/install
/umbraco
/umbraco_client
web.config
default.aspx
Updater web.config med db settings og andet userconfigurable der er ændret
delete i /bin
Fizzler.Systems.HtmlAgilityPack.dll
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
4.8.1 til 4.9.0
copy fra 4.9.0 zip fil
/bin
/install
/umbraco
/umbraco_client
/config
web.config
Updater web.config med db settings og andet userconfigurable der er ændret
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
4.9.0 til 4.9.1
copy fra 4.9.1 zip fil
/bin
/install
/umbraco
/umbraco_client
/config
web.config
Updater web.config med db settings og andet userconfigurable der er ændret
Updater umbracoSettings.config med:
<UseLegacyXmlSchema>true</UseLegacyXmlSchema>
kør FixPermission.bat på serveren i rod folder.
Tilgå site og kør wizard
tilgå /umbraco/dialogs/republish.aspx?xml=true
Efter upgrade opdagede jeg rod i nogle media links, Kør derfor denne sql:
kør FixPermission.bat på serveren i rod folder.
tilgå /umbraco/dialogs/republish.aspx?xml=true
Sæt debugmode til false i web.config
check site.
FixPermission.bat: for iis 7.0
REM Following line in original script incorrectly sets all child folder permissions
REM icacls . /grant "IIS_IUSRS":(OI)(CI)M
icacls app_code /grant "IIS_IUSRS":(OI)(CI)RX
icacls app_browsers /grant "IIS_IUSRS":(OI)(CI)RX
icacls app_data /grant "IIS_IUSRS":(OI)(CI)M
icacls bin /grant "IIS_IUSRS":(OI)(CI)R
icacls config /grant "IIS_IUSRS":(OI)(CI)M
icacls css /grant "IIS_IUSRS":(OI)(CI)M
icacls data /grant "IIS_IUSRS":(OI)(CI)M
icacls masterpages /grant "IIS_IUSRS":(OI)(CI)M
icacls media /grant "IIS_IUSRS":(OI)(CI)M
icacls python /grant "IIS_IUSRS":(OI)(CI)M
icacls scripts /grant "IIS_IUSRS":(OI)(CI)M
icacls umbraco /grant "IIS_IUSRS":(OI)(CI)M
icacls usercontrols /grant "IIS_IUSRS":(OI)(CI)R
icacls xslt /grant "IIS_IUSRS":(OI)(CI)M
icacls web.config /grant "IIS_IUSRS":(OI)(CI)M
icacls web.config /grant "IIS_IUSRS":M
REM If you have installed the Robots.txt editor package you need the following line too
icacls robots.txt /grant "IIS_IUSRS":M
Ok so for a test I have just tried to go from 4.7.1.1 straight to 4.11. I followed Jonas's post above and merged configs and copied across/deleted as suggested. I got to the installer, and went through it fine.
The Umbraco admin opened fine... BUT... Its completely broken something in the database. If I click on any of my pages I get errors like the following for all nodes :( I have tried going to the home docType and just resaving it but it makes no difference. and I'm getting object not set to an instance all over the place for things like datatypes etc...
Clicking on a node gives me
Server Error in '/' Application.
Value cannot be null.
Parameter name: Property mainHeading (36) on Content Type Home could not be retrieved for Document 1054 on Tab Page Content. To fix this problem, delete the property and recreate it.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: Property mainHeading (36) on Content Type Home could not be retrieved for Document 1054 on Tab Page Content. To fix this problem, delete the property and recreate it.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929
Click on a datatype gets the following error
Server Error in '/' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929
Hmm I've seen that error before, but I'm not sure if it's the same problem: http://our.umbraco.org/forum/developers/extending-umbraco/34701-Experimenting-with-base-media-types.
Maybe the solution of that topic can help.
Jeroen
@Lee You most likely have an older uComponents installed: http://our.umbraco.org/projects/backoffice-extensions/ucomponents/questionssuggestions/33021-Upgrading-to-Umbraco-48-breaks-support-for-uComponents
Seb's right. Just uninstalled the old uComponents and installed latest version and we are back in business.
FYI we now have upgrade instructions available in the documentation section http://our.umbraco.org/documentation/Installation/Upgrading/ - a lot of this is based on your hard work, thank you all very much!
As you may know, the docs are up on GitHub and we welcome contributions so if I've missed something important, make sure to send in that pull request (really, github makes it crazy easy to just fork and send a pull request).
Hey
Just did an upgrade from 4.7.2 to 4.11.8 without any issues. Overwritten everything in /bin, /install, /umbraco, /umbraco_client and did a merge on all the .config files. It through some errors on the first run but it was very clear what on what it was unhappy about so just removed I think 3 of the old .dll's
(On a side not I dont think I would've been this brave without Beyond Compare)
is working on a reply...