Drupal 9 准备清单 - 您准备好迎接更美好的明天了吗?
已发表: 2020-05-12Drupal 9 即将发布,beta 版本已经开始测试! 你的 Drupal 9 计划是什么? 你还在“我为什么要升级到 Drupal 9”阶段吗? 或者您想知道为 Drupal 9 做好准备的下一步应该是什么? 我们为您提供了所有问题的答案,包括 Drupal 9 功能和关于如何为 Drupal 9 做准备的 Drupal 9 快速清单。
为明天做好准备的最好方法就是在今天全力以赴。 很明显,Drupal 社区就是这样做的。 我知道,从以前的版本迁移到 Drupal 8 很困难。 这意味着完全重建代码和大量学习。 但是,一旦您完全掌握了 Drupal 8,生活就会变得更加轻松。 把它想象成从山顶欣赏美景的艰难攀登。 真的值得所有的努力,不是吗? 因此,如果您仍在使用 Drupal 7(或 6),这是迁移到 Drupal 8 然后从那里升级到 Drupal 9 的好时机。 当您阅读本文时,作为令人惊叹的 Drupal 社区的集体努力,模块正在被移植(并兼容)到 Drupal 9。

备受关注的 Drupal 9 发布日期
最近最常被问到的 Drupal 问题之一是关于 Drupal 9 的发布日期。 那么,最期待的 Drupal 9 发布日期是什么时候? Drupal 9 目前计划于 2020 年 6 月 3 日发布。自从 Drupal 8 中采用语义版本控制以来,Drupal 社区每六个月成功发布一次次要版本。每个次要版本都带有几个有价值的新功能。
Drupal 8 广泛依赖于第三方库,如 Symfony、Twig、Guzzle、CKEditor,并且必须跟上它们的更新。 例如,Symfony 3(Drupal 8 的最大依赖项)将在 2021 年 11 月到达 EOL(生命周期结束)。Drupal 8 也将结束生命周期。 Drupal 9 将与最新的 Symfony 4.4 支持一起发布,并且不会向后兼容 Symfony 3。

Drupal 9 特性 - Drupal 9 有哪些新功能?
以下是 Drupal 9 的一些关键特性,我们将在此后详细讨论——
- 易于升级到 Drupal 9(如果已经在 Drupal 8 上)
- 你得到最新的最好的! (Symfony、作曲家、Twig、PHP、CKEditor 等)
- 将在 2021 年 11 月之后(Drupal 8 EOL 之后)获得社区支持和安全修复
- 后续 Drupal 9 次要升级版本将向后兼容 Drupal 9
- Drupal 9.1 将提供一个名为 Olivero 的全新现代默认主题
- 从 Drupal 9.1 开始,期待许多激动人心的功能和增强功能!
Drupal 9 已经在 Drupal 8 中构建。Drupal 8.9 将在 2020 年 6 月与 Drupal 9.0 一起发布。这是因为 Drupal 9 将与 Drupal 8.9 相同,除了它将是一个更新的清理版本支持其第三方依赖项。 因此,Drupal 9 最大的特点之一就是易于升级!
Drupal 8 的每一个新的次要版本都有很多新特性,但它也包含了很多旧代码,所以它可以向后兼容。 这种“旧代码”也被称为“弃用代码”。 由于对 Symfony、Twig 等第三方的依赖,Drupal 9 将包含对这些依赖的更新。 Drupal 贡献者和模块开发人员通过从各种 Drupal 8 模块中消除“难闻的代码”(正如 Jacob Rockowitz 在他的关于弃用 Webform 模块代码的博客中所说的那样),共同使通往 Drupal 9 的道路更容易。
Drupal 9.0 = Drupal 8.9 – 弃用的代码 + 升级的依赖项

Drupal 9 准备清单
无论您是从 Drupal 7 升级到 Drupal 9 还是从 Drupal 8 升级到 Drupal 9,您都需要开始为 Drupal 9 做计划。预定的发布即将到来,现在是为 Drupal 9 做好准备的好时机。

Drupal 7 到 Drupal 9 迁移
如果您仍在使用 Drupal 7 并期待使用 Drupal 9,现在还为时不晚。 理想情况下,建议将此过程分为两部分 - 1. 迁移到 Drupal 8 和 2. 升级到 Drupal 9。
- 将内容和代码迁移到 Drupal 8
- 使用升级状态 Drupal 模块检查 Drupal 8 中模块的可用性
- 借助诸如 Drupal Module Upgrader 之类的模块,将您的 Drupal 7 模块升级到 Drupal 8。
- 随时了解最新的核心版本。
- 删除任何弃用的代码
- 升级到 Drupal 9
正如已经讨论过的,从 Drupal 8 的最新版本升级到 Drupal 9 很容易。 Drupal 7 到 Drupal 9 的迁移将花费与 Drupal 7 到 Drupal 8 到 Drupal 9 升级一样多的资源时间(和资源预算)。 Drupal 7 将于 2021 年 11 月结束,并在此之前继续获得社区支持。 有关如何安装 Drupal 9 的详细说明,请查看这篇文章。
与 Drupal 8 保持同步
随着 Drupal 8 的每个新的次要版本发布,好处不仅限于对新功能和增强的访问。 它还使您更接近 Drupal 9。由于 Drupal 8.8 是 Drupal 8.9 发布之前的最后一个次要版本(也与 Drupal 9 同时发生!),因此它是包含重要功能添加的最后一个 Drupal 8 版本. Drupal 8.9 于 2020 年 6 月 3 日发布,将包含更稳定的模块(以前是实验性的)以及一些 UX 和 API 增强功能。 因此,现在最好的做法是保持 Drupal 核心更新并将您的网站更新到 Drupal 8.8。
淘汰弃用的代码
通过从 Drupal 8 代码库中删除旧的和弃用的代码,为新的和改进的 Drupal 9 功能让路。 当您保持 Drupal 核心和贡献的模块是最新的时,您也在拥抱更干净的代码。 更新版本删除了弃用的代码和 API 的使用。 有多种方法可以检查过时的代码。
- 有时函数标有@deprecated注释,警告开发人员以下代码已被弃用以及他们应该使用什么来代替。
- 使用像 Drupal Check(来自 Centarro 的 Matt Glaman)这样的命令行工具来帮助检查过时的代码和其他错误。 它还可以集成到持续集成环境中。
- 下载 Drupal-Check 之上的 Drupal 8 升级状态模块,以获得更多基于 UI 的解决方案。 它可以扫描您的整个 Drupal 项目并生成一个清晰的可视化报告,说明任何兼容性问题、将模块升级到最新版本的需要以及 Drupal 9 准备情况。
- Drupal.org 还提供支持以检查其测试系统中的 Drupal 9 准备情况和弃用情况。 就像使用 phpStan 启用静态分析或在达到弃用级别时设置 trigger_error() 一样。
一旦确定,是时候进行一些手动工作来删除弃用的代码并改进现有的代码库了。 使用 Drupal 8 rector 之类的自动化工具来解决一些代码问题,尽管它确实需要一些手动干预。

Drupal 9 清单
