Slide 1

Slide 1 text

Drupal 10 survival manual (for developers, agencies and clients) JoΓ£o Ventura Senior Developer @ 1xINTERNET [email protected]

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Drupal core release cycle in a nutshell

Slide 4

Slide 4 text

2002-2016 Average lifecycle: ~ 6 years End-of-life on day of 2nd next release

Slide 5

Slide 5 text

2011-2022 Longest supported version: nearly 12 years Drupal 7 EOL (end-of-life): Nov 28th, 2022 (~1Β½yr) πŸŽ‰

Slide 6

Slide 6 text

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) πŸ₯³

Slide 7

Slide 7 text

● 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

Slide 8

Slide 8 text

Β© 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)

Slide 9

Slide 9 text

● 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?

Slide 10

Slide 10 text

● 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

Slide 11

Slide 11 text

● 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)

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

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%

Slide 14

Slide 14 text

● 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?

Slide 15

Slide 15 text

● 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

Slide 16

Slide 16 text

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 β€œ β€œ

Slide 17

Slide 17 text

● 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

Slide 18

Slide 18 text

● 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

Slide 19

Slide 19 text

● 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

Slide 20

Slide 20 text

● 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

Slide 21

Slide 21 text

● 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

Slide 22

Slide 22 text

Sites will go through multiple major version upgrades

Slide 23

Slide 23 text

Questions? Survey link available in chat