A Drupal 7 to Drupal 8 migration project where I was the Senior Drupal Developer on the team. The original Drupal 7 website was complex with many layers of work that needed to be migrated. The source data included 15 domains powered by the Domain Access module, over 30 Content Types, 3 Field Collections, Events with Repeating Date Ranges for start and end dates, over 50 Webforms with Submissions, and over 7,000 Media files that were embedded in body content of over 10,000 Pages and 50,000 Content Revisions. Other important features included a Google Maps powered Doctor Finder with a Zip Code Proximity Filter, an automated import script to consume a SalesForce.com CSV file and create doctor content records, and an Events Calendar with a custom Weekly View.
In order to migrate the data into Drupal 8, I used a mix of contributed modules, patches, and custom modules that added missing Migration API Plugins. Some of the missing plugins were for Domain Access where content is associated with a select list of domains, Repeating Date Ranges needed custom configuration to migrate into the contribute module Date Recur, and Embedded Media needed custom patching to associate the alignment class and alternative text in Drupal 8. I was able to migrate the Field Collections into Paragraphs and maintain the history of revisions. I also wrote a custom module that added 8 custom block types with their templates and configuration forms. I also was able to install a large starter set of custom blocks using the Default Content module and custom configuration. To make the frontend build out easier, I built a module to extend the available Twig functions with complex PHP methods whenever generating certain markup was not appropriate or easy in Twig.
This migration and upgrade for the Catholic Health Services of Long Island was a complex job. But with some great teamwork we were able to complete the project in 3 months and the new website launched at the end of January 2020.