5分钟阅读时间 (945个单词)

为Joomla 4准备扩展

JCM-extensions

Joomla 4 Beta的发布越来越近。达到这个里程碑是产品开发路线图中的一个关键时刻,这意味着稳定版几乎就要发布了。然而,还有很多工作要做。

Joomla的一个关键特性是其可扩展性,数千个第三方扩展和模板允许进一步定制以满足特定需求。这个Joomla的新版本是一个主要版本,这意味着扩展的兼容性将发生更显著的变化。

为了了解扩展开发者的直接方法,我们与YourSites的首席开发者Geraint Edwards进行了交谈。

首先,非常感谢您在回答这些问题上花费时间。

当J4发布时,扩展会发生什么?它们会兼容吗,还是开发者需要提供全新的版本?

很可能大多数扩展需要以不同程度的更新来使其与Joomla 4兼容。对于许多“直接”扩展来说,这并不是一个特别困难的练习,根据我的经验,使一个扩展版本同时兼容Joomla 3.9和4.0是可行的。Joomla 3.0已经将许多类、方法和函数标记为已弃用,建议的替代方案通常在Joomla 3和4中都能工作 - 因此,特定版本代码的需要有限。

当用户使用扩展迁移到J4时,他们应该做什么?他们应该从扩展提供商那里期待什么?

用户需要提前研究,以了解他们使用的扩展是否与Joomla 4兼容。Joomla 3.10和4.0内置了预升级兼容性检查,我们的站点管理扩展YourSites允许您跨所有客户站点执行这些检查,即使它们正在运行Joomla 3.9。我们还让用户知道是否存在一个与Joomla 3.x和4.0都兼容的扩展版本。

然而,需要注意的是,Joomla 和 YourSites 中的这些工具依赖于扩展开发者在他们的更新服务器上提供的信息。这些信息可能已经过时或完全缺失,可能会给用户一种错觉,认为某个扩展版本在 Joomla 3.9 和 4.0 中都能正常工作。

用户可能会遇到的一个问题是,如果某个扩展或模板版本需要不同版本的 Joomla 3.x 和 4.0。他们应该先升级 Joomla 还是先升级扩展?在我看来,每个扩展提供商都应该为用户提供详细的迁移/升级说明,解释哪些版本与哪些版本的 Joomla 兼容。

在升级 Joomla 和已安装的扩展的过程中,用户首先需要在 创建网站副本并在此测试升级过程 上下功夫!扩展和模板开发者无法帮助用户迁移他们可能设置的任何模板覆盖,这就是在克隆网站上测试和进行并行比较如此重要的原因!

最后,这可能是一个审查用户在网站上安装的扩展的理想时机,移除他们不再需要的扩展,并考虑使用核心 Joomla 功能来替代他们安装的一些扩展。例如,使用模板覆盖或类似 EasyLayouts 的虚拟模板覆盖工具与 Joomla 自定义字段结合使用,可以消除许多页面构建器或 CCK 扩展的需求。

作为一个开发者,是否需要尽快开始更新工作?

Joomla 4 现已达到足够的成熟度,扩展开发者应该将更新扩展作为一项紧迫的任务。大部分核心功能现在都已具备,底层架构也不再变化。

我们发现,使用 向后兼容性文档 搜索已弃用函数调用,使用某种 Joomla 命名空间检查器,如 Joomla 命名空间检查器 (JNSC),结合代码中的并行功能检查和搜索/替换,效果良好。

一些 JavaScript 变化比底层 PHP 更难处理。

不同类型的版本(Alpha、Beta、RC)如何影响扩展的更新?

多年前 Joomla 1.5 的发展给我们上了痛苦的一课。我们早期花了很多时间确保我们能够准备好支持 Joomla 1.5,但我们的脚下的基础结构因代码的重大结构性变化而多次被抽走。因此,对于 Joomla 4,我们集中精力确保我们能够适应底层代码架构,专注于概念验证测试,而不是迁移整个代码库。

此外,对于我们的某些扩展(例如 YourSites 和 EasyLayouts),我们无法最终确定代码更新,因为这些扩展使用的是 Joomla 4 最近才更新的部分或它们依赖于需要确保不会更改的低级 Joomla 功能。

我们现在正在全力以赴更新代码,并且已经发布了(或即将发布)与当前 Joomla 4 晚间构建兼容的代码。

作为一名扩展开发者,您预计 J4 的发布将如何影响您的业务?

我们抓住 J4 发布的机会,重振我们的产品线,并将它们更新到最新的网络标准和设计预期。

此外,J4的发布应提供一个平台,以提供在J3中由于需要支持非常旧的浏览器和服务器软件而无法实现的更高级的功能。

在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能不代表Joomla项目的官方立场。

0
五月号
Joomla 4:期待什么?
 

评论 1

已注册? 登录这里
Anibal Sanchez 在 2020年5月20日星期三 18:21
Joomla命名空间检查器(JNSC)的更改不是强制的


请注意,JNSC的建议仅是针对Joomla 4的建议。

例如JTable、JPlugin、JPluginHelper、JFactory等类在Joomla 5之前不会被移除。

有关类列表和弃用版本的信息,请查看文件libraries/classmap.php。

0
请注意,JNSC的建议仅是针对Joomla 4的建议。例如JTable、JPlugin、JPluginHelper、JFactory等类在Joomla 5之前不会被移除。有关类列表和弃用版本的信息,请查看文件libraries/classmap.php。

接受后,您将访问 https://magazine.joomla.net.cn/ 之外的第三方服务。