64
The State of Drupal 9 presented by Amber Himes Matz @amberhimesmatz Most slides by @gaborhojtsy at @acquia ( CC BY-NC-SA 2.5)

The State of Drupal 9...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. We are building

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The State of Drupal 9...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. We are building

The State of Drupal 9presented by Amber Himes Matz

@amberhimesmatz

Most slides by @gaborhojtsy at @acquia (CC BY-NC-SA 2.5)

Page 2: The State of Drupal 9...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. We are building

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

Page 3: The State of Drupal 9...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. We are building

INNOVATION IN DRUPAL

1

Page 4: The State of Drupal 9...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. We are building

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

Page 5: The State of Drupal 9...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. We are building

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

Page 6: The State of Drupal 9...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. We are building

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

Page 7: The State of Drupal 9...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. We are building

8.6.0

Experimental: Media Library, WorkspacesStable: Demo, Monolingual migrations

Page 8: The State of Drupal 9...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. We are building

8.6.0 8.7.0

Experimental: Hugely improved Media LibraryStable: Layout Builder, JSON:APIThird party: Optional Twig 2 support*

Page 9: The State of Drupal 9...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. We are building

8.6.0 8.7.0 8.8.0 ?

Page 10: The State of Drupal 9...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. We are building

WHY DRUPAL 9?

2

Page 11: The State of Drupal 9...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. We are building

Clean up our own

codebase

Update third party

dependencies

1 2

Page 12: The State of Drupal 9...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. We are building

Third-Party Dependencies

drupal.org/core/dependencies

Page 13: The State of Drupal 9...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. We are building

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.08.9

Drupal 8 end of life

Page 14: The State of Drupal 9...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. We are building

?8.6.0 8.7.0 8.8.0 8.9.0

9.1.09.0.0

Page 15: The State of Drupal 9...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. We are building

THE MAKING OF DRUPAL 9

3

Page 16: The State of Drupal 9...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. We are building

Major versionswere brand new codebases in the past

7

8

Page 17: The State of Drupal 9...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. We are building

Now major versions are derived from the previous major 8

9

Page 18: The State of Drupal 9...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. We are building

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

Page 19: The State of Drupal 9...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. We are building

8.7 API

Page 20: The State of Drupal 9...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. We are building

New solution

8.7 API

Page 21: The State of Drupal 9...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. We are building

New solution

Deprecated

8.7 API

Page 22: The State of Drupal 9...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. We are building

New solution

Deprecated

Symfony 3

8.7 APINew solution

New solution

Deprecated

Deprecated

Symfony 3

8.9 API

...New solution

New solution

Symfony 4/5

9.0 API

Page 23: The State of Drupal 9...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. We are building

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 partsplus third party dependencies

updated

Page 24: The State of Drupal 9...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. We are building

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.

Page 25: The State of Drupal 9...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. We are building

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

9

Page 26: The State of Drupal 9...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. We are building

PREPARING FOR DRUPAL 9

4

Page 27: The State of Drupal 9...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. We are building

Keep Drupal core and contributed projects up to date

Page 28: The State of Drupal 9...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. We are building

Use this with actual dependency

injection to get the benefits.

Page 29: The State of Drupal 9...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. We are building
Page 30: The State of Drupal 9...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. We are building

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

Page 31: The State of Drupal 9...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. We are building

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

Page 32: The State of Drupal 9...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. We are building

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

Page 33: The State of Drupal 9...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. We are building
Page 34: The State of Drupal 9...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. We are building
Page 35: The State of Drupal 9...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. We are building

https://drupal.org/project/upgrade_status

Upgrade Status

Page 36: The State of Drupal 9...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. We are building

Test on drupal.org with drupalci.yml snippet

Page 37: The State of Drupal 9...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. We are building

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

Customizing DrupalCI Testing for Projects

http://bit.ly/custom-drupalci

Page 38: The State of Drupal 9...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. We are building

Drupal8-Rector proof of concept automates some fixes

Page 39: The State of Drupal 9...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. We are building

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

Drupal8-Rector

http://bit.ly/drupal8-rector

Page 40: The State of Drupal 9...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. We are building

Should you remove all deprecated code use

immediately?

Page 41: The State of Drupal 9...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. We are building

Custom code: as fast as feasible

Page 42: The State of Drupal 9...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. We are building

Contributed projects: be compatible with supported core

Page 43: The State of Drupal 9...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. We are building
Page 44: The State of Drupal 9...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. We are building

When do we know all the deprecated things?

Page 45: The State of Drupal 9...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. We are building

Drupal 8.8 is the last version to deprecate for Drupal 9

Page 46: The State of Drupal 9...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. We are building

Should I create 9.x-1.x-dev branches

for my projects?

https://dgo.to/2807145

NO!

Page 47: The State of Drupal 9...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. We are building

Will contributed modules be compatible?

Page 48: The State of Drupal 9...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. We are building

None

1 to 5

6 or more

Drupal 9 compatibility

issues found in 7000+ modulesin March 2019

Page 49: The State of Drupal 9...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. We are building

https://dispatcher.drupalci.org/job/phpstan/lastBuild/checkstyle/

phpstan warnings for supported drupal.org projects

http://bit.ly/drupalci-phpstan

Page 50: The State of Drupal 9...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. We are building

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

Page 51: The State of Drupal 9...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. We are building

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

@drieshttps://dri.es/plan-for-drupal-9

Page 52: The State of Drupal 9...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. We are building

I AM ON DRUPAL 7!

5

Page 53: The State of Drupal 9...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. We are building

8.7 8.8 8.99.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 supportuntil at least 2024

Page 54: The State of Drupal 9...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. We are building

Better media

Layout Builder

Config mgmt

Multilingual

JSON:API

BigPipe

Content Moderation

Page 55: The State of Drupal 9...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. We are building

Use Upgrade Status module

(Drupal 7 version) to estimate

upgradability.

ContribUse Drupal

Module Upgrader to

get a head start on updating your custom

code.

CustomUse the core

Migrate module suite with contrib

extensions as needed.

Content

Page 56: The State of Drupal 9...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. We are building

Upgrade Status: drupal.org/project/upgrade_statusDrupal Module Upgrader: drupal.org/project/drupalmoduleupgraderMigrate suite (core)

7.x 9.0.0

Page 57: The State of Drupal 9...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. We are building

None

1 to 5

6 or more

Drupal 9 compatibility

issues found in 7000+ modulesin March 2019

Page 58: The State of Drupal 9...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. We are building

Skipping Drupal 8 does not actually bring benefits

8

9

7

��

Page 59: The State of Drupal 9...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. We are building

Use drupal-check in your Drupal 7 migration to ensure

Drupal 9 compatibility.

Page 60: The State of Drupal 9...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. We are building

Recap1. 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.

Page 61: The State of Drupal 9...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. We are building

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

Documentation: drupal.org/docs/9

Page 62: The State of Drupal 9...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. We are building

Vector Icons by Matthew Skiles

Presentation template designed by Slidesmash

Photographs by unsplash.com and pexels.com

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

Content by @gaborhojtsy, some inspired by @Dries

Page 63: The State of Drupal 9...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. We are building

Thanks!Recording and *this* version of slides available at:

https://www.drupalgovcon.org/2019/program/sessions/state-drupal-9

@amberhimesmatz

Page 64: The State of Drupal 9...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. We are building

8.7 8.8 8.99.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 lifeFirst 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 supportuntil at least 2024