如何準備好 Drupal 10 以及下一步應該做什麼
已發表: 2021-10-20在當今快節奏和動態的數字世界中,企業幾乎需要提供更安全、性能更好和功能豐富的 Web 體驗。 幸運的是,如果您的組織仍然有點落後,有一種簡單的方法可以縮小差距; 只需將您的 CMS 更新到最新版本即可。
隨著 Drupal 9 於 2020 年年中發布以及 Drupal 10 即將發布的消息,週期中期時間框架對於某些組織來說可能是一個令人困惑的時期。 隨著細節變得更加清晰,Specbee 將在這裡回答您關於 Drupal 10 的所有問題。我們還將幫助您為 Drupal 10 做好準備,並在本文後面部分為您提供 Drupal 10 準備計劃團隊目前正在開展的工作的最新信息.

Drupal 10 什麼時候發布,為什麼發布這麼快?
Drupal 10 暫定於 2022 年 6 月至 2022 年 11 月之間發布。 根據最新報告,Drupal 10 準備計劃團隊一直在取得巨大進展,並且正在實現其目標和可交付成果——這意味著任何延遲都將是意料之外的。
從 Drupal 9 到 Drupal 10 如此快速的循環的原因是,自從 Drupal 8 發布並採用持續創新實踐以來,Drupal 促進了與許多第三方組件的集成和依賴關係,從積極的方面來說,積極推動技術進步。 集成其中一些出色的組件,如 Composer、PHP、Symfony 和 CKEditor(以及許多其他組件),將 Drupal 的可用性和健壯性提升到了另一個水平,並為更廣泛的人才庫打開了大門。
但是所有這些組件和依賴項的進步也意味著 Drupal 必須加快步伐以跟上這些發布週期。 隨著對主要/次要版本的每次主要集成更新, Drupal 也需要更新其主要/次要版本。
Symfony 是 Drupal 最大的依賴項之一。 Drupal 9 需要 Symfony 4,它會在 2023 年 11 月達到其生命週期終止 (EOL)。CKEditor 和其他 3rd 方組件也存在類似的情況。 隨著這些主要組件到達 EOL,Drupal 9 也將在 2023 年 11 月到達 EOL。作為準備,Drupal 10 計劃在此之前(6 月至 2022 年 11 月之間)發布,以便為組織提供足夠的升級時間。

DrupalCon Europe 2021 上的 DriesNote - https://youtu.be/VuSBnL_uG2I
升級到 Drupal 8 還是 Drupal 9?
當 Drupal 7 於 2011 年初發佈時,由於 Drupal 6 的巨大飛躍,社區引起了極大的興奮。這也是很長一段時間......花了將近三年的努力、熱情和承諾來構建改變遊戲規則的Drupal 版本。
但是現在 Drupal 7 已有 10 多年的歷史(這是“網站時代”的一個世紀),是時候為所有組織轉向現代版本的 Drupal。 Drupal 7 將於2022年 11 月終止使用 (EOL)。 造成這種情況的更大原因之一是,隨著 PHP 和 MySQL 發布其最新版本,Drupal 7 更難保持兼容以及仍然使用它按預期工作的網站。 更重要的是,組織也錯過了自在 Drupal 8 中重組以來所做的關鍵改進和功能。
Drupal 8 於 2015 年 11 月發布,在擁抱現代庫和組件的同時帶來了巨大的架構變化。 對於 Drupal 來說,這是一個完整的範式轉變。 這些進步帶來了語義版本控制、更短的發布週期,以及最重要的是,未來容易升級——得到了許多人的讚賞。
那麼,如果您使用的是 Drupal 7 或 Drupal 8,您的下一步計劃是什麼? 這個決定比你想像的要容易一些。 Drupal 8 將於 2021 年 11 月 2 日達到 EOL(它將不再獲得任何進一步的社區支持或安全修復),並且所有 Drupal 8 站點都需要在此之前升級到 Drupal 9。 我們建議立即遷移到 Drupal 9 。 好消息是,從 Drupal 8 升級到 Drupal 9 真的很容易!
Drupal 9 於 2020 年 6 月發布,與 Drupal 8 的上一個版本沒有太大區別。主要區別在於它具有更簡潔、更精簡的代碼、一些最佳技術的最新版本和現代默認主題。

圖片來源:Drupal.org

準備好 Drupal 10
另一個好消息是,從 Drupal 9 升級到 Drupal 10 將變得更加容易! 借助像 Rector 這樣出色的工具來幫助您自動化代碼更新,將 Drupal 9 站點升級到 Drupal 10 的自動化程度將比從 Drupal 8 升級到 Drupal 9 的自動化程度高 300%。
根據最近在 DrupalCon Europe 2021 上的 DriesNote,Drupal 10 準備計劃已經取得了一些驚人的進展,並且已經完成了 70% 的工作!
以下是您可以為 Drupal 10 做好準備的操作:
- 如果您仍在使用 Drupal 7(或 Drupal 6),請尋找可靠且技術嫻熟的 Drupal 合作夥伴,以幫助您無縫遷移到 Drupal 9。
- 如果您使用的是 Drupal 8,請盡快輕鬆升級到 Drupal 9(在 Drupal 8 EOL 之前)
- 確保您已更新到 Drupal 9 的最新(上次發布)版本
- 升級您貢獻的所有項目以移除棄用以支持 Drupal 10。
- 這將確保它支持所有最新發布的庫、組件和最新的 PHP 版本(因為它們的舊版本將在 Drupal 10 中棄用)
- 從這裡開始,只需進行簡單的核心升級,即可輕鬆升級到 Drupal 10。
Drupal 10 準備計劃的更新
Drupal 10 已經在 Drupal 9 中構建。根據 Drupal 10 準備計劃團隊的說法,“Drupal 10 將是 Drupal 9 的改進版本”。 自 2020 年 3 月以來,該團隊一直在努力確保 Drupal 10 按時發布,沒有任何故障。 如果您想為該計劃做出貢獻,您可以通過許多不同的方式來實現。 在這裡查看您可以如何提供幫助。
以下是 Drupal 10 準備計劃的一些最新更新:
1. Symfony 6 兼容性
在 Drupal 9 中為 Symfony 5 解決了 Symfony 4 棄用問題。對於站點所有者和模塊開發人員來說,在 9.3 中盡可能多地兼容 Symfony 6 會更好。
2. 移除 Drupal 核心使用的 jQuery UI 組件,替換為一組支持的解決方案
自己重建 jQuery UI 功能。 這可以通過使用 vanilla JavaScript 或使用 React 等框架來完成。
3. 提供適當的機制來棄用模塊
一組用於命名、版本控制、棄用、是否保留包裝器、強制卸載等的最佳實踐。在info.yml文件中引入一個“生命週期”屬性,用於主題和模塊。
4. 允許 Drupal 9 與 Twig 3 一起安裝
我們不知道 Twig 2 EOL 的確切時間,但它是否會強制在 Drupal 10 或 11 中進行更新,最好升級到 Twig 3。
5. 在 Drupal 9 中添加對 CKEditor 5 的可選支持,以便我們可以從 Drupal 10 中刪除 CKE 4
將 Ckeditor 5 移動到 contrib 以尋求社區的支持。 如果我們希望能夠在 Drupal 10 之前棄用 CKEditor 4,那麼 CKEditor 5 模塊需要在最後的 Drupal 9 次要版本中保持穩定,因此我們可以在 Drupal 10 中刪除 CKEditor 4。
6. PHP 8.1 支持 Drupal 9 和 Drupal 10
PHP 8.1 兼容性有了很大的進步。 現在只有兩個內部問題需要解決。 此外,PHP 8.1 在 RC3 中,因此現在可以使用它非常穩定。
7. 升級到 Guzzle 7
Guzzle 已更新至 Guzzle 7.3.0。 它需要 psr/http-client 1.0.1,它也已作為依賴項添加。
8. 用入門套件主題替換 Classy
用新的入門套件主題替換 Classy。 初學者工具包標記和 CSS 將被允許隨時間更改,因為它僅作為主題的起點。
9. 刪除 Drupal 10 分支上不推薦使用的模塊
刪除在 Drupal 9 中達成一致且不推薦使用的模塊。
非常感謝@AkshayDevadiga,他也是 Drupal 10 準備計劃的貢獻者,提供了這些有用的更新!
