Working with Launchpad

Registration and Configuration

要在Launchpad上提交代码,你肯定是需要去注册一下的。

https://launchpad.net 首页的右上方的 Login/Register 就是咱注册的地儿了。

You enter your e-mail address and you wait for an e-mail which will guide you trough the process needed to create your login.

使用bazaar 提交代码到 openerp-commiter 或 你自己的分支上的时候,才需要您登录

You can refer to this link : https://help.launchpad.net/YourAccount/NewAccount

Any contributor who is interested to become a commiter must show his interest on working for openerp project and his ability to do it in a proper way as the selection for this group is based on meritocracy. It can be by proposing bug fixes, features requested on our bug tracker system. You can even suggest additional modules and/or functionalities on our bug tracker system.

你可以在 https://help.launchpad.net/Teams/Joining 加入一些开发团队。

Contributors are people who wants to help the project getting better, add functionnality and improve stability. Everyone can contribute on the project with his own knowledge by reporting bugs, purposing smart improvment and posting patch.

OpenERP 社区团队地址: https://launchpad.net/~openerp-community

Member of the quality and commiter team are automatically members of the community.

安装 Bazaar

Get Bazaar version control to pull the source from Launchpad.

To install bazaar on any ubuntu distribution, you can edit /etc/apt/sources.list by

  1. sudo gedit /etc/apt/sources.list

and put these lines in it:

  1. (for ubuntu intrepid 8.10)
  2. deb http://ppa.launchpad.net/bzr/ubuntu intrepid main
  3. deb-src http://ppa.launchpad.net/bzr/ubuntu intrepid main
  4. or (for ubuntu jaunty 9.04)
  5. deb http://ppa.launchpad.net/bzr/ubuntu jaunty main
  6. deb-src http://ppa.launchpad.net/bzr/ubuntu jaunty main
  7. or (for ubuntu karmic 9.10)
  8. deb http://ppa.launchpad.net/bzr/ubuntu karmic main
  9. deb-src http://ppa.launchpad.net/bzr/ubuntu karmic main

Here, interpid, jaunty and karmic are version names of ubuntu. So, replace it with accourding to your ubuntu version.

接下来要做的

  1. sudo apt-get install bzr

To work correctly, bzr version must be at least 1.3. Check it with the command:

  1. bzr --version

If you don’t have at least 1.3 version, you can check this url: http://bazaar-vcs.org/Download On debian, in any distribution, the 1.5 version is working, you can get it on this url: http://backports.org/debian/pool/main/b/bzr/bzr_1.5-1~bpo40+1_i386.deb

当你遇到关于 Bazaar 的使用问题前, 请参阅 Bazaar 版本控制的常见问题(F.A.Q) .

工作分支

The combination of Bazaar branch hosting and Launchpad’s teams infrastructure gives you a very powerful capability to collaborate on code. Essentially, you can push a branch into a shared space and anyone on that team can then commit to the branch.

This means that you can use Bazaar in the same way that you would use something like SVN, i.e. centrally hosting a branch that many people commit to. You have the added benefit, though, that anyone outside the team can always create their own personal branch of your team branch and, if they choose, upload it back to Launchpad.

This is the official and proposed way to contribute on OpenERP and OpenObject.

快捷参考

获取最新源码及创建你自己的OpenERP分支,可以按下面的命令操作:

  1. bzr branch lp:openerp
  2. cd openerp
  3. ./bzr_set.py

This will download all the component of openerp (server, client, addons) and create links of modules in addons in your server so that you can use it directly. You can change the bzr_set.py file to select what you want to download exactly. Now, you can edit the code and commit in your local branch.:

  1. EDIT addons/account/account.py
  2. cd addons
  3. bzr ci -m "Testing Modifications"

Once your code is good enough and follow the 编码指南, you can push your branch in launchpad. You may have to create an account on launchpad first, register your public key, and subscribe to the openerp-community team. Then, you can push your branch. Suppose you want to push your addons:

  1. cd addons
  2. bzr push lp:~openerp-community/openobject-addons/YOURLOGIN_YOURBRANCHNAME
  3. bzr bind lp:~openerp-community/openobject-addons/YOURLOGIN_YOURBRANCHNAME

After having done that, your branch is public on Launchpad, in the OpenObject project, and commiters can work on it, review it and propose for integration in the official branch. The last line allows you to rebind your branch to the one which is on launchpad, after having done this, your commit will be applied on launchpad directly (unless you use --local):

  1. bzr pull # Get modifications on your branch from others
  2. EDIT STUFF
  3. bzr ci # commit your changes on your public branch

If your changes fixe a public bug on launchpad, you can use this to mark the bug as fixed by your branch:

  1. bzr ci --fixes=lp:453123 # Where 453123 is a bug ID

Once your branch is mature, mark it as mature in the web interface of launchpad and request for merging in the official release. Your branch will be reviewed by a commiter and then the quality team to be merged in the official release.

[更多请参见:ref:OpenERP 团队 ]

发布一个新分支

If you want to contribute on OpenERP or OpenObject, here is the proposed method:

  • You create a branch on launchpad on the project that interest you. It’s important that you create your branch on launchpad and not on your local system so that we can easily merge, share code between projects and centralize futur developments.

  • You develop your own features or bugfixes in your own branch on launchpad. Don’t forget to set the status of your branch (new, experimental, development, mature, …) so that contributors knows what they can use or not.

  • Once your code is good enough, you propose your branch for merging

  • Your work will be evaluated by one responsible of the commiters team.

    • If they accept your branch for integration in the official version, they will submit to the quality team that will review and merge in the official branch.

    • If the commiter team refuses your branch, they will explain why so that you can review your code to better fits guidelines (problem for futur migrations, …)

The extra-addons branch, that stores all extra modules, is directly accessible to all commiters. If you are a commiter, you can work directly on this branch and commit your own work. This branch do not require a validation of the quality team. You should put there your special modules for your own customers.

If you want to propose or develop new modules, we suggest you to create your own branch in the openobject-addons project and develop within your branch. You can fill in a bug to request that your modules are integrated in one of the two branches:

  • extra-addons : if your module touches a few companies

  • addons : if your module will be usefull for most of the companies

We invite all our partners and contributors to work in that way so that we can easily integrate and share the work done between the different projects.

After having done that, your branch is public on Launchpad, in the OpenObject project, and commiters can work on it, review it and propose for integration in the official branch. The last line allows you to rebind your branch to the one which is on launchpad, after having done this, your commit will be applied on launchpad directly (unless you use --local):

  1. bzr pull # Get modifications on your branch from others
  2. EDIT STUFF
  3. bzr ci # commit your changes on your public branch

如果你是针对某个公开BUG的修正提交,你可以在提交给你自己分支的时候提交一个bug的ID标记:

  1. bzr ci --fixes=lp:453123 # Where 453123 is a bug ID

Once your branch is mature, mark it as mature in the web interface of launchpad and request for merging in the official release. Your branch will be reviewed by a commiter and then the quality team to be merged in the official release.

怎样提交你的成果

If you want to contribute on OpenERP or OpenObject, here is the proposed method:

  • You create a branch on launchpad on the project that interest you. It’s important that you create your branch on launchpad and not on your local system so that we can easily merge, share code between projects and centralize futur developments.

  • You develop your own features or bugfixes in your own branch on launchpad. Don’t forget to set the status of your branch (new, experimental, development, mature, …) so that contributors knows what they can use or not.

  • Once your code is good enough, you propose your branch for merging

  • Your work will be evaluated by one responsible of the commiters team.

    • If they accept your branch for integration in the official version, they will submit to the quality team that will review and merge in the official branch.

    • If the commiter team refuses your branch, they will explain why so that you can review your code to better fits guidelines (problem for futur migrations, …)

The extra-addons branch, that stores all extra modules, is directly accessible to all commiters. If you are a commiter, you can work directly on this branch and commit your own work. This branch do not require a validation of the quality team. You should put there your special modules for your own customers.

If you want to propose or develop new modules, we suggest you to create your own branch in the openobject-addons project and develop within your branch. You can fill in a bug to request that your modules are integrated in one of the two branches:

  • extra-addons branch : if your module touches a few companies

  • addons : if your module will be usefull for most of the companies

We invite all our partners and contributors to work in that way so that we can easily integrate and share the work done between the different projects.

Answer Tracker and Bugs Management

We use launchpad on the openobject project to track all bugs and features request related to openerp and openobject. the bug tracker is available here:

Every contributor can report bug and propose bugfixes for the bugs. The status of the bug is set according to the correction.

When a particular branch fixes the bug, a commiter (member of the Commiter Team) can set the status to “Fix Commited”. Only commiters have the right to change the status to “Fix Committed.”, after they validated the proposed patch or branch that fixes the bug.

The Quality Team have a look every day to bugs in the status “Fix Commited”. They check the quality of the code and merge in the official branch if it’s ok. To limit the work of the quality team, it’s important that only commiters can set the bug in the status “Fix Commited”. Once quality team finish merging, they change the status to “Fix Released”.

Translation

翻译由“Launchpad Web interface”管理。在这里你会找到可译项目的清单。

请在问问题前阅读 FAQ

Blueprints

Blueprint is a lightweight way to manage releases of your software and to track the progress of features and ideas, from initial concept to implementation. Using Blueprint, you can encourage contributions from right across your project’s community, while targeting the best ideas to future releases.

Launchpad Blueprint helps you to plan future release with two tools:

  • milestones: points in time, such as a future release or development sprint

  • series goals: a statement of intention to work on the blueprint for a particular series.

Although only drivers can target blueprints to milestones and set them as series goals, anyone can propose a blueprint as a series goal. As a driver or owner, you can review proposed goals by following the Set goals link on your project’s Blueprint overview page.

By following the Subscribe yourself link on a blueprint page, you can ask Launchpad to send you email notification of any changes to the blueprint. In most cases, you’ll receive notification only of changes made to the blueprint itself in Launchpad and not to any further information, such as in an external wiki.

However, if the wiki software supports email change notifications, Launchpad can even notify you of changes to the wiki page.

If you’re a blueprint owner and want Launchpad to know about updates to the related wiki page, ask the wiki admin how to send email notifications. Notifications should go to notifications@specs.launchpad.net.

The Buleprints for OpenERP are listed here: