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 4/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 the revision if you're using repository code (Example: 1.1.0)
  • 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.

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.

Issue triage

Sometimes issues are reported without all the information needed by a developer. Getting the details of the bug or feature from the reporter and the community helps everyone understand what is needed on the issue. If you can try to reproduce the bug in your own ChiliProject adding a note about your version and the exact steps you took are extremely useful.

Also some issues will have patches attached to them with proposed fixes. Reviewing and updating these patches is very helpful.

User support

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 or a new page) so they can be found by future users.

Localization and translation

Translations are kept up-to-date alongside the code development. You could provide updates to the translations or propose new translations by opening a new issue.