Though a challenging and time-consuming undertaking, migration is yet an important part of Drupal and plays its crucial role whether updating from Drupal 6/7, or when switching and importing data from another content management system (CMS). As most of us have gone through the process of migration at least once in our experience with Drupal, we are well aware of the problems and unforeseen surprises that are capable of showing up.
Therefore, some ideas and principles compiled from the expertise of the Drupal Community can come handy if you are initiating the migration for your Drupal site anytime sooner. And not to forget, Drupal 9 is coming soon. Migration will be inevitable if you haven’t started it yet.
Let’s count on those practices!
Where should I start?
When starting with any form of migration, one should begin with getting an overview of how everything works and fits in the current processes and as well as the future. Though every other project or site is different, this starter pack will give you a blueprint of how to initiate and thus plan and prepare for it.
Chalk Out a Plan
Invest in planning the proceedings of a migration. Start with identification of what can be and what cannot be migrated depending on the modules’ availability. Second, approach the right course of actions that your migration should follow throughout. Organisation of data and structured architecture is another important aspect that should be implemented well in advance. And lastly, rehearse the migration before actually migrating the site with the production data. These will help in running a smooth kick off for your migration.
Assemble Modules and Files
Another important task at hand is obtaining the minute details of the existing site, from the tools and accessibility required for migration to the database and file access. As a developer, you should be leading the content and updates in a correct fashion. For the ease of the process, you can make a checklist of contributed and core modules in use and then determine which modules are available to be migrated. This will also document the modules and files for referencing later at any stage.
With a fresh site in use, developers have an upper hand when migrating configuration and content.
Content managers play a pivotal role during the migration of content and data. They perform a content audit and evaluate the methods of moving different kinds of content. For an organisation, this is a key step where they differentiate the content types. Further, content managers should consider stakeholder’s take on issues like administrative users and then decide on the details of migration.
Another option that can be embraced now is installing a clean Drupal 8 site for migration. This is much faster and easier method than the ones in previous versions of Drupal. With a fresh site in use, developers have an upper hand when migrating configuration and content.
Expertise hold a high pedestal in the Drupal migration. Inexperience and lack of capability cannot make the cut when migrating a site or project. You need to have a clear picture for an agile and efficient migration to take place. This is important for streamlining the work for the content managers too. Customisations like renaming fields or writing process plugins might be a task assigned only to equipped developers.
Start small. That’s the key to all great beginnings. It is easier to pick up chunks of your software and working on them instead of taking up a whole project. A go-to approach for building your site in bits is leveraging in third party DNS.
Decoupling is another measure that organisations adopt for some areas. A simple switch in API can do the job for you by improving the speed of otherwise slow areas.
Automation is a necessity today.
You cannot maintain a consistent level of efficiency required for migration when handling multiple tasks. When the final day of migration arrives, you can concentrate on the bigger roles by automating what needs lesser attention. As manual workings are prone to errors, this will also save up time by reducing the bugs. However, developers need to be wise in their selection. If a task can run on manual, it saves the cost and resources too.
Invest in Micro(services)
Building massive monoliths have its own drawbacks when it comes to migration. Shifting whole of functionalities can pose issues even to maintain and scale. This is where microservices come into play. If a system can work in isolation and thrive, the communication can be maintained via APIs. During the upgradation, they can be tackled in small parts and the whole of ecosystem won’t get disrupt all at once. Similarly, different problems will have different solutions that can be isolated while migrating the whole site and reduce the impact for the entire architecture.
In all these attempts to migrate securely and effortlessly, monitoring seals the deal. We can never be 100% sure of the issues that might erupt. Thus, monitor everything and as much as you can from the very beginning. This works along the lines of automating. Tools can automate, monitor and generate reposts for codebases that are migrating your site. They push out warnings about things that can go wrong and need extra attention. This saves your time and effort along the way.
Upgrade to Drupal 9
As we mentioned above, migration is now more than ever necessary with the impending launch of Drupal 9 scheduled for June 2020. As long as you are keeping the core modules updated with the ongoing versions of Drupal 8, the latest being Drupal 8.7.0, the migration process won’t hit the roof. Modernising the dependencies, Drupal 9 will have deprecated APIs and experimental features.
Dries shared his thoughts in a recent blog, ‘’We are building Drupal 9 in Drupal 8, which means the technology in Drupal 9 will have been battle-tested in Drupal 8’’.
With every new project, you will come across various new pain points requiring a different plan or course of action. Yet, this structured approach and practices for migration can be sought for a successful upgradation of Drupal in order to reduce the risks.
Share your experiences of migration with us at our social networks: Twitter, Facebook, or LinkedIn. Do you want us to take similar topics and share more opinions? Contact us at [email protected].