将网站从Drupal7升级到Drupal9

受甲方委托,我方将spring4life.com网站从Drupal7升级到最新的Drupal9。

一、什么是Drupal 9?

Drupal 9只是Drupal 8.9版本中缺少不推荐的代码。对于每个人来说,Drupal 8.9都是一样的——编辑、网站建设者和开发人员,Drupal 8.8.0将是最后一个不支持Drupal 9的版本。Drupal 9采用API优先开发方法构建,增强了可以定义编辑工作流的结构工具。不过,现在只是用户给我们诚实反馈的时候了。

二、为什么升级到Drupal 9?

更大的问题是:“是时候让Drupal再看一眼了吗?”以及“这次迁移对你来说有多紧迫?”

Drupal 8.9是Drupal 8的最终版本,将只在2021之前接受错误修复和安全覆盖。而Drupal 9的开发和安全更新将远远超出这一时间线。

这意味着您可以满足于在2021年底之前使用Drupal 8.9更新您的站点。

Drupal 9适用于希望与更高版本向前兼容的站点。此外,根据更新,并非所有Drupal 8代码都将在Drupal 9上运行。

除了这些考虑之外,对于希望从WordPress或其他CMS迁移到Drupal 9的企业来说,现在是利用Drupal 9功能的绝佳机会!

三、如何准备Drupal 9升级?

首先,检查您最喜欢的贡献模块的状态,看它们是否与Drupal 9兼容,因为最终,您希望您的站点迁移到Drupal 9。

Drupal 9更新清单

在您开始迁移过程之前,这里有一个清单,列出了一些可以帮助您更快更新的内容:

确保您的站点是最新的次要版本,即Drupal 8.9。Drupal 8.8之后不支持升级。

升级至最新的PHP要求,即PHP 7.4+

不推荐站点上的代码,并在需要时借助升级状态模块进行修复。

检查你的网站是基于Composer还是Tarbolls。这将决定实际的升级流程。

四、用于升级的工具和模块

如果您已经准备好开始朝着正确的方向前进,下面列出了一系列工具和模块,它们将为您提供帮助:

Core Migrate Module Suite:迁移内容和网站配置

Upgrade Status Module:提供有关已贡献项目可用性的信息,(https://www.drupal.org/project/upgrade_status)

Upgrade Rector:将Drupal 8站点的常见不推荐代码自动更新为与Drupal 9兼容的最新代码

Drupal Module Upgrader:扫描并转换Drupal 7站点上过时的代码,https://www.drupal.org/project/drupalmoduleupgrader

五、商业价值

无论是D7还是D8,您都可以开始准备尽快升级Drupal站点。

Drupal 7于九年前推出,现在正是重新评估内容编辑和网站用户需求的最佳时机。评估维护软件和更新系统的业务连续性方面也很重要。

这些问题可能会帮助您解决迁移如何更好地服务于今天的受众:

现有功能和模块的相关性和安全性如何?

你的迁移范围是什么,你可以分配多少时间和预算,你手头有什么开发人员技能?

升级后的设计和架构会对现有网站的内容产生什么影响?

有了这些问题的答案和迁移之旅,你可能需要在你的角落里的专家和能够伸出援助之手的合作伙伴。

六、从Drupal7升级到Drupal8的步骤

根据官网文档指南,Drupal7是不能直接升级到Drupal9的,先将Drupal7升级到Drupal8,再从Drupal8升级到Drupal9。由于Drupal7和Drupal的架构相差很大,升级较为麻烦,但Drupal8到drupal9的升级较为容易。

1、首先备份drupal7网站的数据库、程序文件,部署到新的服务器上。

2、在测试服务器上安装Drupal8系统,只需要默认安装,无需进行配置

3、启动迁移相关的模块,如:migrate、migrate_plus、migrate_tools等,如果需要迁移其他数据,可以找相应的模块,如果没有相应的模块,可以等迁移完成后利用batch api手动完成迁移。也可以自定义一些migrate的模块。

4、在新的网站上输入/update.php 根据提示输入相关的信息,遇到问题逐一进行解决,这样就完成迁移了,我这里没有详细描述遇到的问题,是因为每个Drupal7网站安装的模块不同,内容类型不同,遇到的问题也不相同。

 

七、升级完成!!!!

升级前Drupal7:

将网站从Drupal7或者drupal8升级到Drupal9

将网站从Drupal7或者drupal8升级到Drupal9

将网站从Drupal7或者drupal8升级到Drupal9
标题

 

升级后Drupal9:

将网站从Drupal7或者drupal8升级到Drupal9