Migrating to Drupal 9 – Tools and Best Practices
Mpire Solutions has a legacy in helping organizations advance their open source digital platforms. We have achieved this by addressing our clients’ business objectives with open source technologies and solutions, delivering scores of successful projects in the past many years. We are a full service development agency with over a decade of providing Drupal based solutions for midsize businesses to large scale enterprises. Our team comprises of developers, designers, innovators and digital media experts who collectively solve complex and daunting challenges. We are also an ACQUIA partner since 2008.
Over the past decade or so, Drupal has established itself as a technology framework that is not only flexible & fast but also responsive to other systems & processes. So Drupal is the ideal choice if you want to launch or enhance your brand’s digital experience for both your clients and employees. It is a software used for a variety of digital experiences including corporate websites, brand & campaign sites, multi-sites portal, etc. With an ever increasing number of websites being developed and run on Drupal, it is taking the larger percentage of enterprise CMS category of websites. In fact it is far above the rest of the competition within that enterprise category.
Among the best features of Drupal apart from its ability to deploy it across a variety of digital experiences are its flexibility and speed in which it can be delivered and adopted. It has established a very prominent marketplace and gained a robust community of developers. With 35,000 active contributors / developers to the Drupal platform working on 45,000 modules, there is an increasingly lot of innovation going on within this community.
Drupal offers pre-built components that can be assembled to deliver a customized digital experience. With more and more buyers now choosing to buy online and Drupal delivering digital content, it has become a very relevant framework.
Post COVID-19 Scenario
Due to limitations that came into effect because of the COVID-19 pandemic, retail businesses were effected hugely worldwide. For over a year now, B2B companies have been unable to generate business by interacting directly with their customers. While learning to cope with this first-of-its-kind situation, organizations have adopted very rapidly towards digital customer engagement channels. Brand awareness and customer interaction have been primarily taking place online and Drupal has played an active role in facilitating that.
The Coronavirus has definitely accelerated the pace with which organizations are adopting digital mediums as their primary customer engagement channels. On any digital channel, content is the main interface for the buyers. Drupal not only addresses that need but also provides solution for the right architecture. Content is the main element of presentation during a buyer’s journey on digital channels. There are other crucial elements in a digital channel too but the customers only get to see the content. Organizations are still figuring out ways to deliver the right content to their audience to ultimately build brand awareness and loyalty.
Traditional Vs Custom CMS
A traditional CMS tool is a good choice for businesses looking for effective compliance, stringent security and efficient workflows. However, they have limitations when it comes to creating content on a day to day basis. They are neither easy to use nor designed for marketers. Keeping in mind this gap, consumer site building tools like Wix, Squarespace and WordPress emerged. But the limitations of the consumer site building tools are that they struggle with security, compliance and governance.
So the only option that is left and emerging as well is a custom CMS. Yet they come with their own challenges. They are complex to manage and require a lot of maintenance. For the organizations that are expediting digital as their primary customer engagement channel, Drupal has become the top choice because it provides the best of all the essential features they need. It is always enterprise ready, a very secure platform and provides excellent governance. Marketers love it because it’s simple to use and they can get content up and live very fast.
Migrating to Drupal 9
The best value, however, comes from the flexibility of all the extensions and modules of Drupal. The launch of Drupal 9 has strengthened Drupal’s position in the market manifolds. The best thing is that upgrade to Drupal 9 from any older version i.e. six, seven or eight, is very easy. While a number of modules were available from day one, version 9 provides a lot of new underlying technology and features making it easier for Drupal to sustain and push forward.
To start with, there is no real need to migrate content structures or anything else when migrating from 8 to 9. Hopefully that should continue into the future through 9 to 10 and other versions. Despite this new functionality, the biggest changes in Drupal 9 are the layout builder, system migration, and the medium improvements. On the other side, semantic versioning, is the biggest foundational change.
Mostly with software projects, the releases are split into major releases, minor releases and patch releases. The idea is that a patch release is just a normal bug fix or security fix. So when you update from one to the other, you’re only dealing with small minor fixes. With a minor release, there is an opportunity to add new functionality. And while adding things, you also realize that some of the APIs and things that were in the previous releases need to be deprecated. Then with a major release, all you do is remove the things that are deprecated and release it as is.
It’s a major change since instead of a massive rebuild, from one major release to another, you’re continuing to upgrade your project. You started with 8 along with all the upgrades and switched to 9 when it came out. And will repeat the same with Drupal 10.
Therefore, if you are developing on newer Drupal versions like 9+ in the future, you must keep your modules updated, making sure that the custom code is compatible with the upcoming major versions. When upgrading from Drupal 6 & 7 to 9, you will have to rebuild your theme, find new ways of handling the output, rebuild views and rewrite or find replacement for custom functionality. If you have ensured that the code is up to date yet you have kept the same theme and APIs (but updated to remove deprecated ones), you can keep the same views & pages, and all the same custom functionalities.
Key Steps to Follow
There are a number of steps to follow though. It is best to build a plan, based on defining, building an inventory of the site, and working on preparations. The best approach would be to first work upon an initial migration and then gradually improve the migration process. Later, you can do a review and then refine and repeat until you reach your point of being done.
A practical way to start is to build an inventory of the existing site, gain an understanding of the content types, views pages and taxonomy term pages. While assessing any out-of-the-box functionality, also evaluate the custom functionalities you’ve built. These include third party integrations or any custom overrides that are needed for compliance purposes, and a good inventory of the API keys that you use. Once you are done with all that, then you need to build a Drupal 9 codebase to import all of the data. We recommend using composer to do that, because it allows an effective way of managing the codebase. Going from Drupal 8 to Drupal 9, there’s no need to bother with any kind of content migration using migrate. You can just update your core and Modules through composer.
In the last stages, you have to finish the configuration, may be build a new search system with Search API, build a new theme and customize the output to fit your specific requirements. Once done, you are ready to launch the new site on Drupal 9.
Resources on Drupal 9
There is also a wealth of possibilities with the Drupal Core Migration System, which is used for importing data from custom sources. In fact it can also be utilized for migrating content and configuration from previous versions of Drupal into versions 8 and 9. This is the perhaps the easiest tools to update your site from one major version to another.
A huge amount of information related to Drupal 9 is available on drupal.org/about/9. In case you want to start customizing the migration, there’s a wealth of documentation and support available for that on drupal.org as well.
On a separate note, Acquia has built a suite of solutions that help enhance Drupal, and assist organizations in taking their digital experience to the next level and ensuring that their migration is effective.
Continue to invest in Drupal. It’s a great platform!