Copied to clipboard

Flag this post as spam?

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


  • Naveed Ahmad 9 posts 99 karma points
    Mar 04, 2021 @ 13:35
    Naveed Ahmad
    0

    How to upgrade umbraco version 7.4.2 to version 8+

    Dear developers, I have a Umbraco project implemented with the version of 7.4.2. Now I want to update the Umbraco version to latest due to performance issues.

    My site is multilingual using Vorto.

    1. If I update the latest version what are the things I need to consider?
    2. What are the steps to follow without losing data and files.

    Any best solution to this problem.

    Thank you. Naveed

  • Marc Goodson 2141 posts 14324 karma points MVP 8x c-trib
    Mar 05, 2021 @ 07:21
    Marc Goodson
    101

    Hi Naveed

    First things first, your performance issues may not be related to your Umbraco Version, and upgrading may not resolve them. It's often what people are recommended to do when their site is slow.

    Most performance issues on sites are due to issues with 'the implementation', or the build-up overtime of things affecting the database, eg index fragmentation and Umbraco Versions...

    There are always positives to upgrading, bug fixes, and indeed 'some' performance gains, but important to realise that upgrading is not a magic performance fixing bullet!

    My suggestion first would be to get the site to 7.15.7, (it's a required step to make anyway if you plan to migrate to V8) - from 7.4, you may have to do this in several steps, eg upgrade to 7.6.14 first and then upgrade to 7.7 and then after 7.7 you will be good to upgrade straight to 7.15.7 (this is because UserGroups were introduced in 7.7 for backoffice users, and you can get an issue where you can't login to authorize the upgrade if the UserGroup tables aren't created yet, but the upgrade creates them! - you can work around this by doing the steps as I suggest or if you are 'logged in' to the old site before you apply the upgrade and your browser remembers!)

    There is a good general upgrade guide here:

    https://our.umbraco.com/documentation/getting-started/setup/upgrading/general

    and the 'version specific' guide is a godsend for tasks that need to be completed manually:

    https://our.umbraco.com/documentation/getting-started/setup/upgrading/version-specific

    Essentially when you upgrade you'll want to take a copy of your live database, and run locally, carry out the different upgrade steps that get you to your desired version and test. Write down the steps you take, and then once you have tested and are happy with the upgraded site - have a content freeze and play back those steps onto a copy of the live db and site, then 'switch' to put the upgraded site live.

    The problems you may encounter is that plugins and packages you have in 7.4 may not be compatible with the later version of Umbraco, so it's well worth having a package and plugin audit of your site first and see which ones are compatible!

    And here in lies your problem for migrating to V8, you use Vorto, and Vorto doesn't currently have a release for V8 - and is unlikely to, as V8 has a new feature called 'Variant's baked into the core, that operate in a similar way to Vorto, but not exactly the same!

    The content migration guide for V8 is here:

    https://our.umbraco.com/Documentation/Getting-Started/Setup/Upgrading/migrating-to-v8

    But essentially whilst you would be able to migrate your content to V8, there would be nothing to immediately allow you to edit your Vorto properties in the backoffice, they would just appear as a readonly label.

    So you'd need to manipulate in the database the vorto stored properties to be in a format compatible with variants...

    ... fortunately I think 'teeto' has done that here with a custom healthcheck:

    https://github.com/teeto/Vorto-migration-for-Umbraco-8

    Following that hopeful success (and any other V7 only packages you might have) - you'd then need to reimplement all your templates and partial template views, and any controllers, extensions you may have to Umbraco, to use the updated V8 syntax.

    eg Model.GetPropertyValue becomes Model.Value etc

    regards

    Marc

  • Naveed Ahmad 9 posts 99 karma points
    Mar 05, 2021 @ 07:32
    Naveed Ahmad
    0

    Thanks Marc. A very detailed answer.

  • Naveed Ahmad 9 posts 99 karma points
    Mar 12, 2021 @ 13:04
    Naveed Ahmad
    0

    Hi,

    That's seems to be solution, but I have not applied any change and cancelled my plan to upgrade because we have no time and budget to re-work a lot to make it compatible with version 8 to get only performance improvement. So I am theoretically marking this answer as Solution.

    Thanks.

  • Naveed Ahmad 9 posts 99 karma points
    Mar 17, 2021 @ 07:37
    Naveed Ahmad
    0

    Hi Marc,

    For us, performance is a major issue. In some cases we generated price list, you can say 200 to 300 records. For each item, programmatically or from back office, Save and Publish event took almost second. In this way, our one action take 200 to 300 seconds. In production, Cloud flare timeout our page request. Also this is not fair user experience.

    Do not you think this is a genuine issue with Umbraco 7 ? (we are using 7.4.2)

    Thanks! Naveed

  • Marc Goodson 2141 posts 14324 karma points MVP 8x c-trib
    Mar 17, 2021 @ 20:45
    Marc Goodson
    0

    Hi Naveed

    Where do you store the price lists? in a custom database table or Umbraco nodes?

    and are you updating Umbraco content programmatically on a regular basis using the ContentService? Have you a 'ton' of versions for each content item? or do you use UnVersion package to prevent the number of versions increasing forever... ?

    Are your SQL indexes fragmented? Run the following SQL to find out: https://gist.github.com/marcemarc/9d6553e881a7cf536c8bd98f8c35fd92

    Info here on what to do about fragmented indexes... https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-server-ver15

    Is the site unstable, do you have lots of 'restarts' in the logs?- then if so there was an issue in 7.4 related to file change notifications - setting FcnMode=Disabled in the web.config - may bring some respite: more info here: https://shazwazza.com/post/all-about-aspnet-file-change-notification-fcn/

    To start troubleshooting performance issues in the code, I'd run the site locally and use the MiniProfiler https://our.umbraco.com/Documentation/Getting-Started/Code/Debugging/#miniprofiler

    to breakdown which parts of the displaying of a template are slow, you can then drill down to find which lines of code are slowest, and review whether these are actually the best way to achieve a task, eg calling descendants, or looking up things during loops, etc, have a read of the common pitfalls and anti-patterns document for reference:

    https://our.umbraco.com/Documentation/Reference/Common-Pitfalls/

    I think it's worth upgrading your site to the latest v7, eg v7.15.7 there are a ton of improvements from your current version:

    https://our.umbraco.com/download/releases/compare?from=7.4.2&to=7.15.7

    But I would definately do the analysis to try to find what is slow first!

    regards

    Marc

Please Sign in or register to post replies

Write your reply to:

Draft