在过去几天里,我们已经完成了大部分开发协调员峰会的工作。我们进行了一些非常紧张的日子,讨论了我们的议程,涵盖了以下主题
- 开发愿景
- 健康的开发团队
- 运营与组织结构
- 路线图
这封邮件是对这些主题结果的总结。当你阅读它时,重要的是要理解,我们只涵盖了亮点,并为 Joomla 开发设定了方向和焦点。这将需要时间,以及项目涉及每个人的大量努力来实现我们的目标,但我们很兴奋。不可能分享每一个细节,但下面展示了每个主要主题的总结。
1. 开发愿景
- 尽早并频繁发布。我们支持 Eric Raymond 的这一理念。我们希望缩短开发周期,并更频繁地发布。
- 发布
- 维护版本由虫子系统处理。虫子系统做得很好,我们希望继续这样做。
- 小版本由开发团队处理,但改为基于愿景和时间限制(类似于其他一些项目,例如 Ubuntu)。我们希望看到人们团队专注于特定主题,并从那里开始到 beta 版本。从那里开始,虫子系统将接手并确保发布是顶级质量的。
- 大版本最初由专门分配给这个版本的团队处理。
- 至少 3 年长期支持的选定版本将增加(1.5 将进入此类)。
- 更多地转向基于贡献的方法,而不是基于功能的方法(或根据情况混合)。
- 寻找方法组装带有不同扩展清单的发行版(例如一个“精简”版本)。
- 观察Apt get/apt搜索范例,目前针对的是包管理。
- 使命+愿景+时间盒=发布(小版本)。我们的意思是为下一次(小版本)发布设定一个使命/愿景,尝试设定一个时间盒,然后开始执行。
- 大版本可能需要迁移路径,而小版本将具有升级路径。
- 框架库将被分离到它们自己的仓库,并将独立于CMS。我们的想法是CMS将为任何特定版本选择一个特定的框架版本,但是框架中新功能的开发可以继续进行,而不会影响CMS。
2. 健康的开发团队
在由志愿者驱动的项目中生产软件的关键是拥有一个健康的开发团队。传统上,Joomla项目是半开放的(积极的方法),但我们使用的模型在向前发展时存在一些特定的问题。过去,我们一直努力降低一些障碍,bug小组是开放的第一阶段。我们讨论的总结如下
- "开发"工作组变成一个由经理和具有提交权限的人组成的小组,他们专注于最终分发的代码的质量。
- 我们正在考虑如何建立一个研究组,尝试新的Joomla技术。
- 降低障碍的第二阶段是找到一种方法,使每个人都能提交功能补丁。这将伴随着改进风格和最佳实践指南。
- 开发列表将对公众开放。现有的Dev列表将被存档,并创建三个新的列表:一个用于与开发相关的一般问题,一个用于希望从事CMS方面开发的人(组成Joomla的扩展),一个用于希望从事Joomla框架开发的人。
- 为社区提供在任何层面贡献的机会。
3. 运营/组织结构
我们就“开发团队”需要哪些功能才能良好运作进行了很多讨论。我们讨论了很多,并将与Joomla核心团队和OSM在接下来的几个月内讨论我们看到的可以改进的地方。
我们讨论了1.6版“很多”。我们决定将有一个单一的“alpha”阶段。以下是我们决定形成的alpha列表,如果没有完成,将阻止alpha的发布。这些功能是
- 访问控制系统至少需要模拟1.5中的功能,允许添加新的组和访问级别,并允许您为至少文章设置新的“查看”规则。
- 实现新的JForm
- 实现和标准化几个新的触发器
- 实现一个JavaScript翻译系统
- 实现新的控制器调度器
- 实现一个JContent类,将由onPrepareContent插件和视图使用
- 升级到Mootools 1.2
- 完成新的扩展更新器工作
发布alpha后,每个beta版本都将有时间限制(我们希望不超过四个)。以下是我们希望最终发行版中包含的非常期望的功能列表。每个功能都需要“准备好”才能包含在每个beta版本中。其中一些功能将包含在alpha中,但如果它们没有准备好,不会阻止alpha的发布。不过,总的来说,我们需要Joomla开发社区的大量帮助来整合所有这些功能
- 实现无限深度的类别(但不支持多映射)
- 重构用户管理系统,使其更具可扩展性(例如,允许客户用户字段)
- 实现评论系统(包括ping和trackback)
- 实现队列重定向(例如,允许在编辑某东西后返回到之前所在的页面)
- 重构参数,使其具有更好的扩展性(例如,插件可以允许您为文章添加额外的自定义参数)
- 完成管理员组件的MVC改造(我们需要在这里得到很多帮助)
- 为任何表单实现验证码辅助功能
- 实现外部认证系统(如LDAP)映射到我们新的Joomla用户组的系统
- 在com_content的某些视图中重新实现选择多个分类的能力(1.0版本中有,1.5版本中因为某些未知原因被删除)
- 实现基于数据库的安装日志
- 重构JError
- 详细检查PDF生成系统,看是否能正常工作(如果不能很好地工作,我们将考虑放弃它)
- 本地化无效令牌消息
- 放弃投票组件,因为该扩展的质量相当差,有更好的第三方替代品可用
- 将所有布局转换为语义化的XHTML Strict格式
- 将基于ini的"params"字段转换为使用JSON格式而不是INI格式(巨大的技术和性能改进)。注意,语言文件将保持INI格式。
结束?
在炎热潮湿的澳大利亚度过了紧张而富有成效的四天。我们需要相当长的时间来探讨所有这些议题。我们计划撰写一系列博客来更详细地覆盖这些主题。一个明显的事实是,这个项目的发展已经超出了我们最初的预期。
所以,不再赘述,我们首先做的是开放开发列表。这个列表将在2月1日进入存档模式。我们已经创建了3个新列表,并要求每个人在下面注册,以下是小组的名称和您可以找到它们的URL。我们将尽快发布关于这一重大变化的官方声明。
- Joomla一般开发(新)。该列表处理关于Joomla开发的一般话题,特别是针对我们的开发社区,可以在http://groups.google.com/group/joomla-dev-general找到。
- Joomla CMS开发(新)。该列表处理Joomla内容管理的开发。我们在这里专注于核心开发,关于扩展开发的具体问题应该进入一般开发。这个列表可以在http://groups.google.com/group/joomla-dev-cms找到。
- Joomla框架开发(新)。框架开发在这里讨论。Joomla解决方案这个特定领域的核心库或新开发都放在这里。这个小组与将负责研究的小组有着紧密的联系,该小组可以在http://groups.google.com/group/joomla-dev-framework">http://groups.google.com/group/joomla-dev-framework找到。
- Joomla错误小组(现有)。
此致敬礼,
Andrew Eddie, Anthony Ferrara, Louis Landry, Sam Moffatt, Wilco Jansen