Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupal 10 survival manual for developer, agency and clients

Drupal 10 survival manual for developer, agency and clients

The life cycle of major Drupal versions is becoming ever smaller. Whereas Drupal 6 was supported for 8 years and Drupal 7 will be supported for nearly 12 years before it it's EOL in late 2022, Drupal 8 will only be supported until next November, 6 years after it launched. Drupal 9 will only be supported for less than 4 years after it was released, and this pace will probably be the new norm from now onwards.

Until now, we as a community, and agencies offering Drupal solutions to their clients haven't had to really worry about major version upgrades, as most sites were already obsolete by the time that the next major version came along.

We did an excellent job with the Drupal 8 to 9 migration, as most sites able to run on Drupal 8.9 can be upgraded to Drupal 9.1 with only some minor effort required. This is in large part because of the excellent community initiatives to get modules ready for Drupal 9. However, some sites are still blocked in Drupal 8 as they depend on unmaintained modules. As a personal example, in the past few months, I became co-maintainer of many modules just to get them Drupal 9 ready for this reason.

In this session I'll propose how we can alleviate this problem both when building and maintaining their sites, and in supporting the community.

Agencies will need to adapt their existing client relationships to account for 1-2 major version upgrades during the lifetime of a site, and this should be planned from the beginning.

João Ventura

April 16, 2021
Tweet

More Decks by João Ventura

Other Decks in Programming

Transcript

  1. João Ventura image Senior Developer @ 1xINTERNET Co-organizer of DDD

    Lisbon and Drupal Europe (co-)Maintainer of a few contrib modules Portuguese, living near Darmstadt, Germany drupal.org/u/jcnventura
  2. 2011-2022 Longest supported version: nearly 12 years Drupal 7 EOL

    (end-of-life): Nov 28th, 2022 (~1½yr) 🎉
  3. 2016-... Drupal 8 EOL: Nov 2nd, 2021 (in 200 days)

    😱 Drupal 9 EOL: Nov 2023 (in 2½ years) 😰 Drupal 10 release: Jun 2022 (in 14 months) 🥳
  4. • Yearly, a major Drupal version will become unsupported. •

    In 2½ years, every existing site should be running Drupal 10. • Drupal 11 in November 2025, if Drupal 10 ships with Symfony 5! foreach ([‘Nov-21’, ‘Nov-22’, ‘Nov-23’] as $eol) * ignoring Long-Term Support option
  5. © Al Case CC BY-NC-ND 2.0 https://www.flickr.com/photos/60035031@N06/32893514231/ © Jeff Hitchcock

    (CC BY 2.0) https://flic.kr/p/qLRjNu The road to Drupal 10 10 9 8 (via Drupal 9)
  6. • Still on Life-support. LTS extended until at least February

    2022. • Just create a new site from scratch. In Drupal 9. • TBD: Delete this slide From Drupal 6 You’re joking right?
  7. • Older sites (5+ years) • Strong support for D7

    → D8/D9 core migrations • Weak support in contributed modules (most abandoned) • Effort-intensive for custom modules and themes • Consider also a rebuild from scratch in Drupal 9 • Deadline: November 2022 From Drupal 7 Built to last
  8. • Upgrade to latest Drupal 8.9 • Check deprecations in

    custom and contrib code • No migrations necessary 🥳 • Upgrade and test on latest Drupal 9.x • Do it in production (maybe not on a Friday) • Deadline: November From Drupal 8 The one with class(es)
  9. Drupal 9 was released 10 months ago • Half of

    the D8 modules are ready for D9. (100% of top 300) • 25% can be made ready with existing rector patch • D8-only modules unsupported de facto. Act accordingly • Some modules will never be ready image Unable to upgrade! When can I use the pants module on D9? 53% 19% 6.7% 8.6% https://dev.acquia.com/drupal9/deprecation_status 8.2% 4%
  10. • Congratulations. You’re there! • Start preparing for Drupal 10

    • Recommended: Drupal 10.1.0 end of 2022 • Deadline: November 2023 From Drupal 9 Are we there yet?
  11. • Why? This is the new normal ◦ Symfony 4

    EOL in November 2023. 2-year major version cycles. ◦ CKEditor 4 supported until 2023 ◦ PHP 8, etc. • Work needed on ongoing initiatives • Maintainers need to create D10-compatible module releases ◦ Risk of modules never upgrading To Drupal 10
  12. The more settled things are, the bigger the tribes can

    be. The churn comes, and the tribes get small again. Amos Burton The Expanse by James S.A. Corey “ “
  13. • Drupal 9.3.0 will freeze API deprecations (December 2021) •

    Module maintainers can (again) work on fixing deprecations • Necessary for sites to upgrade to Drupal 10 • Tools developed for D9 readiness can be reused. core_version_requirement: ^8 || ^9 || ^10 Numbers can be fun, no matter where or when https://dev.acquia.com/drupal10/deprecation_status
  14. • Keep up with core changes and deprecations • Help

    with core initiatives and testing • Share module maintainership with others • Instead of better_pants module, maybe collaborate? • KISS principle: Keep it simple for easy maintenance • Be an open-source advocate in your organization ◦ Organize and participate in #d10readiness events Drupal 9/10 readiness for developers Contrib Module / Theme maintainers
  15. • Identify “go-to” modules critical to D9/D10 readiness ◦ Provide

    support in developer time • Maintain modules created by organization (even if not used) • Foster participation in open-source ◦ Employee time / events ◦ Share back with community • QA infrastructure to ease regression testing Drupal 9/10 readiness for agencies
  16. • With multiple alternatives, select best supported module ◦ Recent

    commits / releases ◦ High usage count, Low RTBC issues, etc. • Update everything regularly ◦ Reduce amount of changes on major / security upgrades • Detect possible stalled modules. Take action. ◦ Do you really need that module? Drupal 9/10 readiness for site builders
  17. • Drupal 10 will just be another major version update

    • Run upgrade check tools regularly • Upgrade when site is ready • Support Drupal community ◦ Time or money (camp sponsoring, etc.) • For problem modules, consider direct developer support Drupal 9/10 readiness for clients / end-users