Drupal.org blog: It's time to migrate from Drupal 7. Let me show you (how to start)

Note: this is a refresh of an old article I wrote in my previous life as a Technical Solutions Manager in Acquia. The old approach uses Drush, while the 2024 version is much faster to set up and easy to use through the Drupal UI. Read the old article in Acquia.com (Thanks Jenn ShramekSylvie Tse and Randy Fay to help me find this lost content)

Are you ready to bid adieu to Drupal 7 and embrace the possibilities of Drupal 10+? The transition may seem daunting, but fear not, because I'm here to guide you through the process of migrating from the aging Drupal 7 to the modern Drupal 10+. 

While there are countless technical articles detailing the intricacies of migrating, I'm here to shed light on a crucial aspect often overlooked - building the infrastructure to seamlessly transition from Drupal 7 to Drupal 10+.

I´m assuming you already have a Drupal 7 site (what are you doing here if not?). The first step in this journey then is to create a new Drupal 10+ site that will serve as the destination for your migration.

Let´s create your new Drupal 10+ site

First, let’s create the Drupal 10+ site, where all the content, content types, and configurations from Drupal 7 will eventually reside. Follow these steps:

  • Create a new directory for your Drupal 10+ site, for instance, alexmoreno-drupal10.
  • Navigate to this directory.
  • Use DDEV to configure the project, specifying the project type as Drupal 10+ and the document root as web. 
  • ddev config --project-type=drupal10 --docroot=web --create-docroot

Next, we’ll install Drupal 10+ using Composer. If you have questions or you get stuck here I would recommend you to visit the excellent quickstart guide at https://ddev.readthedocs.io/en/latest/users/quickstart/#drupal. 

Install the modules you need to execute the migration

Now, visit http://drupal10.ddev.site/admin/modules to install the necessary modules:

  • Migrate Drupal UI, 
  • Migrate Drupal, 
  • and Migrate.

Image removed.

Image removed.

Connect the machines (Drupal 7 and Drupal 10+ containers)

To connect to the Drupal 7 database from within the Drupal 10 container, you are going to need the urls of the Drupal 7 container, and in particular, the database url. While  ddev status will give you those URLs and passwords, what is not telling is the url to connect from an external service, in this case, another Docker container.

The good Randy Fay pointed me in the right direction. The trick is described here: https://ddev.readthedocs.io/en/latest/users/usage/faq/#can-different-projects-communicate-with-each-other So, in order to connect from outside of the container you just need to use this as the url: ddev-projectname-db

For example, in my case my project is called alexmorenotdotnet. Then the database url will be: ddev-alexmorenotdotnet-db

Image removed.

Image removed.

Migrate

That's it, let's do it. Now simply quick off the migration and, evoilá, in a few minutes you should have a shiny brand new Drupal 10+ site.

While this migration process may seem straightforward, as the Drupal 7 site that I used was pretty simple, it lays the groundwork for more complex migrations. For those seeking advanced options, tools like Acquia Migrate Accelerate, now open-source, offer additional capabilities.

Wrapping up

Ready to take the leap? The decision has been made. You're moving on from your trusted Drupal 7 site to embrace Drupal 10+ with enthusiasm. But how do you manage two sites in parallel to test your migrations? Enter DDEV.

DDEV simplifies the process by allowing you to:

  • Start one instance: Spin up your Drupal 7 and Drupal 10+ instances concurrently.
  • Run the migration: Execute and test your migrations on the Drupal 10+ instance while keeping the Drupal 7 site running for reference and comparison.

With DDEV, transitioning from Drupal 7 to Drupal 10+ becomes not just manageable but efficient.

In conclusion, as you bid farewell to Drupal 7 and embark on the journey to Drupal 10+, remember that the process is not just about migrating data but also about setting up the infrastructure that supports seamless migration and testing.

This technique allows you to communicate between two containers, Drupal 7 and Drupal 10+. However this can be applied to a lot of other scenarios, like for example building a decoupled site where you need to connect two boxes with your frontend and your backend.

Are you ready to make the move? Share your thoughts in the comments below or contact me through Linkedin, Twitter or Mastodon.

Related links

Acquia Migrate Accelerate
https://www.acquia.com/products/drupal-cloud/acquia-migrate-accelerate

Acquia Migrate Accelerate tutorial
https://ddev.com/blog/drupal7-drupal9-migration-ddev-acquia-migrate-accelerate/

Retrofit
https://mglaman.dev/blog/protect-your-investment-drupal-7-retrofit-drupal
 

Lullabot: Lullabot Podcast: Navigating the Waters of Drupal Development with Tugboat

We embark on a journey, guided by a Tugboat, through the evolving landscape of Drupal development. This episode of the Lullabot Podcast dives deep into the world of Tugboat's seamless integration on Drupal.org. It's a pivotal tool that's redefining the paradigms of building, testing, and deploying Drupal projects.

Drupal Core News: RFC Remove support for Windows in production in Drupal 11

Drupal added support for IIS in 2010 and we have supported that and WAMP (Running Apache and PHP on Windows). Unfortunately, we have never been able to provide automated testing for these environments.  And since 2010, the use of Microsoft products for hosting websites has declined. Because of this, the Drupal core committers propose drop support for Windows when used on production web sites in Drupal 11.

Support for development on Windows will continue. Drupal will continue to accept bug reports for Windows used in development environments,

The following links show the usage statistics used when making this proposal.

Comment period

Community feedback is sought on the proposed process. Please use this issue to add your input. The feedback period will last until Friday March 8 2024.

The Drop Times: Drupal's Innovation and Future: Share Your Perspectives!

Drupal's success story is written by its community and its users. As the web landscape evolves, understanding the Drupal community's vision for ensuring Drupal remains innovative, adaptable, and inclusive is important. To get a pulse on where Drupal is headed, The Drop Times is launching a special project to gather insights directly from people in the Drupal community and Drupal users. Your perspectives will shape a series of articles focused on "Drupal's Innovation and Future: 2024 and Beyond." In our first article, we connected with diverse experts exploring challenges and opportunities. Now, it's your turn!

DrupalEasy: DrupalEasy Podcast S16E5 - Jim Birch - Recipes

We talk with Jim Birch about the Recipes strategic initiative for Drupal. 

URLs mentioned

DrupalEasy News

Audio transcript 

We're using the machine-driven Amazon Transcribe service to provide an audio transcript of this episode.

Subscribe

Subscribe to our podcast on iTunes, Google Play, iHeart, Amazon, YouTube, or Spotify.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

Credits

Podcast edited by Amelia Anello.

Drupal Association blog: Piyush Poddar Joins the Drupal Association Board: A Journey of Growth, Open Source Advocacy, and Global Collaboration

Image removed.

We're excited to welcome Piyush Poddar, the latest addition to the Drupal Association Board. Piyush, Head of Sales and Partnerships at Axelerant, co-founded the Jaipur Drupal User Group and serves on the Board of the Drupal Association of India. Known for his active involvement in writing and speaking at events, Piyush covers a range of topics, including the growth of Open Source and Contribution culture in India. His expertise extends to assisting global Drupal agencies in business expansion through strategic account management, transformed outsourcing practices, and success-driven partnership frameworks. 

As a recent board member, Piyush shares insights on this thrilling journey:

What are you most excited about when it comes to joining the Drupal Association board?
I’m excited to join the Drupal Association Board after having known Drupal for over 16 years. As a long-time advocate and active non-code contributor, I look forward to influencing key decisions and giving back to the community.

This is a pivotal time for Drupal's growth, and my position on the Board allows me to contribute significantly to its expansion, relevance, and commitment to openness and inclusion.

And I’m very excited that with my position on the Board, I will be able to contribute significantly to some of these motions.

What do you hope to accomplish during your time on the board?
From a humble dorm room project to a platform globally embraced by businesses and organizations, Drupal has come a long way. As a board member, I aim to actively push to advance Drupal's business dimension, ensuring its continued relevance in the dynamic Martech space. The Drupal Association's recent efforts at the Web Summit were good, but we need to do more.

I also want to connect the global and Indian Drupal communities, bringing back the energy that faded during the pandemic. Developers are vital for Drupal, and we need to support and empower them for the community to keep growing. Coming up with plans for this is a top priority.

Personally, I look forward to learning a lot, improving my skills, and having valuable experiences in this role.

What specific skill or perspective do you contribute to the board?
My background in Sales, Customer Success Management, and Community Engagement offers a unique viewpoint. 

Digital agencies, being prominent advocates and practitioners of Drupal, have significantly driven its growth and commercial adoption. With over a decade of experience partnering with digital agencies for their growth, I have consistently interacted with their leadership. I aim to bring their challenges and needs to the forefront. 

How has Drupal impacted your life or career?
Drupal has hugely impacted both my professional journey and personal growth. Professionally, it has been instrumental in molding my understanding of complex business challenges related to content, marketing, and publishing. Working on Drupal projects introduced me to the agile methodology, revolutionizing how I approach work. The global adoption of Drupal has broadened my perspective, allowing me to gain a comprehensive understanding of the digital and creative industries on an international scale.

On a personal level, my experience with Drupal has profoundly transformed my views on openness and inclusion. The thriving Drupal community, rooted in open-source ethos and built on selfless contributions, has been a powerful influence. Engaging with people from diverse backgrounds, cultures, ethnicities, and genders, all united by a common cause, has significantly broadened how I engage with people. This exposure has made me more open-minded, vulnerable, and accommodating, deeply enriching my personal values and perspectives.

In essence, Drupal has not just been a part of my career; it has been a journey of learning, growth, and personal evolution.

Tell us something that the Drupal community might not know about you.
I really enjoy traveling. I've explored over 65 cities in 14 countries and have taken approximately 15 flights around the earth.

Share a favorite quote or piece of advice that has inspired you.
I'd like to share a quote that has inspired me: “Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it.” - Steve Jobs

We can't wait to experience the incredible contributions Piyush will make during his time on the Drupal Association Board. Thank you, Piyush, for dedicating yourself to serving the Drupal community through your board work! Connect with Piyush on LinkedIn.

The Drupal Association Board of Directors comprises 12 members, with nine nominated for staggered 3-year terms, two elected by the Drupal Association members, and one reserved for the Drupal Project Founder, Dries Buyteart. The Board meets twice in person and four times virtually annually, overseeing policy establishment, executive director management, budget approval, financial reports, and participation in fundraising efforts.

Drupalize.Me: PHP Attributes for Drupal Plugins

PHP Attributes for Drupal Plugins

As of PHP 8.1, the PHP language has native support for attributes that are compatible with Drupal’s plugin system use case. As a result, Drupal will transition from the use of annotations to PHP attributes, to supply metadata and configuration for plugins. This will require developers to learn the new PHP attributes syntax, and update their existing code to use it. For now Drupal will continue to support both annotations and attributes. But the proverbial clock is ticking.

So let’s take a look at how we got here, and what you’ll need to do to update your code for future versions of Drupal.

joe Wed, 02/14/2024 - 19:06