With the end-of-life (EOL) of Umbraco 7 approaching in September 2023 and Umbraco 10 slated to reach its EOL in 2025, it's essential for Umbraco website owners to plan their migration to the latest version. However, upgrading from Umbraco 7 to Umbraco 10 is not a direct process, as there are significant changes in the codebase, underlying web framework, and database schema.
This guide aims to provide an overview of the general steps involved in upgrading a Umbraco 7 solution to Umbraco 10. Please note that this guide is not definitive, and it's essential to perform thorough testing and backups before proceeding.
- Ensure the project is on Umbraco 7 or a higher version.
- Have the project cloned and working on your local machine.
- Access to the SQL Database.
- Confirm that no one else is making any changes during the upgrade process, as it involves a significant breaking change.
Step 1: Setup SQL and Data for Umbraco 7 to Umbraco 10 migration
Before starting the upgrade process, it's crucial to have a backup of your Umbraco 7 database. The upgrade may involve schema changes, so it's essential to safeguard your data. You can create a backup using your SQL Server Management Studio or any other database management tool you prefer.
Step 2: Create a new project with Umbraco 10
Start by creating a fresh Umbraco 10 project using the Umbraco project templates. This new project will act as the target for your migration.
Step 3: Migrate content and types from the old project to the new Umbraco 10 project
One of the most critical steps in the upgrade process is migrating your content and content types. You'll need to manually transfer the data from Umbraco 7 to Umbraco 10. This can be time-consuming, but it ensures a clean migration.
Step 4: Migrate custom code from the old project to the new Umbraco 10 project
If you have any custom code in your Umbraco 7 project, you'll need to re-implement it in the Umbraco 10 project. This may include custom controllers, data access layers, and other functionalities specific to your website.
Step 5: Configure Models Builder
Models Builder is a crucial component that generates C# models for your document types and data. Make sure to configure Models Builder in your Umbraco 10 project to reflect the document types used in your upgraded content.
Step 6: Migrate Home Page
Start by migrating the home page of your website. This will give you an opportunity to test and validate the migration process for a single page before proceeding with the entire site.
Step 7: Add Gulp
If your Umbraco 7 project utilises Gulp for frontend tasks, you'll need to add Gulp to your Umbraco 10 project as well. Adjust the tasks to accommodate any changes in the directory structure or build process.
Step 8: Migrate Controllers, Utilities, Helpers, and ViewModels
Move on to migrating custom controllers, utilities, helpers, and ViewModels from your Umbraco 7 project to the Umbraco 10 project. Ensure that any dependencies or packages used in the old project are compatible with Umbraco 10 and ASP.NET Core.
Step 9: Migrate the rest of the Views
Step 10: Test Migrated Components
Thoroughly test the migrated components, including custom functionalities, forms, and any integrations with external systems. Address and fix any issues that may arise during testing.
Step 11: Resolve Unsupported Packages
Review the packages used in your Umbraco 7 project and verify if they are compatible with Umbraco 10. Some packages may not have updates or support for the latest Umbraco version, and you'll need to find suitable alternatives or custom solutions.
Step 12: Move Across Website Configuration
Migrate any configuration settings, such as web.config changes or environment-specific configurations, from the old project to the new Umbraco 10 project.
Step 13: Deploy The Migrated Umbraco 7 to 10 Site
Once you have completed the migration and thoroughly tested the website, it's time to deploy the Umbraco 10 site to your production server. Be cautious during this step, as any errors in the deployment process could result in downtime for your website.
Known Issues & Resolutions Umbraco 7 to Umbraco 10
Throughout the upgrade process, you may encounter various issues, such as broken links, missing data, or compatibility problems with certain packages. Keep a record of these issues and their resolutions to help other team members and to ensure smoother future updates.
As this is a significant undertaking then a full end-to-end test will be required of all front en
In conclusion, upgrading from Umbraco 7 to Umbraco 10 is a significant undertaking that requires careful planning, testing, and attention to detail. By following the steps outlined in this guide and maintaining proper backups throughout the process, you can successfully migrate your Umbraco 7 website to the latest and supported Umbraco 10 version, ensuring your website remains secure and up-to-date.
If you have a website running on an older version of Umbraco CMS then give me a call or send in a question, and the team at 360 Systems will help you out.