Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Jonas Eriksson 930 posts 1825 karma points
    Nov 10, 2012 @ 08:49
    Jonas Eriksson
    1

    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?

  • Jonas Eriksson 930 posts 1825 karma points
    Nov 10, 2012 @ 09:35
    Jonas Eriksson
    4

    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. 

  • Jan Skovgaard 11280 posts 23678 karma points MVP 10x admin c-trib
    Nov 10, 2012 @ 13:00
    Jan Skovgaard
    2

    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

  • Anthony Candaele 1197 posts 2049 karma points
    Nov 10, 2012 @ 14:43
    Anthony Candaele
    2

    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

  • Jan Skovgaard 11280 posts 23678 karma points MVP 10x admin c-trib
    Nov 10, 2012 @ 14:49
    Jan Skovgaard
    2

    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

     

  • Anthony Candaele 1197 posts 2049 karma points
    Nov 10, 2012 @ 14:59
    Anthony Candaele
    0

    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

  • Tom Fulton 2030 posts 4998 karma points c-trib
    Nov 10, 2012 @ 16:19
    Tom Fulton
    3

    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

  • Jan Skovgaard 11280 posts 23678 karma points MVP 10x admin c-trib
    Nov 10, 2012 @ 16:42
    Jan Skovgaard
    0

    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

  • Anthony Candaele 1197 posts 2049 karma points
    Nov 10, 2012 @ 16:51
    Anthony Candaele
    0

    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

  • Jonas Eriksson 930 posts 1825 karma points
    Nov 10, 2012 @ 17:51
    Jonas Eriksson
    1

    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?)

  • Ed Knight 16 posts 99 karma points
    Nov 10, 2012 @ 20:12
    Ed Knight
    3

    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.

    • 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.
    • Ucomponents: Given that a great percentage have UComponents running on sites as well, the path from 4.7.x upward requires some attention. I followed the post from FirePol in this thread (http://our.umbraco.org/projects/backoffice-extensions/ucomponents/questionssuggestions/33021-Upgrading-to-Umbraco-48-breaks-support-for-uComponents)
    • 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)

  • Jonas Eriksson 930 posts 1825 karma points
    Nov 11, 2012 @ 07:59
    Jonas Eriksson
    4

    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! 

  • Anthony Candaele 1197 posts 2049 karma points
    Nov 11, 2012 @ 09:34
    Anthony Candaele
    0

    A config file that also seems gone is formHandlers.config. I removed it from my config folder and everything still works fine :)

    Anthony

  • Sebastiaan Janssen 5045 posts 15476 karma points MVP admin hq
    Nov 11, 2012 @ 09:37
    Sebastiaan Janssen
    3

    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.

  • Jan Skovgaard 11280 posts 23678 karma points MVP 10x admin c-trib
    Nov 11, 2012 @ 10:14
    Jan Skovgaard
    1

    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

  • Sebastiaan Janssen 5045 posts 15476 karma points MVP admin hq
    Nov 11, 2012 @ 12:36
    Sebastiaan Janssen
    0

    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.

  • Jan Skovgaard 11280 posts 23678 karma points MVP 10x admin c-trib
    Nov 11, 2012 @ 19:27
    Jan Skovgaard
    0

    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

  • Søren Reinke 158 posts 206 karma points c-trib
    Nov 14, 2012 @ 08:53
    Søren Reinke
    0

    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

     

  • Lee 1130 posts 3088 karma points
    Nov 27, 2012 @ 11:23
    Lee
    0

    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
  • Jeroen Breuer 4908 posts 12265 karma points MVP 4x admin c-trib
    Nov 27, 2012 @ 11:29
    Jeroen Breuer
    0

    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

  • Sebastiaan Janssen 5045 posts 15476 karma points MVP admin hq
    Nov 27, 2012 @ 11:29
  • Lee 1130 posts 3088 karma points
    Nov 27, 2012 @ 11:42
    Lee
    0

    Seb's right. Just uninstalled the old uComponents and installed latest version and we are back in business.

  • Sebastiaan Janssen 5045 posts 15476 karma points MVP admin hq
    Jan 10, 2013 @ 18:51
    Sebastiaan Janssen
    101

    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).

  • Ruald Gerber 20 posts 41 karma points
    May 03, 2013 @ 11:08
    Ruald Gerber
    1

    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)

Please Sign in or register to post replies

Write your reply to:

Draft