How to estimate Drupal 7 to Drupal 8 migration
When a customer asking cost and time estimation of upgrade of a existing Drupal 7 to Drupal 8 most of project managers and developers finds difficulty to estimate since they will be doing this first time. Through this series of blog post I will explain how we will accurately estimate upgrade process by considering all difficulties that we may face during upgrade of current drupal 7 instance to Drupal 8 version.
As we already know Migration to Drupal 8 is more of a re-build than a simple upgrade. While the content, users, and other elements can be systematically moved over cleanly, it is still needed to :
- Re-create the themes
- Install and configure modules
- Reconfigure views, and much more.
The complexity of an upgrade is determined by the complexity – and quality – of your existing Drupal 7 instance. If current Drupal7 instance is a website with single main theme and without custom modules and without any customization in core and contributed modules, then difficulties facing during migration is less. But most of the websites have multiple themes and multi domain multi site configurations. So there will be multiple custom modules and lot of contributed modules and that may be customized for various custom functionalities for specific users. We need to understand for what purpose all these customizations are done in contributed and core modules. And we have to do same in new Drupal 8 instance and have to test it whether all functionalities are working fine or not.
So before estimation we should know that time required to migrate to Drupal 8 is same as building new website in Drupal 8. Also there are tools available to automate each process in migration but which are not automate all migration , in that case we to do custom some script and manual migration example like manually creating taxonomy in current instance.
Migration of a existing D7 to D8 can be broadly classified into below steps
- Migration of content , configuration , fields and users etc
- identify each existing contributed module and check whether its D8 is available or not. If it is not available install corresponding alternative module.
- Migration of contributed modules
- Migration of existing custom modules
- Migration of themes or recreate themes
Related to theme files there should be clear understanding of how many template files are there, including view templates and page template files. Later in this series of blog I will explain practical difficulties that may we will face during migration of theme files.
Configure and run Audit modules on current Drupal 7 website
in this section I will explain various modules that can be helpful to identify current status of various contributed and core module so that we can understand complexity that can be expected while migration process in progress. Also these modules provide various reports that will help to estimate migration effort and cost.
While configuring these auditing modules , this should not do in Production instance. Also not need to install all modules listed here . These modules will help you to understand various parameters and complexities that may phase in future while migration process going on.
This module scans the currently installed Drupal, contributed modules and themes, re-downloads them and determines if they have been changed. Changes are marked clearly and if the diff module is installed then Hacked module will allow you to see the exact lines that have changed.
Hacked! also provides drush integration so that you can see what files have changed from the command line.This is primarily a developer tool and should never ever (don’t even think it) be installed on a production site.
You can download module from here https://www.drupal.org/project/hacked
Keep this list of changes in a excel sheet which need to be ported to new website.
Drupal 8 upgrade estimate module
You can also install and run this module which will provide various report on based on current modules installed in current instance. This module can be used for estimation purposes. This tool uses a proprietary algorithm, input data and more factors to generate a report which calculates the effort required in the migration.
You can download module from here
Please see below details about available reports in this module. Also advanced features are available
Audit files is designed to perform audits of your upload directory and the corresponding database records. It will cross check that all files in the database have a corresponding physical file, or it will check that all files in the upload directory have a corresponding entry in the database.
The Security Review module automates testing for many of the easy-to-make mistakes that render your site insecure.
Download and enable the module and just hit the “Run checklist” button to see results.This module not fix any security issue. This will give you list of security threats
Site Audit is a Drupal static site analysis platform that generates reports with actionable best practice recommendations.
The end result is a fast, repeatable report that can help detect common problems and provide introspection into Drupal sites. Reports can be generated in multiple formats, including plain text, HTML, and JSON.
SecKit provides Drupal with various security-hardening options. This lets your mitigate the risks of exploitation of different web application vulnerabilities.
You can download module from here.