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 中推出!
  • 内置的内容翻译模块使您能够将任何内容实体翻译成不同的语言。