Umbraco Upgrade v8 -> v13
Igloo v5 (Umbraco v8) to v13.x (Umbraco v13)
Last updated
Was this helpful?
Igloo v5 (Umbraco v8) to v13.x (Umbraco v13)
Last updated
Was this helpful?
Take a backup of your existing site and database just in case.
If you are able to we’d encourage you to use the backup to set up a development environment for the site and database to mitigate any risk to you production environment.
Upgrade your v8 site to the latest Umbraco v8 release (8.18.13 at the time of writing)
Upgrade your Umbraco Forms package to the latest Umbraco 8 targeted version (8.13.13 at the time of writing)
Update your Umbraco Forms Configuration to store the forms data in the database in App_Plugins\UmbracoForms\UmbracoForms.config
The usual authorised upgrade process should be followed to migrate your database.
We now need to spin up a vanilla v10 Umbraco instance to migrate your v8 content.
We need this intermediary step as sql migrations are only maintained in Umbraco releases for the two previous major versions, so v10 has v8 migrations, but v13 only includes from v11 (at least that’s our understanding)
We find running the code in Visual Studio code (with the Powershell extension) gives a nicer experience than the terminal (with debugging if required). Make sure you’ve trusted the workspace and set the language to Powershell. Then, you can run/debug via the top right toolbar.
Once you have the site ready to go, we need to point the installation to the v8 database we prepared earlier.
As mentioned, we’re doing this against a local clone of the database, so usually use LocalDB and a trusted connection, so add/update appsettings.Development.json to include;
You will see
but that is to be expected as we’re running a specific version with a vulnerability, but only as a temporary database migration step.
Running the site, you’ll again see the authorised update process.
We now need to spin up a vanilla v13 Umbraco instance to migrate your v10 content.
You might want to update the solution/project names (IglooMigration/Igloo.www in the example) to match your requirements, as this will be your site moving forward. The prerelease tag for the igloo package could be removed if you read this after we’ve released it.
Once you have the site ready, we need to point the installation at the v10 migrated database we upgraded in the previous step.
Again we add/update appsettings.Development.json to include;
Before running the site, we need to manually add/check that the required igloo migration value is in the database, as we already have all the datatypes/doctypes and default content from the previous v8 installation.
The TSQL to run is the following, or you can use any other method.
Running the site, you’ll again see the authorised update process.
You will see a no valid license at this point and an empty document, so you will need to copy your igloo.key file containing your license from the previous install. It goes in the igloo folder. Or you can re add via the backoffice also.
There are a few changes to make in the back office to the document types.
Back-office> Setttings> DocumentTypes > Widgets > Latest From Feed > Latest From Feed Settings
We need to update Number of Posts from a textstring to a numeric.
Back-office> Setttings> DocumentTypes > Base Document Types > Feed
This one is just an alias change, HideDate → HideDates
Back-office> Setttings> DocumentTypes > Widget > Grid > Person Settings
Update two aliases hideDescriptions → hideDescription, hideEmails → hideEmail
If you happen to miss one of these changes or if others are still lurking, you’ll see something similar to the following.
This process should now have your content migrated both to Umbraco 13 and Igloo 13.
If you have customized the Igloo CSS beyond the inbuilt Igloo theming engine, you will now have to merge your changes from your previous site.
If you have created additional widgets, these will also need to be migrated, the content/doctypes will be present from the migrated database, but you will need to migrate your views and associated code from the previous site.
If you have other functionality above and beyond core Igloo, you will also have to revisit that to update to the v13 standards.
For expediency, we can use (or any method you chose, this is a throw-away installation so there is no need to complicate it)
Again, for expediency, we can use