Drupal 8 Migrate - 關於 Drupal 7 到 8 遷移,您可能仍然存在的前 13 個問題

已發表: 2019-09-17

“我應該將 Drupal 7 遷移到 8 還是應該等待?” 當涉及到 Drupal 7 到 8 的網站遷移時,這個問題一直困擾著商業決策者。 改變可能是艱難而可怕的,尤其是在它開始的時候。 然而,改變是讓你成長、進化和進步的原因。 做出像遷移 Drupal 7(或 6)網站這樣大的決定會很痛苦——這是你所知道和喜愛的。 但是很快您就會知道您做出了有史以來最出色的商業決策!

Drupal 8 Migrate - 長期願景

人們一直認為 Drupal 是一個難以掌握的 CMS。 從最終用戶到開發人員,Drupal 被認為具有巨大的學習曲線。 是的,對於以前的主要版本(在 Drupal 8 之前),升級和適應變化的過程更加困難。 它也更昂貴(需要更多的資源時間),貢獻的模塊(和必要的特性)的發布更慢,發布週期更長。

但是有了 Drupal 8,一切都變了。

Tom Wentworth(Acquia 的產品營銷高級副總裁)在他的文章中準確地總結道,與其他一些 CMS 不同的是,“Drupal 8 是從整個基礎到基礎的拆解”。 對於 Drupal 社區來說,基於相同的舊基礎創建升級將是一件容易得多的任務。 但是從 Drupal 8 開始,Drupal 社區一直專注於長期可持續性和讓人們毫不費力地採用 Drupal。 這需要對 Drupal 8 進行完整的重新架構,採用 Symphony 以獲得高性能,Twig 用於更現代的模板引擎,面向對象的編程更易於維護,現代用戶體驗設計創建者和編輯器用於豐富的內容編輯等等.

Drupal 8 的持續創新方法通過定期(和更短的)次要版本、語義版本控制(以“major.minor.patch”格式)推動進化,通過在核心中發布實驗模塊,有助於增強向後兼容性和模塊更快的穩定性。

您的 Drupal 7 到 8 遷移問題已得到解答。

儘管 Drupal 8 出現並穩定已經有一段時間了,但在遷移之前,我們的客戶仍然向我們提出了大量問題。

1. 為什麼我要在 Drupal 9 即將到來的時候升級到 Drupal 8(從 Drupal 7)? (我們幾乎每次都得到這個)

我有一個專門討論這個問題的博客,但如果你堅持,這裡是你現在升級到 Drupal 8 的好處 -

  • 時間緊迫——因此 Drupal 9 直到 2020 年 6 月才會發布,而 Drupal 7 將在 2021 年 12 月結束。這意味著您只有一年半的時間升級到 Drupal 9。如果您的網站非常簡單並且需要較少的定制,這是一個可行的選擇。 否則,您最好現在就開始升級到 Drupal 8,從 Drupal 9 遷移到 Drupal 8 就像升級到下一個次要版本一樣簡單。
  • 與 FOMO 生活在一起——這是我最近學到的一個術語——害怕錯過。 當您現在可以遷移到 Drupal 8 並提升您的 Drupal 網站的性能和體驗時,為什麼要錯過一些強大的現代增強功能? 無論如何,從 Drupal 8 升級到 Drupal 9 都是輕而易舉的事!
  • 只是一個更好的版本——Drupal 9 只是 Drupal 8 減去不推薦使用的代碼和模塊。 立即遷移到 Drupal 8,享受性能更好的網站並輕鬆升級到 Drupal 9(以及任何未來版本的 Drupal)

2. 我們仍然停留在 Drupal 6 上。救命!

如果您仍然堅持使用 Drupal 6,那麼是時候繼續前進了。 今天,網絡發生了變化,Drupal 也發生了變化。 Drupal 社區自 2016 年 2 月起不再支持 Drupal 6。這意味著,將不再有新的 Drupal 模塊或功能值得期待,不再有錯誤修復、安全更新和補丁。 因此,將您網站的安全置於高風險之中,當然還會從社區中剝奪一些 TLC。 如果您仍然希望為您的網站提供最好的服務,請立即遷移到 Drupal 8! 是的,您可以完全跳過 Drupal 7。Drupal Migrate 模塊現在包含在 Drupal 8 核心中,使轉換變得簡單快捷。

3. Drupal 8 提供哪些性能升級?

Drupal 8 配備了性能增強功能和模塊,可以將您的網站變成一個快速和高性能的網站。 這裡有一些可以命名 -

  • Symfony 框架——Drupal 8 採用 Symfony 框架不僅對開發人員來說是一個偉大的舉措,對網站所有者也是如此。 Symfony 提供了一個強大、靈活和高性能的框架,允許網站輕鬆擴展。
  • BigPipe 緩存- 它允許您將頁面分成不同的部分(稱為 Pagelets),這些部分可以在可用時呈現(先緩存)。 這可以讓您顯著提高頁面的感知性能和速度。

遷移-d8

  • PHP7 支持– 您知道 PHP 7 現在比 PHP 5.6 快兩倍,因為它有新的 Zend 引擎嗎? 借助 Drupal 8 中的 PHP 7 支持,您的網站可以看到性能提升約 110% 並減少內存使用。

4. Drupal 8 遷移過程中我們會遇到哪些挑戰? 可以做些什麼來緩解這些問題?

在從 Drupal 7 遷移到 Drupal 8 期間遇到的挑戰完全取決於網站的複雜性,如果它包括重新設計、需要遷移的內容量以及更多其他因素。 Drupal 8 遷移的第一步也是最關鍵的一步是審核您現有的網站。 如果處理不當,審核和分析您的網站可能是最大的挑戰,如果處理得當,可能會導致成功(且快速)遷移。 如果沒有很好地計劃,您可能會遇到您沒有準備好處理的問題 -

  • 模塊兼容性問題
  • 可能會遷移舊的和未使用的模塊,這會增加遷移時間
  • 現有模塊/功能/主題/視圖/實體不可用(在核心或貢獻中)
  • 需要在 Drupal 8 中重建和重寫自定義模塊。(因為如前所述,D8 已經重組了自己,以便能夠為未來做好準備)
  • 功能和視圖的重建/重新打包
  • 主題的重新開發——因為 Drupal 8 新的強大的模板引擎 Twig

我們如何解決這個問題? - 簡單。 很好地審核您的網站。 讓 Drupal 技術合作夥伴對您現有的網站進行完整的分析和審核,並列出需要遷移的功能、模塊和其他元素。 他們需要向您提供有關哪些內容需要重建以及哪些內容可以輕鬆移植的詳細信息。 您還可以使用升級檢查器等評估模塊,它會為您提供遷移組件的完整列表以及可能需要多長時間的估計。

5. 我們能否遷移到 Drupal 8 並保留我們現有的數據,同時保持 GDPR 合規性?

絕對地! Drupal 如此成功的原因在於其積極主動且隨時準備戰鬥的 Drupal 社區。 Drupal GDPR 合規團隊項目旨在為網站提供有助於使其符合 GGDPR 的模塊和功能。 Drupal 8 中有超過 15 個新模塊可用於 GDPR 合規性,其中一些模塊可以移植到 Drupal 8,一些模塊可能需要重寫。 在此處查看可幫助您構建符合 GDPR 的網站的 Drupal 模塊列表。

6. 我的內容會怎樣?

Drupal 了解內容對每個組織的重要性。 在 500 多名貢獻者的努力下,Drupal 8.5.0 的發布匯集了一個穩定而強大的 Drupal Migrate 架構。 Migrate API、Drupal Migrate 模塊和 Migrate Drupal UI 等模塊允許從數據庫或 JSON、CSV 或 XML 等來源靈活輕鬆地遷移內容。

7. 如果我們遷移到 Drupal 8,它會破壞我們現有的任何功能/模塊嗎?

這個問題的答案取決於您的網站結構、複雜性以及 Drupal 7(或 Drupal 6)在您網站上的實施方式。 很多時候,Drupal 8 升級沒有直接的路徑。 自定義模塊將需要重新構建,如果簡單地移植就會中斷,因為 Drupal 8 現在是基於 Symfony 框架(和 OOP 原則)構建的。 主題將需要重新開發,就像使用新的模板引擎 Twig 一樣,遷移現有的 Drupal 主題將不起作用。

8. 我們與第三方軟件的集成會在 Drupal 8 遷移時中斷嗎?

Drupal 8 與第三方軟件的集成剛剛變得更好。在 Drupal 8 中以 Web 服務為核心,創建 RESTful API 既簡單又快速。 這對於與許多第三方應用程序的連接非常寶貴。 此外,Drupal 8 在其列表中添加了更多集成模塊。

9. 我們的核心 Drupal 7 模塊還能工作嗎?

是的。 Drupal 7 核心模塊已經進入 Drupal 8,其中一些在 Drupal 8 中甚至更好! 雖然它們中的大多數是自動升級的,但如果沒有自動升級路徑,一些模塊將需要手動工作。 某些 Drupal 7(或 6)模塊未映射到同一個 Drupal 8 模塊。 例如,Drupal 7 中的 Block 模塊現在在 Drupal 8 中分為 Block 和 Custom Block 模塊。 儘管如此,Drupal 7 中的許多貢獻模塊現在都在 Drupal 8 核心中(如 Views 模塊)。

10. 我們的自定義模塊和貢獻模塊會發生什麼變化?

在 Drupal 8 採用 Symfony 框架和麵向對象編程原則之後,Drupal 向更廣泛的開發人員和程序員敞開了大門。 這也有助於構建更健壯和可重用的代碼。 但這種節省時間、面向未來的概念也帶來了一些壞消息。 壞消息是,大多數現有的自定義模塊和一些貢獻的模塊需要從頭開始重建才能支持 Drupal 8 的未來使命。 但是這方面的重要部分是從 Drupal 8 開始,任何主要/次要升級都將很容易。

11. 我們的 Drupal 主題會在遷移到 Drupal 8 時中斷嗎?

不幸的是,是的。 從 Drupal 4.7 到 Drupal 7,PHPTemplate 一直是默認的 Drupal 主題引擎。 但是,隨著 Twig(Symfony2 的一部分)的採用成為更強大、更安全和更現代的模板引擎,主題將需要重新開發。 但是,部分代碼可以按原樣替換。

12. Drupal 8 的 API 優先方法如何使我們受益?

到 2020 年,將有超過 500 億台聯網設備。 內容現在通過多種媒介消費——計算機、手機、物聯網、可穿戴設備、對話界面、智能電視……而且這個列表還在不斷增長。 這意味著,您的品牌需要與更多設備和更多格式進行交互,而不僅僅是一個網站。 內容交付變得更具挑戰性。

就像我們在同一頁面上一樣,API(應用程序編程接口)是一組規則或例程(函數或程序),用於指定應用程序如何相互交互。 例如,如果您想在您的網站上顯示當前天氣,您可以使用提供此服務的網站調用 API。
為了能夠有效地處理內容交付挑戰,需要將內容視為結構良好的數據。 Drupal 的 API 優先方法允許您在構建網站或移動應用程序之前創建 API。 這種未來主義的方法允許您將內容轉換為服務,然後無論格式如何,這些服務都可以與各種設備進行交互。 雖然 Drupal 7 在附加模塊的幫助下也支持 API 優先方法,但 Drupal 8 內置了內容即服務模型。
這就是我們的內部專家 Drupal 實踐負責人 Malabya Tewari 對 Drupal 8 的 API 優先方法所說的話——“Drupal 8 將這種方法提升到了另一個層次,這就是原因——REST 模塊現在處於核心位置,您可以在其中創建自己的使用視圖自定義 Web 服務(也在 D8 的核心中添加)。 使用核心 REST 模塊可以更輕鬆地創建自定義 REST API。 添加基本​​身份驗證也是核心。 您可以獲得適用於所有實體的 API,包括 JSON:API 和 GraphQL - 開箱即用!

JSON:Drupal 8 API

JSON:API 現在是 Drupal 8 核心的一部分。在最近一次 Drupal Camp 上的一次會議中再次引用 Malabya,“JSON:API 專注於以連貫的方式展示 Drupal 的最大優勢(實體/數據建模)。 對於大多數用例來說,簡單但足夠強大。”

13. 升級到 Drupal 8 有什麼好處?

Drupal 8 最令人驚嘆的功能之一是您(幾乎)擁有開箱即用的所需一切。

  • 響應式網站不再是奢侈品,而是必需品。 Drupal 8 的所有主題都是響應式現成的——它不僅適用於所有設備,還使您的 Drupal 網站的配置和設置變得更加容易。
  • 內置的、配置良好的WYSIWYG 編輯器 CKEditor可讓您輕鬆預覽和編輯您的內容。 您還有一個就地編輯器,可讓您直接在同一頁面中編輯塊、內容、菜單等。
  • 搜索引擎優化讓你注意到並在那裡。 借助 Drupal 的一些內置強大的 SEO 模塊,您可以佔據您的網站位置! SEO Checklist、PathAuto、Redirect、MetaTag 等模塊正在扼殺牠!
  • 最新、最強大的 HTML 版本HTML5現在內置於 Drupal 8 中。它讓您可以輕鬆地在所有設備上嵌入複雜的輸入元素,如音頻、視頻、日期、電子郵件等。
  • 借助 Drupal 8 開箱即用的多語言支持,將您的業務推向全球。 您不僅可以創建啟用基於語言的視圖的頁面,甚至管理界面也允許您選擇我們的首選語言。
  • 媒體和媒體瀏覽器,支持遠程文件,提供更高效的媒體處理能力。
  • CKEditor 中的媒體支持即將在 Drupal 8.8 中推出!
  • 內置的內容翻譯模塊使您能夠將任何內容實體翻譯成不同的語言。