大家好。现在1.6.3版本已经发布,Joomla的开发重点可以转移,我们可以开始关注1.7版本的新功能。对于这个项目来说,这是一个非常激动人心的时刻,生产领导团队(PLT)认为概述我们关于添加新功能的想法可能会有所帮助。

 

首先,有两个需要注意的地方。正如你们可能知道的,我们刚刚切换到基于时间的发布周期。所以1.7版本将是我们第一个在特定时间点发布的版本——2011年7月10日,而不是在给定的一组功能完成后发布。因此,我们知道1.7版本何时发布,但我们不知道它将包含哪些新功能。由于这是我们第一次采用这种类型的周期,我们在进行过程中会不断摸索。我们有了过程的概述,如下所述,但毫无疑问,有些事情我们需要调整或改变。

第二个问题是,在2011年4月30日左右,我们将把Joomla平台(库文件夹等)作为一个独立的项目分离出来。这将改变我们修复影响平台功能和添加新功能的方式。同样,这些都是全新的,所以我们将在进行中不断学习。

时间线

话虽如此,我们确实对1.7版本添加功能的流程有了一个相当清晰的概述。首先,以下是计划的时间线。

2011年4月19日 1.6.3版本发布。主分支冻结。
2011年4月19日至30日 Joomla平台作为外部库合并到CMS中
2011年4月30日 平台项目启动。CMS主分支使用平台的11.1版本。
2011年4月14日至5月20日 社区准备好新功能,或者在分支中,或者在补丁中
2011年5月1日至31日 新功能添加到主分支
2011年6月1日 新功能冻结。1.7版本不再添加新功能(但你只需要等待5个月!)
2011年6月1日 - 2011年6月30日 测试、调试和记录新功能
2011年7月10日 版本1.7.0发布

这对您意味着什么?重要的是:现在是开发1.7版本新功能的时机。

我如何贡献一个新功能?

贡献给Joomla的基本大纲在这里解释:https://developer.joomla.net.cn/getting-started.html#contributing。对于小功能,你可以做补丁。对于较大的功能,建议设置一个分支。

通过CMS列表交流您计划进行的工作非常重要,如果可能的话,尝试与其他对同一领域感兴趣的人协调。我们不打算以自上而下的方式管理这个过程。我们希望社区成员尽可能地进行自我组织。

一旦功能开始开发,我们将在Joomla功能跟踪器中跟踪它(http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemBrowse&tracker_id=8549)。

谁将决定哪些功能被添加?

PLT将对此有最终决定权。然而,社区的意愿将是决策中的一个重要考虑因素。

这个决定将使用什么标准?

以下是我们计划用来决定是否包含一个功能的标准。

1. 该功能是否需要存在于核心中?

Joomla宇宙中的大多数功能存在于扩展中,这也应该是这样的。一般来说,核心应该尽可能小,只要包含基本功能的强大实现。如果你有一个好主意,但它不需要在核心中,那么你可能应该将它开发为一个扩展。

2. 该功能是否通过自动化测试?

如果一个功能改变了CMS的现有功能,它需要包括自动化系统测试来证明这个功能并证明它有效。如果它不改变任何现有功能,那么现有的系统测试需要通过。如果添加了新功能,如果适用,应包括测试新功能的系统测试。

3. 代码是否符合Joomla编码标准?

编码标准目前正在最终确定中。在新的标准发布之前,请使用现有的标准。

4. 该功能是否受欢迎?

该功能是否与想法池中的顶级想法相关?它是否与版本发布的总体目标相关?(回想一下,版本1.7发布的主旨是Rediscover Content。)该功能是否是人们过去要求的?在CMS列表上是否支持这个想法?

5. 实现是否在架构上合理?

该功能是否在Joomla整体架构的背景下以合理的方式实现?在列表中的讨论和规划过程中,讨论功能如何实现是一个很好的想法。这将有助于确保它与现有的结构很好地结合。

6. 该功能是否有文档记录?

至少拥有基本的功能说明和操作流程文档非常重要,否则将很难对功能进行评估。此外,这份文档还将用于测试以及编写Joomla帮助页面和相关教程。如果一个提议的功能满足这些条件并及时完成,那么它有很大的机会被包含在1.7版本中。如果一个功能接近完成但需要更多工作,那么它可以重新提交到1.7版本(如果还有时间)或下一个版本。

结语

以下是一些最后的要点。如上所述,平台现在是一个独立的项目。这意味着对"libraries/joomla"文件夹中的文件进行的更改应该作为平台项目的一部分,而不是CMS版本1.7的更改。当然,1.7版本的一些功能可能会触及平台。如果发生这种情况,我们将进行评估并确定最佳行动方案。

这里还有另一个重要点。

  1. 我们的首要任务是发布一个高质量的版本,
  2. 并且按时发布。

我们希望在1.7版本中有一些很酷的新功能,但具体哪些功能被包含进来,相比之下这两个目标更为重要。换句话说,如果必须做出选择,我们会选择按时发布并且尽可能少的错误,而不是添加一个新功能。所以,如果你正在做一些很酷的事情,但截止日期前没有完成,请记住,距离下一个版本只有几个月的时间。在这种情况下,你不是这个版本的迟到者,你只是下一个版本的早到者!

我们很期待社区为1.7版本带来的新功能。祝编码愉快!