ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

« Previous - Version 8/28 (diff) - Next » - Current version
Toshi MARUYAMA, 2013-07-03 04:44 am


Contribute

Contents

This project is built and maintained by community volunteers. If you would like give back to the community, there are several ways to contribute back to the project.

You've found a bug?

Opening tickets for bugs you find is a great way to contribute to ChiliProject.

The first step when you think you have found a bug is to look if it's not already been reported, use the search field (top right of any page) to that end. If there's already a bug report covering the problem you are encountering, please comment on that ticket instead of opening a new one.

If you can't find a ticket covering the problem you are encountering, please open a new one and try to include the following:
  • your ChiliProject version or revision and where you got it from (Examples: tag 1.1.0 from git, version 1.1.0 from the debian package)
  • your Ruby version (Example: 1.8.7)
  • your Rails version (Example: 2.3.5)
  • your database including version (Example: PostgreSQL 8.2)
  • your SCM including version if the problem is related to the SCM integration (Example: svn 1.6.11)
  • the error trace if ChiliProject crashed, you'll find it in log/production.log in your chiliproject directory most times.

If you have access to your ChiliProject installation, running the following command in your chiliproject directory will provide most of the required information:

RAILS_ENV=production ruby script/about

You've found a security vulnerability?

We're going to great lengths to make sure ChiliProject is secure, but sometimes that isn't enough to make it secure. If you think you've found a security vulnerability, send a mail containing the description of the vulnerability to , we'll get in touch with you.

You want to propose a feature?

Have a look at existing feature requests to see if no one has already proposed something similar, open a new feature request if not. Fill in the subject with a short but accurate title, put details in the description, don't hesitate to describe precisely how this feature should behave and try to add what benefits you're expecting from it.

You want to help translate ChiliProject?

ChiliProject has translations for a lot of languages, those however become incomplete and/or outdated over time. If you've found some part of ChiliProject with english text (the default) where there shouldn't be, try to find the english text in the locale file corresponding to your language, translate it and post the changes in a new bug report. You can find the locale files in the config/locales directory of your ChiliProject installation.

If you would like to actively and refularly maintain the translation for a particular language, please get in touch with the development team lead. If you want to translate ChiliProject to a new language, please see the TODO guide.

You want to improve the documentation?

All the documentation on ChiliProject is in the ChiliProject wiki, most pages of which logged in users should be able to modify. If you think you can make improvements to the existing documentation, feel free to do so, be sure to fill in the comment section at the bottom to make keeping track of changes easier.

You want to support other users?

Helping out other users in the Forums and the IRC channel is always useful. Frequent problems or questions should be added to the wiki, either to the FAQ if it's a small question or a new page if it's something bigger, so they can be found by future users.

You can help triaging issues?

Take a look at new issues, do they contain all the information needed to reproduce the issue? Has anyone tried to reproduce the issue on a test installation of ChiliProject? Does the issue have a patch attached, but no one has reviewed it yet? If the answer to any of these questions is no, you can try to fill in the blanks. Getting the details of the issue from the reporter and the community means the developers can spend more time developing instead of trying to analyze errors.

Code Related

These require a familiarity with Ruby on Rails development. If you are still new to Rails, Community members can help you if you get stuck with something or have any other questions.

You will need to download a copy of the current development code. The official code repository is hosted on Github at https://github.com/chiliproject/chiliproject.

Any questions can be asked in the Forums or on IRC.

Patches to fix bugs or add new features are always appreciated. If you are going to work on a specific issue, make a note in the issue details so the developers will know what you're working on.

Contributing code:

  1. Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
    • Patches are not accepted for stable release branches. All code must start in master and then be merged into other branches.
  2. Check out the issues list to make sure someone already hasn't requested it and/or contributed it.
  3. Fork the project on Github.
  4. Start a feature/bugfix branch, with a good descriptive branch name. Using the issue number as the prefix is a great idea (e.g. git checkout -b 1234-add-new-feature).
  5. Make sure all the existing tests pass. You can check the current build statuses on the Continuous Integration server TODO
  6. Commit and push until you are happy with your contribution.
  7. Make sure to add tests for the feature/bugfix. This is important so the feature/bugfix doesn't break in a future version unintentionally.
    • We only accept patches with extensive test coverage.
  8. Create a pull request on Github and post a comment to the issue here.
  9. Ask for feedback from users and developers. Users will want to to apply the patch and try out the new functionality. Developers will want to do a code review and run all of the tests.
  10. Discuss any changes that are proposed and push updates as needed until the code is integrated.