The State of Drupal 9 presented by Amber Himes Matz @amberhimesmatz - - PowerPoint PPT Presentation

the state of drupal 9
SMART_READER_LITE
LIVE PREVIEW

The State of Drupal 9 presented by Amber Himes Matz @amberhimesmatz - - PowerPoint PPT Presentation

The State of Drupal 9 presented by Amber Himes Matz @amberhimesmatz Most slides by @gaborhojtsy at @acquia (CC BY-NC-SA 2.5) Hello! Im Amber Himes Matz I know a few things about Drupal 9 and want to share them with you. On Twitter:


slide-1
SLIDE 1

The State of Drupal 9

presented by Amber Himes Matz @amberhimesmatz Most slides by @gaborhojtsy at @acquia (CC BY-NC-SA 2.5)

slide-2
SLIDE 2

I know a few things about Drupal 9 and want to share them with you.

Hello!

I’m Amber Himes Matz

On Twitter: @amberhimesmatz #D4G

slide-3
SLIDE 3

INNOVATION IN DRUPAL

1

slide-4
SLIDE 4

Semantic versioning

Drupal started using it from Drupal 8.0.0. Allows to release feature updates in minor releases (8.1, 8.2, etc.) with backward compatibility.

slide-5
SLIDE 5

Scheduled releases

Minor releases every six months make versions predictable. New features come at a regular pace.

slide-6
SLIDE 6

Experimental modules

When features need more time and feedback to be finalized, they are added as experimental modules. Backward compatibility is still supported.

slide-7
SLIDE 7

8.6.0

Experimental: Media Library, Workspaces Stable: Demo, Monolingual migrations

slide-8
SLIDE 8

8.6.0 8.7.0

Experimental: Hugely improved Media Library Stable: Layout Builder, JSON:API Third party: Optional Twig 2 support*

slide-9
SLIDE 9

8.6.0 8.7.0 8.8.0 ?

slide-10
SLIDE 10

WHY DRUPAL 9?

2

slide-11
SLIDE 11

Clean up

  • ur own

codebase Update third party dependencies 1 2

slide-12
SLIDE 12

Third-Party Dependencies

drupal.org/core/dependencies

slide-13
SLIDE 13

8.7 8.8

2019 2020 2021 2022 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Symfony 3 end of life Drupal 8 security and bug fix support Drupal 9 security and bug fix support First Drupal 9 release

9.0 8.9

Drupal 8 end of life
slide-14
SLIDE 14

? 8.6.0 8.7.0 8.8.0 8.9.0 9.1.0 9.0.0

slide-15
SLIDE 15

THE MAKING OF DRUPAL 9 3

slide-16
SLIDE 16

Major versions were brand new codebases in the past

7 8

slide-17
SLIDE 17

Now major versions are derived from the previous major

8 9

slide-18
SLIDE 18

Deprecation processes

Backward compatible APIs are kept while future changes are indicated so API consumers can prepare for the change to Drupal 9.

slide-19
SLIDE 19

8.7 API

slide-20
SLIDE 20

New solution

8.7 API

slide-21
SLIDE 21

New solution Deprecated

8.7 API

slide-22
SLIDE 22

New solution Deprecated Symfony 3

8.7 API

New solution New solution Deprecated Deprecated Symfony 3

8.9 API ...

New solution New solution Symfony 4/5

9.0 API

slide-23
SLIDE 23

New solution New solution Deprecated Deprecated Symfony 3

8.9 API

New solution New solution Symfony 4/5

9.0 API Drupal 9.0 API = Drupal 8.9 API minus deprecated parts plus third party dependencies updated

slide-24
SLIDE 24

New solution New solution Deprecated Deprecated Symfony 3

8.9 API

New solution New solution Symfony 4/5

9.0 API Drupal 8 modules not using deprecated APIs will continue to work on Drupal 9.

slide-25
SLIDE 25

We are building Drupal 9 in Drupal 8 step-by-step.

8 9

slide-26
SLIDE 26

PREPARING FOR DRUPAL 9

4

slide-27
SLIDE 27

Keep Drupal core and contributed projects up to date

slide-28
SLIDE 28

Use this with actual dependency injection to get the benefits.

slide-29
SLIDE 29
slide-30
SLIDE 30

https://github.com/mglaman/drupal-check

slide-31
SLIDE 31

https://github.com/mglaman/drupal-check

slide-32
SLIDE 32

https://github.com/mglaman/drupal-check

slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35

https://drupal.org/project/upgrade_status

Upgrade Status

slide-36
SLIDE 36

Test on drupal.org with drupalci.yml snippet

slide-37
SLIDE 37

https://www.drupal.org/drupalorg/docs/drupal-ci/ customizing-drupalci-testing-for-projects

Customizing DrupalCI Testing for Projects

http://bit.ly/custom-drupalci

slide-38
SLIDE 38

Drupal8-Rector proof of concept automates some fixes

slide-39
SLIDE 39

https://pronovix.com/blog/drupal-9-automated- deprecated-code-removal-proof-concept

Drupal8-Rector

http://bit.ly/drupal8-rector

slide-40
SLIDE 40

Should you remove all deprecated code use immediately?

slide-41
SLIDE 41

Custom code: as fast as feasible

slide-42
SLIDE 42

Contributed projects: be compatible with supported core

slide-43
SLIDE 43
slide-44
SLIDE 44

When do we know all the deprecated things?

slide-45
SLIDE 45

Drupal 8.8 is the last version to deprecate for Drupal 9

slide-46
SLIDE 46

Should I create 9.x-1.x-dev branches for my projects? https://dgo.to/2807145

NO!

slide-47
SLIDE 47

Will contributed modules be compatible?

slide-48
SLIDE 48

None 1 to 5 6 or more

Drupal 9 compatibility issues found in 7000+ modules in March 2019

slide-49
SLIDE 49

https://dispatcher.drupalci.org/job/phpstan/ lastBuild/checkstyle/ phpstan warnings for supported drupal.org projects http://bit.ly/drupalci-phpstan

slide-50
SLIDE 50

https://pantheon.io/blog/your-module-ready- drupal-9-click-here-find-out Is Your Module Ready for Drupal 9? Click Here to Find Out by Dwayne McDaniel http://bit.ly/d9-module-ready

slide-51
SLIDE 51

“The big deal about Drupal 9 is… that it should not be a big deal.” @dries

https://dri.es/plan-for-drupal-9

slide-52
SLIDE 52

I AM ON DRUPAL 7!

5

slide-53
SLIDE 53

8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5

2019 2020 2021 2022 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Drupal 8 end of life Drupal 8 security and bug fix support Drupal 9 security and bug fix support First Drupal 9 release Drupal 7 security and bug fix support (historically) Drupal 7 security and bug fix support Drupal 7 and 8 end of life Commercial security support until at least 2024
slide-54
SLIDE 54

Better media Layout Builder Config mgmt Multilingual JSON: API BigPipe Content Moderation

slide-55
SLIDE 55

Use Upgrade Status module (Drupal 7 version) to estimate upgradability.

Contrib

Use Drupal Module Upgrader to get a head start

  • n updating

your custom code.

Custom

Use the core Migrate module suite with contrib extensions as needed.

Content

slide-56
SLIDE 56

Upgrade Status: drupal.org/project/upgrade_status Drupal Module Upgrader: drupal.org/project/drupalmoduleupgrader Migrate suite (core)

7.x 9.0.0

slide-57
SLIDE 57

None 1 to 5 6 or more

Drupal 9 compatibility issues found in 7000+ modules in March 2019

slide-58
SLIDE 58

Skipping Drupal 8 does not actually bring benefits

8 9 7

฀฀

slide-59
SLIDE 59

Use drupal-check in your Drupal 7 migration to ensure Drupal 9 compatibility.

slide-60
SLIDE 60

Recap

  • 1. Drupal innovates twice a year and

will continue to do so.

  • 2. Drupal 9 is built in Drupal 8 step-by-step.
  • 3. Keep up with Drupal 8 and

you will be prepared for an easy way to 9.

  • 4. For Drupal 7 sites there is no reason to wait until 9.
  • 5. Vendors will offer extended Drupal 7 support.
slide-61
SLIDE 61

Original Slides: bit.ly/state-of-drupal-9 Documentation: drupal.org/docs/9

slide-62
SLIDE 62

Vector Icons by Matthew Skiles Presentation template designed by Slidesmash Photographs by unsplash.com and pexels.com

CREDITS

Special thanks to all people who made and share these awesome resources for free:

Content by @gaborhojtsy, some inspired by @Dries

slide-63
SLIDE 63

Thanks!

Recording and *this* version of slides available at: https://www.drupalgovcon.org/2019/program/sessions/ state-drupal-9 @amberhimesmatz

slide-64
SLIDE 64

8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5

2019 2020 2021 2022 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Drupal 7 and 8 end of life First Drupal 9 release Drupal 7 security and bug fix support Drupal 8 security and bug fix support Drupal 9 security and bug fix support Commercial security support until at least 2024