This document provides guidance on how to contribute to the Koha open source library system. It outlines various ways to contribute, such as reporting bugs, fixing bugs, creating new features, documenting, translating, and more. It then describes the process for fixing bugs or adding new features, which involves announcing the work, releasing work in progress, using Git, submitting patches via email, getting sign off from others, and updating the status in Bugzilla. Proper coding guidelines and branching in Git are emphasized throughout the contribution workflow.
2. Please note!
● http://koha-community.org/
is the current website for the Koha project.
● Avoid any and all sites at http://*.koha.org/ -
they are not updated according to the wishes of
The Koha Community.
3. Many ways to contribute
● Report bugs
● Verify bugs
● Fix bugs
● Create new features/enhancements
● Test and sign off on patches
● Write documentation, add to the wiki
● Translate
● Answer questions on mail-lists and IRC
● Etc, etc...
4. Hacking Koha!
● Fixing bugs
● Creating new features/enhancements
Two guiding principles:
● Announce what you will work on
● Release early, release often
http://wiki.koha-community.org/wiki/Enhancement_Request_Guidelines
5. Bugzilla - bugs.koha-community.org
● Always start by adding a bug report, both for
bugs and enhancements
http://wiki.koha-community.org/wiki/Bug_Reporting_Guidelines
6. Wiki - wiki.koha-community.org
● Creating an enhancement?
● You should probably do an RFC on the wiki
● (Request For Comments)
● Unless it's something really small
● http://wiki.koha-community.org/wiki/Category:RFCs
7. Start working!
● Use the Git, Luke!
● Develop on a branch (named after your bug)
● http://wiki.koha-community.org/wiki/Version_Control_Using_Git
● Publish your WIP (Work In Progress)
● In a public Git repository
● http://wiki.koha-community.org/wiki/Public_Git_Repositories
9. ● git add somefile.pl
● git commit
● Use the bug number in the first line of the commit
message
● git format-patch origin
● git send-email 0001-filename
● koha-patches@lists.koha-community.org
● Attach the patch to the bug in Bugzilla
● Change the Importance of the bug to "Patch
sent" and Patch Status to "Needs Signoff"
10. What happens next?
● Someone must test and sign off on your patch
and change the status to
● "Does not apply" or
● "Signed Off"
● http://wiki.koha-community.org/wiki/Sign_off_on_patches
● Then it is pushed to the main Koha Git
repository, as a separate branch
11. And after that?
● If the person in charge of QA is not happy with
what you have done, Patch Status is changed
to
● "Failed QA"
● Otherwise, if the Release Manager too is happy
with your work, the branch (patch) is merged
into Koha and Patch Status is set to
● "Patch Pushed"
12. You're not done yet, though!
● Update your Koha clone
● Check that everything works as expected
● Set the Status of the bug to "RESOLVED
FIXED"
● Congratulations!
13. Things to remember
● Your patch should apply cleanly to the HEAD of
master
● Rebase on master and resubmit your patch if
changes in master makes the patch not apply any
longer
● If you have fixed a bug, it should also apply
cleanly to the HEAD of the maintenance branch
(currently 3.2.x)
● Submit a separate patch for 3.2.x if you have to