Joomla router

几周前,我们发布了有关我们正在研究路由代码的信息。从那时起,我们已经与开发人员团队一起检查了新路由的代码。最初的原因是关于它无法用 404 响应无效 URL 的问题。在这里,我们想分享我们得出结论从 3.7 版本中移除新路由的原因。

在我们深入细节之前,我们想分享一下我们关于未来方向的思考。我们知道很多人都期待 Joomla 的更好的路由。我们的计划是在接下来的 2-3 个月内集中精力开发路由,并**计划在 3.8 版本中包含新的路由**。这将得到谷歌暑期代码项目的支持,我们将组建一个由开发人员和 SEO 专家组成的团队,帮助使其成为 Joomla! 项目有史以来最好的路由。

我们不是在责怪特定的人,我们都会犯错误,最大的错误是 PLT 没有花足够的时间研究路由开发,并且在对内部机制缺乏足够了解的情况下设定了需求。

这让我们回到了这个问题失败的主要原因。由于路由需要按组件启用,开发重点放在了组件路由上。新路由在许多旧路由代码执行后才开始发挥作用。因此,新路由必须基于一些旧的“魔法”来完成工作。这是一个限制因素,也是这个项目进展不顺利的主要原因。正确的方法应该是从路由流程的开始就着手,让新路由主导流程,而不是在流程的最后阶段作为迟到的客人加入。

其他问题或多或少都是我们最初做出的错误决定的结果。让网站管理员决定启用新路由的组件,这通常超出了他们的专业知识范围,因此我们没有考虑到我们的目标用户群体。为了解决一些问题,我们添加了更多“难以理解”的参数,这并没有让情况变得更容易。

代码本身也有一些问题,有些部分几乎无法阅读,即使使用调试也难以理解。生活中有些事情是相互模仿的。代码测试和一个好的笑话很相似,如果你必须解释它们,那么它们就失败了。代码质量让未来的维护变得困难。新路由代码和流程也需要有很好的文档,以提供我们用户和开发者所期望的所有信息。如果它是一个拉取请求,它将永远不会以现在的状态被合并。

回到用户基础。我们的用户正在构建网站,在谷歌主导的世界里,你需要在谷歌中可见。人们创建了大量的 URL,希望在搜索结果中排名前列。有了新路由,我们没有为他们提供保留其 URL 并迁移到新路由的路径。为了真正理解其影响,我们计划在新路由成为 Joomla! 4.0 的默认路由,没有切换回旧路由的选项。所以你可以选择路由,如果你使用的是 Joomla! 3.x,但是当你升级到 Joomla! 4 时,你将面临一个真正的问题。对于小型网站来说,这可能是可以管理的,但小型网站所有者通常不完全理解其影响,而对于大型网站来说,管理这种变化需要大量工作。因此,我们得出的结论是,我们必须更好地支持我们的用户,而我们无法通过当前的代码来实现这一点。

生产部门领导团队、参与代码维护的团队(发布团队和维护者团队)以及我作为 3.7 版本的发布负责人,都对在这个后期阶段从 3.7 版本中移除路由感到犹豫,但我们现在确信这是正确的决定。虽然这不可避免地会推迟 3.7 版本的发布,但知道我们现在有一个坚实的计划在 3.8 版本中继续推进路由,这一决定变得更加容易。

最后,向所有贡献者表示衷心的**感谢**,感谢他们为此付出的辛勤工作。这**不是**浪费时间,我们从这个过程中学到了很多,这将有助于我们在未来做得更好。新的路由团队将借鉴这些想法,并从经验中吸取教训。每个人都欢迎加入团队(尤其是那些迄今为止参与路由的人)。


罗伯特·德兹,3.7 版本发布负责人。

PS:由于我们在路由上花费的时间,我们将推迟 3.7 版本的发布,详细内容将很快发布。