Gallery: 开发者入门工具包:修订间差异

来自站长百科
跳转至: 导航、​ 搜索
无编辑摘要
第3行: 第3行:
{{review}}
{{review}}


This document is intended to give new G2-developers a glance of how to keep informed, what to read and what's important to know when working on this project. It might also be useful as a reference (or a link collection) for any other developer.
此份资料旨在让G2开发初学者了解如何获取信息,需要参阅的资料,以及在进行此项目时知道何为重点。同样,此份资料也可作为其他任何开发者的参考(或是链接合辑)。




===Getting started===
===整装待发===


The must-read documents are the G2 [[Gallery:Vision Statement|Vision Statement]] and [[Gallery:Developer Guidelines|Developer Guidelines]]. Although not yet complete, they include important information on the philosophy behind the G2 code, the coding style, and what you should know before starting to code.
必读资料有G2[[Gallery:Vision Statement|设想陈述(Vision Statement)]][[Gallery:Developer Guidelines|开发者指引(Developer Guidelines)]]。尽管它们还不是很完善,但揭示了G2代码,代码编纂方式以及开始代码编纂前所需必要知识中所蕴含的哲理。


After that you should get yourself confortable with the development team. Introduce yourself in the mailing lists (see later), stay for some time on IRC. Getting to know the "who is who" is not always easy, but we have some tools to help you on this task. Read a couple of posts in the main developers mailing lists, scan through the forums to get the first impression on what is going on right now. Use the rest of this guide to help you finding the information you want.
在此之后你就应该能适应开发团队了。请在邮件列表(见后文)中做自我介绍,并在IRC上等待一段时间。想做到"知己知彼"并不总是那么容易的,但是我们能够提供一些工具来帮助你完成任务。在主要开发者邮件列表中参阅一些帖子,浏览一下论坛对当前事件有个第一印象吧。利用此指南中剩下的内容来帮助你找到需要的信息。


Also see: [{{GMC}}/wiki/G2_How_to_Join_the_Dev_Team How to Join the Dev Team]
另见:[{{GMC}}/wiki/G2_How_to_Join_the_Dev_Team 如何加入Dev团队]


===Communication===
===交流===


There are several forms of communication that the Gallery development team uses:
Gallery开发团队所使用的一些交流方式:


====IRC====
====IRC====


The most interactive and transient form of communication happens on IRC.
最具互动性且最及时的交流都在IRC上。


'''IRC Channel'''
'''IRC频道'''
     Server: chat.freenode.org
     服务器:chat.freenode.org
     Channel: #gallery
     频道:#gallery


Most developers hang around there from time to time. Be aware of the different time zones! We have developers all over the world (take a look at the [http://dev.jpmullan.com/devs/ Gallery Developer Map]), ranging from California (PST = GMT-8) to Australia (GMT+11). So usually when someone from Europe is waking up, the core Gallery developers from the US are going to bed.
大多数开发者时不时都喜欢泡在这里。请留意不同的时区!我们的开发者遍布全球(参看一下[http://dev.jpmullan.com/devs/ Gallery开发者分布图]),从加利福尼亚(PST = GMT-8)到澳大利亚(GMT+11)。因此有时来自欧洲的某个用户升帐时,来自美国的核心Gallery开发者正要就寝。


On a weekly basis there is an official "Gallery Meeting" on IRC, which currently is Tuesdays at 1:00PM Pacific Time.
每周在IRC上都有一个官方的"Gallery会议",时间是太平洋时间每周三的下午1点整。


Every commit on SVN is also automatically announced on the IRC channel through a bot. Other interesting functionality of the bot will be explained someday here on the Wiki, meanwhile you should just hang around and see how others interact with it.
SVN上的每个提交都是通过bot在IRC上自动公布的。bot相关其他有趣的功能日后将在此Wiki中做解释,同时你应该经常呆在IRC上看看其他人是如何交流互动的。


====Mailing Lists====
====邮件列表====


'''Gallery-Devel'''
'''Gallery-Devel'''
     http://lists.sourceforge.net/lists/listinfo/gallery-devel  
     http://lists.sourceforge.net/lists/listinfo/gallery-devel  
* The -devel list is aimed at developers and users that want to help or send bug reports or suggestions.
* -devel列表是专门供开发者和用户互助或发送bug报告以及建议所用。


'''Gallery-Checkins'''
'''Gallery-Checkins'''
     http://lists.sourceforge.net/lists/listinfo/gallery-checkins  
     http://lists.sourceforge.net/lists/listinfo/gallery-checkins  
* You can subscribe to the -checkins list and get instant information about any commit that is done the the gallery SVN server. This is the easiest way of knowing "what's going on".
* 你可以订阅-checkins表格,从而能够第一时间知晓gallery SVN服务器上所作的任何提交。想获悉"进展状况"的最简单方式莫过于此了。


'''Gallery-Core'''
'''Gallery-Core'''
     http://lists.sourceforge.net/lists/listinfo/gallery-core
     http://lists.sourceforge.net/lists/listinfo/gallery-core
* '''This list is restricted to core team members only'''
* '''此列表仅供核心团队成员使用'''
* Important, timely and semi-permanent developer discussion should take place on the -core mailing list. Usually important stuff that is discussed on IRC should be summarized and send to this list so that everyone can enjoy it without having to go through IRC logs.
* 重要,及时以及非常任开发者所作的讨论应在此-core核心邮件列表中。一般在IRC上讨论的重要问题应被摘录下来并发送到此列表,这样别人无需查看IRC日志就能获取相关信息了。


====Forum====
====论坛====


'''G2 Support Forums'''
'''G2支持论坛'''
     http://gallery.menalto.com/forum/11
     http://gallery.menalto.com/forum/11
'''G2 Development Forums'''
'''G2开发论坛'''
     http://gallery.menalto.com/forum/70
     http://gallery.menalto.com/forum/70


The forum is the easiest user-to-developer and user-to-user communication form. Many active gallery users will usually be around here sending bug reports, thanking the gallery team, suggesting new stuff or helping out other users.
论坛是用户对开发者以及用户对用户最简单的交流方式。许多活跃的gallery用户常常在这里发表bug报告,向gallery团队致谢,提供新建议或者是帮助其他用户解决问题。


====Codex====
====Codex====


The codex is a wiki, and the place where developers can share information that should be persistent and available all the time. This page, for example, is part of the Gallery Codex. Persistent, changeable and you can keep track of who changed what and when.
codex就是wiki,开发者能够在这里共享稳定且长期有效的信息。例如此页面就是Gallery Codex的一部分。稳定,可修改,并且你可以随时知道何时何人做了何种修改。


===Trackers===
===Tracker===


====Bugs====
====Bug====
     http://sourceforge.net/tracker/?atid=107130&group_id=7130&func=browse  
     http://sourceforge.net/tracker/?atid=107130&group_id=7130&func=browse  
====Project Tasks====
====项目任务====
     http://sourceforge.net/pm/?group_id=7130  
     http://sourceforge.net/pm/?group_id=7130  
====Requests for Enhancement====
====改良请求====
     http://sourceforge.net/tracker/?group_id=7130&atid=357130  
     http://sourceforge.net/tracker/?group_id=7130&atid=357130  


We use the SourceForge's trackers to manage our time and have an overview of "what's going on". Each developer is responsible for their own tasks!
我们使用SourceForge的tracker来管理我们的时间,并就"进展状况"提供总览。每个开发者都要对自己的项目任务负责!


If you are unsure what we mean by those terms, read the [http://gallery.menalto.com/wiki/Tracker_Practices Tracker Practices], where they are explained.
如果你不太明白我们给出的这些术语的话,可以参阅一下[http://gallery.menalto.com/wiki/Tracker_Practices Tracker练习],在此有相关术语的解释。


===Common G2-Developer Routine===
===通常的G2-开发者例程===


'''Daily'''
'''每日'''


You can check the trackers at SF daily (if you want). If you read about a bug that no one is working on (be it in the forum, lists, etc) and you can confirm a bug, add it to the SF's bug interface so we can follow up on the bug without having to find the information. Make a link to the original post (e.g. the forum topic) in the tracker's comment.
如果需要的话,你每天都可以在SF查看tracker。如果你知悉某无人问津的(论坛或列表等中的)bug并且你可以确认某bug的话,请将其添加到SF的bug界面,这样我们就能在无需查找相关该bug信息的情况下进行跟进了。在tracker的评论中给出原帖(比如论坛主题)的链接。


If you have some time to work on G2, scan the bug or RFE tracker and find a bug or feature that you want to work on. Coordinate on IRC with bharat, mindless or valiant, if unsure, or just assign the track for yourself and start working. Be sure to update the tracker information as soon as possible!
如果你能够挤出时间做G2相关工作,检索bug或RFE tracker并且希望处理找到的某bug或特点的话,如有不清楚的可以在IRC上与bharat,mindless或valiant进行协作;或者你可以自己分配此track并独立处理它。请确保尽快更新tracker信息!


If you have time, come by the Forums to see what users are saying about it. This is especially important right after our releases come out, since we have much more user activity in the forums at those times.
如果你有时间的话,可以来论坛看看用户对其的反响。在我们发布之后,这尤其重要,因为届时论坛中将会有更多用户活动需要打理。


'''Weekly'''
'''每周'''


On a weekly basis we have the G2 meeting on IRC (currently it is Thursdays 10 AM PST = 6 PM GMT). Not everyone can attend every meeting (mainly because of the different timezones), so usually the [[Meeting Notes|G2 Meeting Notes]] are posted the next day on the Codex. If you can't attend and are actively doing something on G2, you should send an email to the -core list some days/hours before the meeting, so the information can be used in the discussion.
我们每周在IRC上都会开一个G2小会(会议时间目前定为周三10 AM PST = 6 PM GMT)。并非所有人都能够一个不落地参加每次的例会(主要原因还是时区不同),因此[[Meeting Notes|G2会议记录]]将会在会议召开的第二天发布到Codex上。如果你无法参加会议并且尚在处理有关G2的问题的话,你应当提前几天或几小时向-core列表上发送电子邮件,这样某些信息就可以在会议讨论中用上了。


'''Regularly'''
'''定期'''


If you just need to know who is currently doing what, you should check the [[Gallery:Developers|G2 "Who is doing what"]] wiki page. If you are a regular G2-helper, you should put in your name here and update the information as you go. It's each one's responsability to keep this list up-to-date.
如果你仅需知道某人目前的工作内容的话,就应当查看一下[[Gallery:Developers|G2 "当前事件"]]的wiki页面。如果你是一个作为常客的G2-helper的话,就应当在此留下的的大名,并且更新相应的信息。保证此列表的最新更新状态是每个人应尽的义务。


The [[Special:Recentchanges|RecentChanges]] codex page is interesting to visit from time to time. Therefore, when you make changes to a page on Wiki, only tag the change as a "minor change" if you didn't change anything in the content (e.g. you make a orthographical or grammatical correction). If you change content (no matter how little), don't mark it as a minor change! It will appear in the RecentChanges and we can see what you changed in the "diff".
时常看看[[Special:Recentchanges|最近更改]]codex页面还是很有意思的。因此,当你对Wiki某页面做修改时,如果未对内容做变更(仅仅是做了错别字纠正或是语法更正)的话,请将此次修改标记为"小的修改(minor change)"。如果你对内容做了修改(无论修改的内容是多是少),请勿将其表示为一个小修改!这样它就能出现在最近更改页面中,并且我们能够在"比较"中查看你所作的修改内容。


===Source Control===
===源代码控制===


We use Subversion to manage our code. Take a look at these [http://fisheye.gallery2.org/ SVN-Statistics] to see how our work is performing. Here you also have a chance to see who did how much, what and when.
我们使用Subversion来管理代码。请参阅一下这些[http://fisheye.gallery2.org/ SVN-的统计数据]来看看我们的工作执行情况。在此你还有机会知道何人何时所作的工作内容及份量。


See: [[Gallery:Using_Subversion|Using Subversion for Gallery]]
参见:[[Gallery:Using_Subversion|为Gallery使用Subversion]]


===Reference===
===参考===


When you are working with G2, you might wonder what API calls are available. The API Documentation can help, but its a bit outdated right now. Currently its usually best to just read the source (from which this API Documentation was extracted from anyway), as its very well documented.
当你使用G2时,你可能想知道哪些API呼叫是可用的。那么API相关的资料此时就有用了,但可能有些信息现在过时了。目前最好还是仅阅读源代码(即此API资料被提取的地方),因为其经过很好的记录。


====G2 API Documentation====
====G2 API的资料====
   http://gallery.menalto.com/apidoc/index.html
   http://gallery.menalto.com/apidoc/index.html


===Recommended Editors & IDEs===
===推荐的编辑器及IDE===
* Emacs with bharat's modified php-style.el from /svnroot/gallery/trunk/docs/dev/php-style.el: Nice syntax highlighting, always correct indention (that's worth a lot!), efficiency of emacs
* /svnroot/gallery/trunk/docs/dev/php-style.el 带有bharat经修改php-style.el的Emacs:可嘉的语法高亮,总是无误的缩排(很值得)emacs的效率。
* Vi: some of us prefer emacs over vi...
* Vi:我们当中的部分更偏好emacs而不是vi...
* Vim: see the appropriate [[Gallery:VIM_Editor_Settings|setting page]]
* Vim:参见适当的[[Gallery:VIM_Editor_Settings|设定页面]]
* [http://www.codingmonkeys.de/subethaedit/ SubEthaEdit] for Mac OS X. See [[Gallery2SubEthaEdit_Settings|how to set SubEthaEdit syntax highlighting]] for Gallery2
* Mac OS X的[http://www.codingmonkeys.de/subethaedit/ SubEthaEdit]。参见Gallery2的[[Gallery2SubEthaEdit_Settings|如何设定SubEthaEdit语法高亮]]
* Eclipse + PHPeclipse: Eclipse is a full-blown IDE with a lot of features. See: [[Gallery:Eclipse_Tutorial|Gallery Eclipse Tutorial]]
* Eclipse + PHPeclipse:Eclipse是一个完全成熟带有颇多特色的IDE。参见:[[Gallery:Eclipse_Tutorial|Gallery的Eclipse教程]]
* [http://www.mpsoftware.dk PHP Designer 2006]: An excellent free PHP editor for Windows. Proper syntax hilighting, loads of debugging features and much more.
* [http://www.mpsoftware.dk PHP Designer 2006]:颇佳的免费Windows PHP编辑器。合理的语法高亮,诸多debug特色等等。


=== Code Reviews ===
=== 代码回顾 ===
See: [[Gallery:CodeReviewTips|Code Review Process and Tips]]
参见:[[Gallery:CodeReviewTips|代码回顾流程及技巧]]


[[Category:Gallery 2:Development|Developer Starterkit]]
[[Category:Gallery 2:Development|Developer Starterkit]]

2008年8月27日 (三) 14:37的版本

Sections which need expansion (i.e. more detail, clarification, etc...)

Pages that need review by other documentation team members.

此份资料旨在让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-的统计数据来看看我们的工作执行情况。在此你还有机会知道何人何时所作的工作内容及份量。

参见:为Gallery使用Subversion

参考

当你使用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特色等等。

代码回顾

参见:代码回顾流程及技巧