Migration from Drupal 7 to Drupal 8/9 is more of a re-build than a simple upgrade. We can move the content. users and other configuration with the help of core system, But still their will be a need to re-write custom modules or themes and some times contrib ones as well. By having a list which helps us to Audit any D7 Project to Drupal 8/9 migration would help start quick.
Note: Complexity of upgrade will depend on how complex is existing Drupal 7 application.
Auditing any D7 to D8/9 can be classified at high level into below steps..
- Check Core/Contrib code is hacked?.
- Content, Users & Configuration migration.
- Equivalent D8/9 Contrib Module/Theme/Library.
- Custom Code migration, either Custom Module/Theme/Library.
- Check, was their any code dependent on third party applications.
Each of the above steps would have very in-depth and in-detail analysis so that we get a details audit report for this migration from D7 to D8/9.
Check Core/Contrib code is hacked?
While checking for any core or contrib module is hacked or not, It is important is note that you need to understand about the hack done, why was it done and what is the impact of it? We could use a module called Hacked and check if any modules are hacked or not.
Content, Users & Configuration migration
To migrate content, users and configuration we can use the drupal 8/9 core itself. It would be very straight forward like, list out the content types, fields added to content type or users and Create the same ones in drupal 8/9. Later create content & users manually or with an automated approach. Similarly for configuration you can anaylyse and create.
Equivalent D8/9 Contrib Module/Theme/Library
Finding equivalent D8/9 Contrib Module/Theme/Library is pretty tricky one. The reason is you have to see what existing D7 module was providing is same or less or more than the new D8/9 module. You might have to do small POC & get it confirmed before you proceed with these new modules.
Custom Code migration, either Custom Module/Theme/Library
Custom code migration is a crutial part. You need to detail analysis of exisiting code, like in and out of the code and come up with the solution diagram kid of stuff.. which would help other team members. And you should be ready with segregating code like which piece to go where or sub modules or any independent libraries or any common code.
Check, was their any code dependent on third party applications
Also it pretty important to check if any code is dependent on third party applications, like API is returing the data to be used on the drupal application or any such similar case.
This is a brief of Audit to start with on Drupal 7 to Drupal 8/9, I'll be writing in detail of each in further articles. You can reach out to me for any Drupal related services