How to upgrade from uSkinned Site Builder for Umbraco 8, 9, 10, 11 or 12 to Umbraco 13
If you have Umbraco Forms installed make sure you have upgraded to the latest version of Umbraco Forms for Umbraco 8 which is 8.13.12 and and have Forms configured for storing form definitions in the database.
This upgrade guide includes the use of uSync. If you are using Umbraco Cloud as your hosting provider it is very important that after completing the upgrade you uninstall uSync before pushing your code changes to Umbraco Cloud.
Umbraco Cloud support have stated that uSync interferes with Umbraco Deploy and will cause issues updating Cloud environments.
Please note, this guide does not relate to our Legacy Umbraco 8 themes. You can only follow this guide if your project was started using uSkinned Site Builder.
This guide also assumes that you have not made any changes to uSkinned code, Document Types, Data Types etc.
If you have made your own changes then you will need to migrate these changes yourself.
Upgrades directly from 8 to 13 are not possible due to a breaking change which you can read more about here.
The following guide demonstrates the upgrade process from 8 to 10 and then 10 to 13.
Step 1
Create a new Umbraco 10 project and install uSkinned Site Builder 3.0.5 for Umbraco 10.
Follow our guide here if you are unsure how to do this.
Step 2
Install uSync against your new Umbraco 10 website.
dotnet add package uSync --version 10.7.1
Step 3
Run your website. This will generate uSync files which define the database records for your uSkinned Site Builder product.
Delete the contents of:
- ~/uSync/{VERSION}/Content
- ~/uSync/{VERSION}/Media
The reason you do this is because in a later step you are going to run a uSync content import to update Dictionary items in your existing Umbraco 8 database. You do not want to overwrite your content and media with the demo content that has been installed against your Umbraco 10 database.
Step 4
Go to your Umbraco 10 website directory and delete the contents of:
~/wwwroot/media/
Go to your Umbraco 8 website and copy the contents of:
~/media/
Paste your copied media into your Umbraco 10 website directory at location:
~/wwwroot/media/
Step 5
It is very important that you take a backup of your Umbraco 8 database before proceeding with the next steps.
Locate the following file within your Umbraco 10 website directory:
~/appsettings.Development.json
Update the connection string to point to your Umbraco 8 database.
Set UpgradeUnatended to true.
Set RunSchemaAndContentMigrations to false.
{ "$schema": "https://json.schemastore.org/appsettings.json", "ConnectionStrings": { "umbracoDbDSN": "YOUR UMBRACO 8 DATABASE" }, "Umbraco": { "CMS": { "Unattended": { "UpgradeUnattended": true },
"PackageMigration": {
"RunSchemaAndContentMigrations": false
} } } }
Step 6
Run your website and login to the Umbraco CMS. Dont worry if you see an error when browsing the frontend of your website at his stage.
Go to the Settings (Section) > uSync (node) > Import Settings
This will update Document Type and Data Type changes
Be aware that a content import will overwrite any changes you have made to your Dictionary items. If you have made changes you will need to go through each uSync Dictionary item and update accordingly.
- ~/uSync/{VERSION}/Dictionary
Go to the Settings (Section) > uSync (node) > Import Content
This will update Dictionary item changes
When the settings import is complete your website will be upgraded to Umbraco 10.
Step 7
Re-save your Design node to generate the stylesheet for your website.
Step 8
Use the following SQL against your database to stop package migrations running each time you start your website:
INSERT [dbo].[umbracoKeyValue] ([key], [value], [updated]) VALUES (N'Umbraco.Core.Upgrader.State+uSkinned Site Builder', N'7620af66-17aa-494f-83bf-30ae13ce31c5', GETDATE())
GO
INSERT [dbo].[umbracoKeyValue] ([key], [value], [updated]) VALUES (N'Umbraco.Core.Upgrader.State+uSkinned Site Builder - RTE App Settings', N'a4e56f62-8813-44d2-84dc-9eecdcee0b26', GETDATE())
GO
Step 9
It is possible to upgrade from 10 to 13 using Nuget however we have found that some people have difficulty with this process. We therefore recommend creating a new Umbraco 13 website with the latest version of uSkinned Site Builder installed and repeat steps 1 to 7 above except this time you are moving from 10 to 13 instead of 8 to 10.
If you have completed the above steps to upgrade and experience any issues, please refer to the following troubleshooting solutions.
Troubleshooting
The following issues are a result of not following Step 1 in this guide and instead attempting to complete the upgrade process via NuGet.
Error in backoffice when viewing content nodes
'Sequence contains more than one matching element'
Caused by duplicate property editors which happen due to the presence of property editors found in the folder:
~/App_Plugins/
The property editors from this folder are now included with the Razor Class Libraries for Umbraco 10.
If you are using Umbraco Forms, delete the folder:
~/App_Plugins/UmbracoForms
If you have upgraded via NuGet, delete the folder:
~/App_Plugins/uSkinned
Now, rebuild your project and run.
Form Submission goes to a blank page with Javascript output
Javascript is broken due to a change in the file
~/Views/USNMaster.cshtml
Contact support for guidance on fixing this issue.
#h5yr
Related content