Successfully reported this slideshow.

Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8

6

Share

Loading in …3
×
1 of 43
1 of 43

Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8

6

Share

Download to read offline

This talk provides a brief overview of Drupal, provides a history/evolution of Drupal releases, and talks about what Drupal 8 and Drupal 9 entail.

This talk provides a brief overview of Drupal, provides a history/evolution of Drupal releases, and talks about what Drupal 8 and Drupal 9 entail.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Drupal 9 and Backwards Compatibility: Why now is the time to upgrade to Drupal 8

  1. 1. 1 Drupal 9 and Backwards Compatibility Why now is the time to upgrade to Drupal 8 Angie @webchick Byron Office of the CTO
  2. 2. ©2017 Acquia Inc. — Confidential and Proprietary2
  3. 3. 3 Agenda – Brief overview of Drupal – History/evolution of Drupal releases – Drupal 8, 9, and the future – Practical advice for site builders
  4. 4. ©2017 Acquia Inc. — Confidential and Proprietary4
  5. 5. ©2017 Acquia Inc. — Confidential and Proprietary5 #1: Flexible framework
  6. 6. ©2017 Acquia Inc. — Confidential and Proprietary6 #2: Amazing community
  7. 7. ©2017 Acquia Inc. — Confidential and Proprietary7 #3: Cutting edge of technology
  8. 8. ©2017 Acquia Inc. — Confidential and Proprietary8 Drupal 8: Overview Graphic courtesy of themesnap.com
  9. 9. ©2017 Acquia Inc. — Confidential and Proprietary9 Modern, Object-Oriented PHP • Cleaner • Well structured • Improved consistency • Testable • Design patterns
  10. 10. ©2017 Acquia Inc. — Confidential and Proprietary10 Improved Theming • Twig library • Simplified syntax • Separation of logic + presentation • Improved Security • Template Inheritance and Overrides
  11. 11. ©2017 Acquia Inc. — Confidential and Proprietary11 https://www.slideshare.net/philipnorton42/ Configuration Management
  12. 12. ©2017 Acquia Inc. — Confidential and Proprietary12 You can build REAL sites, out of the box.
  13. 13. ©2017 Acquia Inc. — Confidential and Proprietary13 You can build REAL sites, out of the box.
  14. 14. ©2017 Acquia Inc. — Confidential and Proprietary14 Maturing contrib ecosystem
  15. 15. ©2017 Acquia Inc. — Confidential and Proprietary15 Drupal 8 is now the go-to release for most agencies
  16. 16. ©2017 Acquia Inc. — Confidential and Proprietary16 Numerous success stories.
  17. 17. ©2017 Acquia Inc. — Confidential and Proprietary17 A history of Drupal release management
  18. 18. ©2017 Acquia Inc. — Confidential and Proprietary18 Overview Drupal 5 Jan 2007 - Jan 2011 Drupal 6 Feb 2008 - Feb 2016 Drupal 8 Nov 2015 - Drupal 10 Drupal 7 Jan 2011 - Drupal 9
  19. 19. 19 Consequences – “It’s done when it’s done” meant no one knew when to expect new features / plan for migrations – Little incentive for funded core dev = burnout –Coupling new features with backwards compatibility breaks limited innovation in core product – “We’ll break your code, not your data” = people often stayed on release until EOL, then faced painful upgrade path
  20. 20. ©2017 Acquia Inc. — Confidential and Proprietary20 D8 Semantic Versioning: New capabilities every 6 months Drupal 8.2.0 October 5, 2016 • Content Moderation* • Settings Tray* • Date Ranges • REST API++ Drupal 8.3.0 April 5, 2017 • CKEditor++ • New Status Report Drupal 8.4.0 October 4, 2017 • Media API • Layout API • jQuery/Symfony 3 Drupal 8.5.0 March 7, 2018 Layout Builder? Demo Install? Workspaces? Drupal 8.1.0 April 20, 2016 • Migrate UI* • Big Pipe • Tours • JS Testing
  21. 21. ©2017 Acquia Inc. — Confidential and Proprietary21 *With* Backwards Compatibility! https://dri.es/making-drupal-upgrades-easy-forever
  22. 22. ©2017 Acquia Inc. — Confidential and Proprietary22 Introducing “LTS” releases / “security fixes only” stage
  23. 23. ©2017 Acquia Inc. — Confidential and Proprietary23 Innovation through “experimental” modules
  24. 24. 24 Benefits – Predictable release schedule that both end users and core developers can plan and organize around. – Site builders can acquire powerful new functionality without reinventing site. – Opportunities to get end-user feedback and evolve features over time (vs. being “stuck” with whatever shipped in 8.0.0). – Drupal 9 becomes just a normal “minor” release, with backwards-compatibility layers dropped.
  25. 25. ©2017 Acquia Inc. — Confidential and Proprietary25 Drupal 9
  26. 26. ©2017 Acquia Inc. — Confidential and Proprietary26 Drupal 9: When? Here are the pre-requisites: https://www.drupal.org/node/2608062
  27. 27. ©2017 Acquia Inc. — Confidential and Proprietary27 Putting into practice
  28. 28. ©2017 Acquia Inc. — Confidential and Proprietary28 #1: Know the release schedule. https://www.drupal.org/core/release-cycle-overview
  29. 29. ©2017 Acquia Inc. — Confidential and Proprietary29 Supported release Supported releaseDevelopment Alp ha Bet a RC Supported releaseDevelopment Alp ha Bet a RC SupportedDevelopment Alp ha Bet a RC Y1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 Y2 M2 M3 M4 M5 M6 M7 M8
  30. 30. ©2017 Acquia Inc. — Confidential and Proprietary30 #2: Keep abreast of forthcoming changes. https://www.drupal.org/list-changes/drupal
  31. 31. ©2017 Acquia Inc. — Confidential and Proprietary31 #2: Keep abreast of forthcoming changes. https://groups.drupal.org/core
  32. 32. ©2017 Acquia Inc. — Confidential and Proprietary32 #3: Understand what backwards-compatibility means. https://www.drupal.org/core/d8-bc-policy
  33. 33. ©2017 Acquia Inc. — Confidential and Proprietary33 #4: Read the release notes for “gotchas.” e.g. https://www.drupal.org/project/drupal/releases/8.4.0
  34. 34. ©2017 Acquia Inc. — Confidential and Proprietary34 #5: Preview the goals for 8.5.0 and beyond https://www.drupal.org/core/roadmap Migrate Media Layout API-First Workflow Outside-In Out-of-the-Box JavaScript Framework Automated Updates
  35. 35. ©2017 Acquia Inc. — Confidential and Proprietary35 But, these things don’t happen without help!
  36. 36. ©2017 Acquia Inc. — Confidential and Proprietary36 #6: Get involved! https://www.drupal.org/core/roadmap • Stable migration path • oEmbed (e.g. YouTube) support • Media Library • JSON API • Automatic Updates / Improved Composer Support • Layout Builder • Workspaces • Full-Site Previews • Demo Content + Theme • React vs. Vue vs. Web Components vs…
  37. 37. ©2017 Acquia Inc. — Confidential and Proprietary37 #6: Get involved! https://www.drupal.org/getting-involved Design / Theming Automated tests / QA PHP Accessibility Peer Review Project Management Documentatio n Architecture HTML / CSSJS User Experience Testing
  38. 38. ©2017 Acquia Inc. — Confidential and Proprietary38 But I’m still on Drupal 7!
  39. 39. ©2017 Acquia Inc. — Confidential and Proprietary39 If it’s working for you, that’s fine! (Until Drupal 9.) But if D8 offers features you want, consider earlier adoption.
  40. 40. ©2017 Acquia Inc. — Confidential and Proprietary40 Monitor the contributed modules you need. https://www.drupal.org/project/issues/contrib_tracker
  41. 41. ©2017 Acquia Inc. — Confidential and Proprietary41 Test the migration path. https://www.drupal.org/docs/8/upgrade/upgrading-from-drupal-6-or-7-to- drupal-8
  42. 42. 42 So, don’t delay; try Drupal 8 today! https://www.drupal.org/8 https://www.drupal.org/docs/user_guide/en/index.html https://api.drupal.org/api/drupal
  43. 43. ©2017 Acquia Inc. — Confidential and Proprietary43

Editor's Notes

  • I like to say Drupal is 3 things...
  • 4,200 contributors to core
    100K+ active contributors across the project
    1750 commits/week
    Thousands of add-on modules
  • …at the expense of backwards-compatibility.
  • Drupal 8 has lots to love!
    Authoring improvements such as WYSIWYG and in-place editing.
    Site building tools such as Views, multilingual, and multiple new field types.
    Developer improvements such as web services, OOP, and improved page caching
    Front-end improvements including Twig, HTML5, and dropping support for old, crusty web browsers.

  • In general, what I hear from people who grew up on PHP via Drupal 7 and below
    That OO
  • Just {{ variable }}. No more need to check your semi-colons!
    Your HTML + CSS designers don’t also need to be PHP experts.
    Auto-escaping eliminates XSS vulnerabilities.
    Twig’s “extend” feature allows you to only override part of a template.
  • In Drupal 7, configuration was managed with a mess of update hooks, database values, exportables, and so on.
    Drupal 8 everything is held in a standard configuration management system, which is a bunch of human-readable YAML files.
    These files can be moved from one environment to the other, held in version control, etc.
  • And with all of those features, for the first time you can start building great sites with only the stuff that comes in core.
    Here’s what we’re planning for the Out of the Box initiative in 8.5.
    It showcases all that Drupal core has to offer, and looks GREAT!
  • And with all of those features, for the first time you can start building great sites with only the stuff that comes in core.
    Here’s what we’re planning for the Out of the Box initiative in 8.5.
    It showcases all that Drupal core has to offer, and looks GREAT!
  • Each release = new features, provided on an “it’s done when it’s done” and “we’ll break your code, not your data” basis … backwards compatibility eschewed, upgrade path provided.
    Release rates slowed and development time increased as more and more ambitious goals.
    Each Drupal release supported until the one two releases after. (e.g. Drupal 5 supported until Drupal 7 comes out, etc.)
    On this basis, a common practice was to skip a release—don’t upgrade your Drupal 5 site until Drupal 7 comes out.
  • Drupal 8 now uses semantic versioning,
    Not only that, but new capabilities and improvements keep getting added every 6 months in “minor” releases.
    The next minor release, Drupal 8.4.0, comes out next week!
    * stands for “experimental modules”, which are previews of upcoming core functionality for broader testing and feedback.
  • In the past, getting new core features involved waiting 4+ years, and a massively painful upgrade path.
    Now, minor releases retain API backwards compatibility, and provide update paths.
    “In theory,” Drupal 8 to Drupal 9 will be no more difficult than Drupal 8.3 to 8.4.
    Even Experimental modules will be backwards-compatible from 8.4 on.
  • Will be branched when we run out of cool things to do in Drupal 8 without breaking BC.
    Most D8 modules will work with D9, if they’ve been keeping up with minor releases.
  • These include things like making sure modules can work on multiple core major versions at once
    That Drupal 8 isn’t using any deprecated APIs and we have automated tests to check that we don’t introduce more.
    So the short version: not for a good while yet. :) There will be at least 6 months to a year’s notice ahead of time.
  • Alpha doubles as “feature freeze.” Good opportunity to look at what’s changed and what might affect you.
    Beta marks both locking down of features, as well as locking down of commits from the prior release.
    One month later, new version released, EOL of previous version.
    If your launch date is after the next release, start developing on it now.
  • Alpha release is where we start to lock things down. Great time to start paying attention, testing on your dev sites.
    RC = this is what we plan to ship with.
    Development never stops!
  • Change records required for commits that make significant changes.
  • New release announcements, general community announcements.
  • @api vs. @internal vs. unspecified
    Example: Rename a database column. Instead, use DB abstraction layer.
  • Itemized list of things that need to be taken into consideration.
  • Step through each of the major new initiatives. icon sources:
    https://www.flaticon.com/free-icon/shuffle_148750#term=arrow&page=1&position=39
    https://www.flaticon.com/free-icon/picture_489821#term=gallery&page=1&position=8
    https://www.flaticon.com/free-icon/layout_272364#term=layout&page=1&position=5
    https://www.flaticon.com/free-icon/api_439163#term=api&page=1&position=6
    https://www.flaticon.com/free-icon/workflow_267967#term=workflow&page=1&position=6
    https://www.flaticon.com/free-icon/package_189058#term=box&page=1&position=19
    https://www.flaticon.com/free-icon/integrated-circuit_1615#term=components&page=1&position=3
  • “Do-ocracy”
    Intrinsic motivation vs. employer motivation
    But NOT ‘waiting for requests’
  • The roadmap links off to issues where these problems are being actively discussed and worked on.
  • Emphasize non-technical contributions.
  • One last painful upgrade.
    Recommend doing it as soon as it makes “organizational” sense to do so.
    Risk of waiting until Drupal 9 = lots of paradigm shifts in addition to code changes. (e.g. Paragraphs)
  • One issue per project
    Has information such as what the overall roadmap is, where the maintainer needs help.
  • Lots of priority given to 6 to 8 migration path, since that’s more urgent.
    7 to 8 migration path working, but still has some holes.
    Best thing to do is set up a Drupal 8 site, try it, tell us your experience.
    Lots of focus on stabilizing Migration right now.
  • First is an overview of Drupal 8 and what it entails.
    Second is “how to” documentation for Drupal, in multiple languages.
    Third is API reference, including concept/overview pages.
  • Questions?
  • ×