Gallery:开发者入门工具包
此份资料旨在让G2开发初学者了解如何获取信息,需要参阅的资料,以及在进行此项目时知道何为重点。同样,此份资料也可作为其他任何开发者的参考(或是链接合辑)。
整装待发[ ]
必读资料有G2设想陈述(Vision Statement)和开发者指引(Developer Guidelines)。尽管它们还不是很完善,但揭示了G2代码,代码编纂方式以及开始代码编纂前所需必要知识中所蕴含的哲理。
在此之后你就应该能适应开发团队了。请在邮件列表(见后文)中做自我介绍,并在IRC上等待一段时间。想做到"知己知彼"并不总是那么容易的,但是我们能够提供一些工具来帮助你完成任务。在主要开发者邮件列表中参阅一些帖子,浏览一下论坛对当前事件有个第一印象吧。利用此指南中剩下的内容来帮助你找到需要的信息。
另见:[[[:模板:GMC]]/wiki/G2_How_to_Join_the_Dev_Team 如何加入Dev团队]
交流[ ]
Gallery开发团队所使用的一些交流方式:
IRC[ ]
最具互动性且最及时的交流都在IRC上。
IRC频道
服务器:chat.freenode.org 频道:#gallery
大多数开发者时不时都喜欢泡在这里。请留意不同的时区!我们的开发者遍布全球(参看一下Gallery开发者分布图),从加利福尼亚(PST = GMT-8)到澳大利亚(GMT+11)。因此有时来自欧洲的某个用户升帐时,来自美国的核心Gallery开发者正要就寝。
每周在IRC上都有一个官方的"Gallery会议",时间是太平洋时间每周三的下午1点整。
SVN上的每个提交都是通过bot在IRC上自动公布的。bot相关其他有趣的功能日后将在此Wiki中做解释,同时你应该经常呆在IRC上看看其他人是如何交流互动的。
邮件列表[ ]
Gallery-Devel
http://lists.sourceforge.net/lists/listinfo/gallery-devel
- -devel列表是专门供开发者和用户互助或发送bug报告以及建议所用。
Gallery-Checkins
http://lists.sourceforge.net/lists/listinfo/gallery-checkins
- 你可以订阅-checkins表格,从而能够第一时间知晓gallery SVN服务器上所作的任何提交。想获悉"进展状况"的最简单方式莫过于此了。
Gallery-Core
http://lists.sourceforge.net/lists/listinfo/gallery-core
- 此列表仅供核心团队成员使用
- 重要,及时以及非常任开发者所作的讨论应在此-core核心邮件列表中。一般在IRC上讨论的重要问题应被摘录下来并发送到此列表,这样别人无需查看IRC日志就能获取相关信息了。
论坛[ ]
G2支持论坛
http://gallery.menalto.com/forum/11
G2开发论坛
http://gallery.menalto.com/forum/70
论坛是用户对开发者以及用户对用户最简单的交流方式。许多活跃的gallery用户常常在这里发表bug报告,向gallery团队致谢,提供新建议或者是帮助其他用户解决问题。
Codex[ ]
codex就是wiki,开发者能够在这里共享稳定且长期有效的信息。例如此页面就是Gallery Codex的一部分。稳定,可修改,并且你可以随时知道何时何人做了何种修改。
Tracker[ ]
Bug[ ]
http://sourceforge.net/tracker/?atid=107130&group_id=7130&func=browse
项目任务[ ]
http://sourceforge.net/pm/?group_id=7130
改良请求[ ]
http://sourceforge.net/tracker/?group_id=7130&atid=357130
我们使用SourceForge的tracker来管理我们的时间,并就"进展状况"提供总览。每个开发者都要对自己的项目任务负责!
如果你不太明白我们给出的这些术语的话,可以参阅一下Tracker练习,在此有相关术语的解释。
通常的G2-开发者例程[ ]
每日
如果需要的话,你每天都可以在SF查看tracker。如果你知悉某无人问津的(论坛或列表等中的)bug并且你可以确认某bug的话,请将其添加到SF的bug界面,这样我们就能在无需查找相关该bug信息的情况下进行跟进了。在tracker的评论中给出原帖(比如论坛主题)的链接。
如果你能够挤出时间做G2相关工作,检索bug或RFE tracker并且希望处理找到的某bug或特点的话,如有不清楚的可以在IRC上与bharat,mindless或valiant进行协作;或者你可以自己分配此track并独立处理它。请确保尽快更新tracker信息!
如果你有时间的话,可以来论坛看看用户对其的反响。在我们发布之后,这尤其重要,因为届时论坛中将会有更多用户活动需要打理。
每周
我们每周在IRC上都会开一个G2小会(会议时间目前定为周三10 AM PST = 6 PM GMT)。并非所有人都能够一个不落地参加每次的例会(主要原因还是时区不同),因此G2会议记录将会在会议召开的第二天发布到Codex上。如果你无法参加会议并且尚在处理有关G2的问题的话,你应当提前几天或几小时向-core列表上发送电子邮件,这样某些信息就可以在会议讨论中用上了。
定期
如果你仅需知道某人目前的工作内容的话,就应当查看一下G2 "当前事件"的wiki页面。如果你是一个作为常客的G2-helper的话,就应当在此留下大名,并且更新相应的信息。保证此列表的最新更新状态是每个人应尽的义务。
时常看看最近更改codex页面还是很有意思的。因此,当你对Wiki某页面做修改时,如果未对内容做变更(仅仅是做了错别字纠正或是语法更正)的话,请将此次修改标记为"小的修改(minor change)"。如果你对内容做了修改(无论修改的内容是多是少),请勿将其表示为一个小修改!这样它就能出现在最近更改页面中,并且我们能够在"比较"中查看你所作的修改内容。
源代码控制[ ]
我们使用Subversion来管理代码。请参阅一下这些SVN-的统计数据来看看我们的工作执行情况。在此你还有机会知道何人何时所作的工作内容及份量。
参考[ ]
当你使用G2时,你可能想知道哪些API呼叫是可用的。那么API相关的资料此时就有用了,但可能有些信息现在过时了。目前最好还是仅阅读源代码(即此API资料被提取的地方),因为其经过很好的记录。
G2 API的资料[ ]
http://gallery.menalto.com/apidoc/index.html
推荐的编辑器及IDE[ ]
- 自/svnroot/gallery/trunk/docs/dev/php-style.el 带有bharat经修改php-style.el的Emacs:可嘉的语法高亮,总是无误的缩排(很值得)emacs的效率。
- Vi:我们当中的部分更偏好emacs而不是vi...
- Vim:参见适当的设定页面。
- Mac OS X的SubEthaEdit。参见Gallery2的如何设定SubEthaEdit语法高亮。
- Eclipse + PHPeclipse:Eclipse是一个完全成熟带有颇多特色的IDE。参见:Gallery的Eclipse教程
- PHP Designer 2006:颇佳的免费Windows PHP编辑器。合理的语法高亮,诸多debug特色等等。
代码回顾[ ]
参见:代码回顾流程及技巧