向后兼容插件及其关闭原因
Joomla! 5 已经发布,并带来了许多改进。其中之一就是“行为 - 向后兼容”插件。这不是你可以在后端或前端看到的特性,那么这个插件的目的何在?让我们回答最重要的几个问题!
为什么在 Joomla 5 中添加了这个插件?
在过去 10 年中,Joomla 核心对代码的许多领域进行了现代化改造。这意味着某些过时的类结构已经变得过时,不应再使用。在 Joomla 中,我们有明确的向后兼容定义。这意味着这些类不能在 Joomla 6 之前被移除。但是,很多旧的、未使用的类意味着核心速度较慢,并且有很多开销。另一方面,将这些类保留在核心中提供了一层向后兼容层,允许不遵循当前 Joomla 开发最新状态的扩展。因此,Joomla 3 的扩展仍然可以在 Joomla 5 上运行。
但是,对于那些不使用带有这种旧代码的扩展的人来说呢?在 Joomla 4 中,他们加载了不使用的代码。因此,这个想法是将所有这些代码移动到插件中,当不需要时可以禁用它。
禁用插件有哪些好处?
禁用插件的最大好处是性能的大幅提升。没有插件,旧代码就不会被注册并且永远不会被加载。你可以确信你没有安装使用旧代码的扩展,并且你有更高的几率平滑地升级到 Joomla 6。
在哪里可以找到这个插件?
向后兼容插件在从 Joomla 4 升级到 Joomla 5 或在全新安装时自动激活。“行为 - 向后兼容”插件位于“行为”插件组中。你可以在通过“系统”菜单项进入后端插件区域时找到插件。
我需要这个插件吗?
这取决于您网站上安装的扩展。因此,找出答案的唯一方法就是:禁用插件,但当然不能在您的实际网站上操作。制作您网站的副本,并在测试环境中尝试。建议在禁用插件之前启用调试模式,以便在出现问题时更好地查看错误信息。
没有错误?太好了,您现在可以尝试在实时网站上禁用它(别忘了备份)然后就可以使用了。
发现错误?有几种方法可以使您的网站恢复正常。
- 检查哪个扩展引起了错误,并检查该扩展是否有新版本,或者寻找替代方案。
- 转到后端中的插件管理器(系统 => 插件)并重新启用插件。
- 如果插件管理器被错误信息阻止,您可以恢复备份或通过例如phpMyAdmin访问数据库并启用插件。在#__extensions表中找到它,将“enabled”从0改为1。
当第三方扩展在没有插件的情况下无法工作时应怎么办?
不禁用插件?
目前,如果插件对您网站的性能影响可接受,则可以激活插件。但是,您应该检查开发者的网站,看看是否有计划去除这段旧代码,或者您应该寻找替代扩展来替换当前的扩展。
如果我的网站在禁用插件的情况下可以工作,这意味着它已经准备好升级到Joomla 6了吗?
这很难预测,因为Joomla 6还处于早期开发阶段。根据向后兼容性承诺,没有插件就可以工作的Joomla 5网站有更好的机会平稳更新。话虽如此:未来可能会有一些无法避免的更改,可能会破坏某些东西。目前我们只能说:如果您的网站在没有插件的情况下无法工作,那么它肯定无法与Joomla 6一起工作。因此,仍然建议您尽快获取禁用插件的网站。
有些文章代表作者对特定主题的个人观点或经验,可能并不代表Joomla项目的官方立场。
通过接受,您将访问https://magazine.joomla.net.cn/外部第三方提供的服务
评论 7
非常感谢@benjamin提供的这篇非常有用的文章!
我刚刚尝试在我所有的J5网站上禁用向后兼容性插件。
以下是我个人使用的扩展程序列表(如果你禁用向后兼容插件,这些扩展程序可能会让你的网站崩溃):
因此,如果你使用这四个扩展程序中的任何一个,你应该已经知道在禁用向后兼容插件之前应该先等待新版本。
最后一句话“因此,仍然建议尽快获取已禁用插件的网站。”让我非常害怕。这到底是怎么回事。
我们已经从3.0升级到4.0时遇到了重大问题。然后不久5.0就来了,幸运的是,在大多数情况下这很简单,现在我们还可以期待Joomla 6很快就会到来,升级问题会更多??
5到7年的发布周期在哪里?Wordpress例如不会这样做。太多的变化会让人们离开Joomla。我自2005年以来一直是一名快乐的客户,但最近Joomla让我感到害怕。不能这样经营业务。
你好,Gasoline,Joomla 5将支持到2027年。所以现在没有必要恐慌。
在你的发布周期投诉中,我读到了这句话“5很快就来了,幸运的是,在大多数情况下这很简单”。
我很高兴一切都很顺利,因为根据你在这篇文章下面的评论:[链接] 和这个:[链接],你对此并不确定。
这篇文章的目的不是让任何人感到害怕。它主要是鼓励大家保持网站更新,并淘汰过时的东西。这是好事:安全、安全的网站绝对没有任何问题。
我担任伦敦 Joomla 用户小组负责人已有超过 15 年,在周二晚上的安全发布会议后,观众开始谈论成功的更新,并说主版本和次要版本都变得更好。其中一些是来自 Mambo 时代的用户和管理员,他们不仅称赞大多数更新的流畅性,还称赞发布周期,因为发布越频繁,每次的步骤就越小。
路线图计划提前两年,以前在 4.0 之前,任何发布的日期都是一个秘密,直到它落地,以及 6 周的常规更新间隔,次要版本为 6 个月,主版本为 2 年,类似于许多其他专业软件包,如 Ubuntu,规划从未如此简单。
如果你有任何问题,为什么不分享到每月的会议,比如 JUGL,它可以帮助你解决问题呢?
我拥有超过 100 个客户,其中一些是大型机构,他们非常喜欢这种方式,这给了他们信心和保证,他们知道网站会定期更新。
阅读这篇文章后,我想尝试在我的预发布/测试环境中禁用“行为 - 兼容性”插件。我启用了调试模式,禁用了插件,并立即在管理后端收到了错误消息
发生错误
0 类 "JPlugin" 未找到
当我刷新前端时,我遇到了同样的错误。
由于我无法在管理后端启用插件,我按照说明通过 phpMyAdmin 重置了测试网站,找到 #__extensions 表,将 "enabled" 从 0 更改为 1。
不幸的是,这对我没有起作用,看起来我不得不恢复网站的备份。
因此,请遵循文章的指南,只尝试在测试环境中禁用“行为 - 兼容性”插件。
以下是关于我之前提到的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 )。
我正在等待他的回答。
以下是关于我在2月份最后一条消息中提到的,需要启用兼容性(b/c)插件的扩展的一些小更新。
AcyMailing现在可以正常工作,就像Tassos开发的Convert Forms。
但今天我迁移了大约10个网站从J4到J5,并在所有这些网站上禁用了b/c插件,看看会发生什么。
显然,Droppics(JoomUnited)和Ecwid(购物平台)仍然需要b/c插件...
如果您知道任何仍然需要b/c插件的扩展,请随意在下面添加评论...
Droppics & Ecwid