阅读时间 3 分钟 (686 字)

向后兼容插件及其关闭原因

2024-02-Backward-Compatibility

Joomla! 5 已经发布,并带来了许多改进。其中之一就是“行为 - 向后兼容”插件。这不是你可以在后端或前端看到的特性,那么这个插件的目的何在?让我们回答最重要的几个问题!

为什么在 Joomla 5 中添加了这个插件?

在过去 10 年中,Joomla 核心对代码的许多领域进行了现代化改造。这意味着某些过时的类结构已经变得过时,不应再使用。在 Joomla 中,我们有明确的向后兼容定义。这意味着这些类不能在 Joomla 6 之前被移除。但是,很多旧的、未使用的类意味着核心速度较慢,并且有很多开销。另一方面,将这些类保留在核心中提供了一层向后兼容层,允许不遵循当前 Joomla 开发最新状态的扩展。因此,Joomla 3 的扩展仍然可以在 Joomla 5 上运行。

但是,对于那些不使用带有这种旧代码的扩展的人来说呢?在 Joomla 4 中,他们加载了不使用的代码。因此,这个想法是将所有这些代码移动到插件中,当不需要时可以禁用它。

禁用插件有哪些好处?

禁用插件的最大好处是性能的大幅提升。没有插件,旧代码就不会被注册并且永远不会被加载。你可以确信你没有安装使用旧代码的扩展,并且你有更高的几率平滑地升级到 Joomla 6。

在哪里可以找到这个插件?

向后兼容插件在从 Joomla 4 升级到 Joomla 5 或在全新安装时自动激活。“行为 - 向后兼容”插件位于“行为”插件组中。你可以在通过“系统”菜单项进入后端插件区域时找到插件。

Find the plugin in the backend

我需要这个插件吗?

这取决于您网站上安装的扩展。因此,找出答案的唯一方法就是:禁用插件,但当然不能在您的实际网站上操作。制作您网站的副本,并在测试环境中尝试。建议在禁用插件之前启用调试模式,以便在出现问题时更好地查看错误信息。

没有错误?太好了,您现在可以尝试在实时网站上禁用它(别忘了备份)然后就可以使用了。

发现错误?有几种方法可以使您的网站恢复正常。

  1. 检查哪个扩展引起了错误,并检查该扩展是否有新版本,或者寻找替代方案。
  2. 转到后端中的插件管理器(系统 => 插件)并重新启用插件。
  3. 如果插件管理器被错误信息阻止,您可以恢复备份或通过例如phpMyAdmin访问数据库并启用插件。在#__extensions表中找到它,将“enabled”从0改为1。
    Set enabled status to 1 to enable the plugin in the extensions table of your database

当第三方扩展在没有插件的情况下无法工作时应怎么办?

不禁用插件?

目前,如果插件对您网站的性能影响可接受,则可以激活插件。但是,您应该检查开发者的网站,看看是否有计划去除这段旧代码,或者您应该寻找替代扩展来替换当前的扩展。

如果我的网站在禁用插件的情况下可以工作,这意味着它已经准备好升级到Joomla 6了吗?

这很难预测,因为Joomla 6还处于早期开发阶段。根据向后兼容性承诺,没有插件就可以工作的Joomla 5网站有更好的机会平稳更新。话虽如此:未来可能会有一些无法避免的更改,可能会破坏某些东西。目前我们只能说:如果您的网站在没有插件的情况下无法工作,那么它肯定无法与Joomla 6一起工作。因此,仍然建议您尽快获取禁用插件的网站。

有些文章代表作者对特定主题的个人观点或经验,可能并不代表Joomla项目的官方立场。

1
二月号
最平滑的Joomla升级 - 我使用Joomla升级的...
 

评论 7

已经注册? 请在此登录
Marc Dechèvre on Tuesday, 20 February 2024 12:54
目前一些没有插件就无法工作的扩展

非常感谢@benjamin提供的这篇非常有用的文章!

我刚刚尝试在我所有的J5网站上禁用向后兼容性插件。

以下是我个人使用的扩展程序列表(如果你禁用向后兼容插件,这些扩展程序可能会让你的网站崩溃):

  • Tassos开发的表单转换(以及它的一部分NRFramework)
  • Acyba开发的Acymailing
  • JoomUnited开发的Dropfiles
  • LSCache(LiteSpeed Cache)


因此,如果你使用这四个扩展程序中的任何一个,你应该已经知道在禁用向后兼容插件之前应该先等待新版本。

0
非常感谢@benjamin写了这样一篇非常有用的文章!我刚刚尝试在我的所有J5网站上禁用向后兼容插件。以下是我个人使用的扩展程序列表,如果禁用向后兼容插件,你的网站将会崩溃:[列表] [*] Tassos开发的表单转换(以及它的一部分NRFramework) [*] Acyba开发的Acymailing [*] JoomUnited开发的Dropfiles [*] LSCache(LiteSpeed Cache)[/列表] 所以如果你使用这四个扩展程序中的任何一个,你应该已经知道在禁用向后兼容插件之前应该先等待新版本。
gasoline 在2024年2月20日星期二 17:20
不再有快速升级了

最后一句话“因此,仍然建议尽快获取已禁用插件的网站。”让我非常害怕。这到底是怎么回事。

我们已经从3.0升级到4.0时遇到了重大问题。然后不久5.0就来了,幸运的是,在大多数情况下这很简单,现在我们还可以期待Joomla 6很快就会到来,升级问题会更多??

5到7年的发布周期在哪里?Wordpress例如不会这样做。太多的变化会让人们离开Joomla。我自2005年以来一直是一名快乐的客户,但最近Joomla让我感到害怕。不能这样经营业务。

0
最后一句话“因此,仍然建议尽快获取已禁用插件的网站。”让我非常害怕。这到底是怎么回事。我们已经从3.0升级到4.0时遇到了重大问题。然后不久5.0就来了,幸运的是,在大多数情况下这很简单,现在我们还可以期待Joomla 6很快就会到来,升级问题会更多??5到7年的发布周期在哪里?Wordpress例如不会这样做。太多的变化会让人们离开Joomla。我自2005年以来一直是一名快乐的客户,但最近Joomla让我感到害怕。不能这样经营业务。
Anja de Crom 在2024年2月22日星期四 10:42
继续呼吸,Gasoline

你好,Gasoline,Joomla 5将支持到2027年。所以现在没有必要恐慌。

在你的发布周期投诉中,我读到了这句话“5很快就来了,幸运的是,在大多数情况下这很简单”。

我很高兴一切都很顺利,因为根据你在这篇文章下面的评论:[链接] 和这个:[链接],你对此并不确定。

这篇文章的目的不是让任何人感到害怕。它主要是鼓励大家保持网站更新,并淘汰过时的东西。这是好事:安全、安全的网站绝对没有任何问题。

1
嗨,汽油,Joomla 5 将支持到 2027 年。所以,现在完全没有必要恐慌。在你对发布周期的抱怨中,我看到了这样的评论:“[i]5 版本来得太快了,幸运的是,在大多数情况下都很容易[/i]”。我很高兴事情进展顺利,因为根据你在这篇文章下面的评论:[url=https://magazine.joomla.net.cn/all-issues/april-2023/joomla-5,-find-out-who-is-in-the-driving-seat]https://magazine.joomla.net.cn/all-issues/april-2023/joomla-5,-find-out-who-is-in-the-driving-seat[/url] 和这篇:[url=https://magazine.joomla.net.cn/all-issues/october/updating-a-rather-complex-site-to-joomla-5-0-0]https://magazine.joomla.net.cn/all-issues/october/updating-a-rather-complex-site-to-joomla-5-0-0[/url],你对这一点并不是那么确定。这篇文章的目的不是让任何人感到害怕。它主要是鼓励大家保持网站更新,并淘汰过时的东西。这是一件好事:安全、安全的网站绝对没有任何问题。
Philip Walton 在 2024 年 2 月 22 日星期四 10:58
周二晚上的观众并没有这么说

我担任伦敦 Joomla 用户小组负责人已有超过 15 年,在周二晚上的安全发布会议后,观众开始谈论成功的更新,并说主版本和次要版本都变得更好。其中一些是来自 Mambo 时代的用户和管理员,他们不仅称赞大多数更新的流畅性,还称赞发布周期,因为发布越频繁,每次的步骤就越小。

路线图计划提前两年,以前在 4.0 之前,任何发布的日期都是一个秘密,直到它落地,以及 6 周的常规更新间隔,次要版本为 6 个月,主版本为 2 年,类似于许多其他专业软件包,如 Ubuntu,规划从未如此简单。

如果你有任何问题,为什么不分享到每月的会议,比如 JUGL,它可以帮助你解决问题呢?

我拥有超过 100 个客户,其中一些是大型机构,他们非常喜欢这种方式,这给了他们信心和保证,他们知道网站会定期更新。

0
我担任伦敦 Joomla 用户小组负责人已有超过 15 年,在周二晚上的安全发布会议后,观众开始谈论成功的更新,并说主版本和次要版本都变得更好。其中一些是来自 Mambo 时代的用户和管理员,他们不仅称赞大多数更新的流畅性,还称赞发布周期,因为发布越频繁,每次的步骤就越小。路线图计划提前两年,以前在 4.0 之前,任何发布的日期都是一个秘密,直到它落地,以及 6 周的常规更新间隔,次要版本为 6 个月,主版本为 2 年,类似于许多其他专业软件包,如 Ubuntu,规划从未如此简单。如果你有任何问题,为什么不分享到每月的会议,比如 JUGL,它可以帮助你解决问题呢?我拥有超过 100 个客户,其中一些是大型机构,他们非常喜欢这种方式,这给了他们信心和保证,他们知道网站会定期更新。
Robert Fairhead 在 2024 年 2 月 22 日星期四 05:50
遵循文章的指南!

阅读这篇文章后,我想尝试在我的预发布/测试环境中禁用“行为 - 兼容性”插件。我启用了调试模式,禁用了插件,并立即在管理后端收到了错误消息

发生错误
0 类 "JPlugin" 未找到

当我刷新前端时,我遇到了同样的错误。

由于我无法在管理后端启用插件,我按照说明通过 phpMyAdmin 重置了测试网站,找到 #__extensions 表,将 "enabled" 从 0 更改为 1。

不幸的是,这对我没有起作用,看起来我不得不恢复网站的备份。

因此,请遵循文章的指南,只尝试在测试环境中禁用“行为 - 兼容性”插件。

0
阅读完这篇文章后,我想尝试在我的预发布/测试环境中禁用“行为 - 兼容性”插件。我开启了调试模式,禁用了插件,然后在管理员后端立即收到了一个错误消息:发生错误 0 类 "JPlugin" 未找到。当我刷新前端时,也得到了同样的错误。由于我无法在管理员后端启用插件,我按照说明通过phpMyAdmin重置了测试网站,找到 `#__extensions` 表并将 "enabled" 从 0 改为 1。不幸的是,这对我不起作用,看来我不得不恢复网站的备份。所以,请遵循文章的指南,只尝试在测试环境中禁用“行为 - 兼容性”插件。
Marc Dechèvre 在 2024 年 2 月 28 日星期三 08:51
关于那些尚未原生支持J5的扩展的新闻

以下是关于我之前提到的4个扩展的一些新闻。

我确实联系了各自的开发者,询问J5原生版本何时发布(即不需要兼容性插件),以下是他们的回答

Tassos开发的表单转换(以及它的一部分NRFramework)

"我们所有的扩展都将包含在下一个稳定版本中,成为Joomla 5原生。请在此处关注更多公告。下一个将获得其Joomla 5原生版本的扩展将是Google结构化数据,接着是高级自定义字段,最后是Convert Forms。"

Acyba开发的Acymailing

Jeremy的回答:"我们尝试同时保持AcyMailing与Joomla 3、4和5的兼容性,这就是我们为什么还在使用Joomla的旧版本类。我希望我们能够更新这些类,而不会破坏Joomla 3的兼容性,因为还有不少用户还在使用j3网站"

JoomUnited开发的Dropfiles

"我们计划在本年底使Dropfiles与J5原生兼容。一旦准备好,我们将立即通知您"

LSCache(LiteSpeed Cache)

昨天我在Slack上联系了LiteSpeed的Wuhua(也已在论坛上发布:[a href="https://www.litespeedtech.com/support/forum/threads/joomla-5-compatibility.22549/#post-129197" target="_blank" rel="nofollow">https://www.litespeedtech.com/support/forum/threads/joomla-5-compatibility.22549/#post-129197 )。
我正在等待他的回答。

0
以下是关于我之前提到的4个扩展的一些新闻。我确实联系了各自的开发者,询问J5原生版本何时发布(即不需要兼容性插件),以下是他们的回答:[b]Convert Forms(以及其中的NRFramework)由Tassos开发[b] "我们所有的扩展都将包含在下一个稳定版本中,成为Joomla 5原生。请在此处关注更多公告。下一个将获得其Joomla 5原生版本的扩展将是Google结构化数据,接着是高级自定义字段,最后是Convert Forms。" [b]AcyMailing由Acyba开发[b] Jeremy的回答:"我们尝试同时保持AcyMailing与Joomla 3、4和5的兼容性,这就是我们为什么还在使用Joomla的旧版本类。我希望我们能够更新这些类,而不会破坏Joomla 3的兼容性,因为还有不少用户还在使用j3网站" [b]Dropfiles由JoomUnited开发[b] "我们计划在本年底使Dropfiles与J5原生兼容。一旦准备好,我们将立即通知您" [b]LSCache(LiteSpeed缓存)[b] 我昨天在Slack上联系了LiteSpeed的Wuhua(也已在论坛上发布:https://www.litespeedtech.com/support/forum/threads/joomla-5-compatibility.22549/#post-129197)。我正在等待他的回答。
Marc Dechèvre 在 2024 年 7 月 16 日星期二 19:41
仍然需要启用兼容性插件的扩展(续篇)

以下是关于我在2月份最后一条消息中提到的,需要启用兼容性(b/c)插件的扩展的一些小更新。

AcyMailing现在可以正常工作,就像Tassos开发的Convert Forms。

但今天我迁移了大约10个网站从J4到J5,并在所有这些网站上禁用了b/c插件,看看会发生什么。
显然,Droppics(JoomUnited)和Ecwid(购物平台)仍然需要b/c插件...

如果您知道任何仍然需要b/c插件的扩展,请随意在下面添加评论...
Droppics & Ecwid

0
以下是我在2月份的最后一条消息之后的小更新,列出了仍然需要启用向后兼容性(b/c)插件的扩展。Acymailing现在没问题,就像Tassos的Convert Forms。但今天我从J4迁移了大约10个网站到J5,并在所有这些网站上禁用了b/c插件,看看会发生什么。显然,Droppics(JoomUnited)和Ecwid(购物平台)仍然需要b/c插件...如果您知道任何仍然需要b/c插件的扩展,请随意在下面添加评论...Droppics & Ecwid

通过接受,您将访问https://magazine.joomla.net.cn/外部第三方提供的服务