Drupal 9 準備清單 - 您準備好迎接更美好的明天了嗎?

已發表: 2020-05-12

Drupal 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 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.org)

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 9.0 的新增功能(圖片來源 - Drupal.org)

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 清單

Drupal 9 清單