Contribute

Version 40 (Sheldon Robinson, 2012-01-05 04:52)

1 26 Toshi MARUYAMA
h1. Contribute
2 26 Toshi MARUYAMA
3 26 Toshi MARUYAMA
{{>toc}}
4 26 Toshi MARUYAMA
5 26 Toshi MARUYAMA
Redmine is built and maintained by community volunteers. If you enjoy using Redmine and would like give back to the community, there are several ways to contribute back to the project. Also read the "forum thread":http://www.redmine.org/boards/1/topics/show/4325 for some more specific ideas.
6 26 Toshi MARUYAMA
7 26 Toshi MARUYAMA
h2. Code Related
8 26 Toshi MARUYAMA
9 26 Toshi MARUYAMA
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.
10 26 Toshi MARUYAMA
11 26 Toshi MARUYAMA
You will need to download a copy of the current development-code. The official code repository is located in Subversion and can be downloaded by following the [[Download]] instructions.
12 26 Toshi MARUYAMA
13 33 Toshi MARUYAMA
A copy of the source is mirrored to "Bitbucket":https://bitbucket.org/redmine (this is maintained by the community) and "GitHub":http://github.com/edavis10/redmine/tree/master (this is not an officially maintained mirror), if you would like to use Mercurial and Git for development.
14 26 Toshi MARUYAMA
15 26 Toshi MARUYAMA
Any questions can be asked in the "Forums":http://www.redmine.org/projects/redmine/boards/1 or to the [[Teams|Development Team]] on IRC.
16 26 Toshi MARUYAMA
17 26 Toshi MARUYAMA
h3. Patch checking
18 26 Toshi MARUYAMA
19 26 Toshi MARUYAMA
Fixing outdated patches so they can apply cleanly to the latest code is very helpful. Many issues will have patches but they will not run on latest version.  **"List of issues with a patch pending":http://www.redmine.org/projects/redmine/issues?query_id=5**
20 26 Toshi MARUYAMA
21 26 Toshi MARUYAMA
h3. Code documentation
22 26 Toshi MARUYAMA
23 26 Toshi MARUYAMA
Documenting classes and methods using "RDoc":http://rdoc.sourceforge.net/ will help developers understand how Redmine works better.  Once you have a copy of Redmine installed, running @rake doc@ will generate the latest RDoc in @doc/app@.  Patches for methods without documentation or with poor documentation would be helpful and an easy way to contribute. **"List of documentation issues":http://www.redmine.org/projects/redmine/issues?query_id=84**
24 26 Toshi MARUYAMA
25 26 Toshi MARUYAMA
h3. Development
26 26 Toshi MARUYAMA
27 26 Toshi MARUYAMA
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.
28 26 Toshi MARUYAMA
29 26 Toshi MARUYAMA
h3. Basic process for contributing code:
30 26 Toshi MARUYAMA
31 34 Toshi MARUYAMA
# Make sure you are working on the *svn trunk* or *mercurial default named branch* or *git master branch*.
32 34 Toshi MARUYAMA
Patches are not accepted for stable releases because someone would have to port a patch to trunk first and then port it back to stable (i.e. double the work).
33 34 Toshi MARUYAMA
If you use mercurial, you can use "transplant extension":http://mercurial.selenic.com/wiki/TransplantExtension or "mercurial queues extension":http://mercurial.selenic.com/wiki/MqExtension .
34 38 Toshi MARUYAMA
# Redmine has *tests* (source:trunk/test). Make sure all the existing tests pass. You can check the current build statuses on the [[Continuous integration|Redmine Continuous Integration server]]. You can run "rake test" for entire tests or "ruby test/unit/issue_test.rb" for an each test. For more details, see source:trunk/doc/RUNNING_TESTS
35 26 Toshi MARUYAMA
# Add tests to show the new functionality and check for bugs
36 32 Toshi MARUYAMA
# Post the patch to the issue.
37 35 Toshi MARUYAMA
*Do not send a pull request on github*.
38 33 Toshi MARUYAMA
Github mirror is not an officially maintained mirror.
39 26 Toshi MARUYAMA
# 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.
40 26 Toshi MARUYAMA
# Discuss any changes that are proposed and post new patches as needed
41 26 Toshi MARUYAMA
42 26 Toshi MARUYAMA
43 26 Toshi MARUYAMA
h2. Non Code Related
44 26 Toshi MARUYAMA
45 26 Toshi MARUYAMA
These don't require any software development experience, just time and the desire to help.
46 26 Toshi MARUYAMA
47 26 Toshi MARUYAMA
h3. User support
48 26 Toshi MARUYAMA
49 26 Toshi MARUYAMA
Helping out other users in the "Forums":http://www.redmine.org/projects/redmine/boards and the IRC channel (#redmine @ freenode) is always useful. Frequent problems or questions should be brought up so the wiki can be updated to help future users.
50 26 Toshi MARUYAMA
51 26 Toshi MARUYAMA
h3. Localization support
52 26 Toshi MARUYAMA
53 26 Toshi MARUYAMA
[[HowTo_translate_Redmine_in_your_own_language|Translations]] should be kept up-to-date alongside the development of Redmine. You could provide updates of the translations where necessary or proposed to support Redmines I18n-support. **"List of Localization and Translation issues":http://www.redmine.org/projects/redmine/issues?query_id=7**
54 26 Toshi MARUYAMA
55 26 Toshi MARUYAMA
h3. Issue triage
56 26 Toshi MARUYAMA
57 26 Toshi MARUYAMA
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 will help everyone understand what is needed.  If you can also try to reproduce the bug in your own Redmine, adding a note about your Redmine version and the exact steps you took are extremely useful.
58 26 Toshi MARUYAMA
59 26 Toshi MARUYAMA
h3. Design and User interface
60 26 Toshi MARUYAMA
61 26 Toshi MARUYAMA
Redmine uses a very basic design and user interface. Any improvements to it including new themes, skinning, or interface adjustments could help every user of Redmine. Get involved with the "UI / UX Team":http://www.redmine.org/wiki/redmine/UX_Team. **"List of User Interface Issues":http://www.redmine.org/projects/redmine/issues?query_id=83**