How to approach a migration from Jahia 7 to Jahia 8
Jahia 7 was first released in 2014. Six years later, we decided to rebuild our UI and do major back end upgrades which led to the release of Jahia 8.
Traditional Jahia upgrades usually consist of simply running an upgrade patch; however with the major changes introduced in Jahia 8, your implementation will need to be reviewed and updated.
Depending on the plugins, configurations, and integrations you may be using, your migration process could differ significantly from someone else’s. Here at Jahia, we’ve developed a plan with concrete steps that will help your organization successfully migrate from Jahia 7 to 8.
Our migration plan helps to determine the roles, responsibilities, and actions that are needed as part of the process. You’ll need to assign developers to perform the upgrade, figure out which modules need to be reconfigured, and decide if new software will be required. With guidance from the Jahia Professional Services team, we’ll structure how the upgrade will be performed and help to establish the resourcing for a proper migration.
The migration preparation
At the beginning of the planning process, our professional services experts will get to know your project and context to help build out your custom migration plan. We’ll work with your stakeholders and relevant teams to ensure that everyone is aligned on the requirements. Our perspective is that of shared responsibility. We’ll be with you for each step in the migration process all the way up to production.
During this phase, this is also where your business team will get familiar with the new UI and features of Jahia 8.
Our product team created comprehensive migration guides and a migration assistance module to assist you in assessing the scope of what a Jahia 8 migration will look like. We created migration guides for each persona involved in the migration:
- Migration guide for functional administrators
- Migration guide for system administrators
- Migration guide for developers
It is crucial for each team involved in the migration to go through this documentation in order to better understand their roles and responsibilities.
Migration Preparation is the most important step of the process. During this phase, each team involved will:
- Get familiar with the resources available
- Secure some bandwidth to assist in the migration process
- Put together a migration planning document
2. Recovery process
Before the code migration can begin, you need to ensure that you have a proper backup restore process in place. Not only will you need to validate that the proper backup mechanisms are in place but you should also make sure that you are able to restore your environments in a timely manner.
3. Code freeze
Prior to kick-starting the migration, you will need to pause all currently ongoing Jahia developments.
Your business team is not impacted at this stage of the migration and can still update/create content.
4. Code base migration
Your development team will perform the code base migration by following the guidelines provided in the Migration guide for developers. The code base migration can be done and tested on local environments.
5. Creation of a validation environment
Leveraging Jahia’s backup-restore documentation, you will create a clone of one of your Jahia 7 environments. This clone will be leveraged to test and validate your code base migration.
6. Migration of the validation environment to Jahia 8
The clone environment will need to be migrated to Jahia 8 by applying our migration patches. The migration patch can be generated here: Customer Center: How to upgrade.
Once the environment has been migrated, your development team will deploy the updated code base compatible with Jahia 8 (from step 4).
It is crucial to properly document this step since it will be repeated for your non-production and production environments.
7. Deployment of the Jahia 8 codebase
After being migrated, you will see that your codebase will no longer work, hence your website will not be accessible. You will need to deploy the new modules that have been updated in step 4.
This step also needs to be properly documented.
8. User Acceptance Testing
Time to validate your environment and make sure your website is fully functional. This is also where you can update your training material and documentation in order to match the new Jahia 8 user interface.
9. Plan the upgrade of non-production and production environment
This is where you will work together with your marketing and content teams to plan the final migration.
Upgrading to Jahia 8 will require a content freeze during which business users can’t create/update content.
If you can’t afford any downtime for the upgrade, you might need to consider a blue-green upgrade.
It is usually best practice to perform the upgrade at the beginning of the working day. Even if it might impact the business more, it will give your development team more time to validate the environment.
10. Migration of non-production environments
Time to upgrade your non-production environments. Here, you will repeat steps 5 and 6 on your non-production environments. This is again why internal documentation of those steps is key to a smooth upgrade.
Once migrated, you will perform a user acceptance test prior to moving to the production environment.
11. Content Freeze in Production
Business users will now need to stop creating content in production while the migration happens.
12. Migration of the production and go-live
Time to upgrade your production environment. At that point, you should be quite familiar with the migration process. Once validated, you can redirect the traffic to this migrated production environment, “et voilà”.