You are on page 1of 5

Developer handbook - Koha Wiki https://wiki.koha-community.

org/wiki/Developer_handbook

Developer handbook
From Koha Wiki

Home
Home > Documentation
Koha > Technical > Development

If you are willing to help or learn how to hack Koha, you are at the right place!

The idea here is to collect the pages that are the most relevant to people who want to help develop Koha.

Contents
1 Contact us
2 You are new in the Koha community
2.1 Testing bugs
2.2 Write patches
2.3 TL;DR;
2.4 Find bugs to fix
2.4.1 Low hanging fruit
2.4.2 Harder still
2.4.3 Even harder
2.4.4 This is just getting silly
2.4.5 ZOMG
3 You are already a Koha developer

Contact us

1 of 5 12-Sep-17, 2:10 AM
Developer handbook - Koha Wiki https://wiki.koha-community.org/wiki/Developer_handbook

To contact the community, join us on the Koha IRC channel or the Mailing lists.

You are new in the Koha community


There are different way to help the Koha community when you are a developer.

If you are not already familiar with the Koha community you should take a look at our Development_workflow to understand the different steps of a patch. The
intent behind the workflow is to ensure that the best code is rolled in without breaking existing features.

Testing bugs
Then, to understand this workflow you should start by signing off on some patches to get used to it.

Write patches
A quick read to our Coding Guidelines is mandatory to know how we organise our code. No need to read them fully, but you should know how to find this kind
of information.

When you are ready to commit your work, take a look at the our commit messages rules

All these steps are resumed on the Submit a patch page.

TL;DR;
You just want to code? Ok! We have a step-by-step tutorial to guide you thought these different steps, take a look at the Koha How-to project!

Find bugs to fix


If you're looking for some inspiration of code contributions you could work on, read on!

Low hanging fruit

Trivial or string change patches needing signoff (http://bugs.koha-community.org/bugzilla3/buglist.cgi?j_top=OR&f1=cf_patch_complexity&

2 of 5 12-Sep-17, 2:10 AM
Developer handbook - Koha Wiki https://wiki.koha-community.org/wiki/Developer_handbook

list_id=49778&o1=equals&o2=equals&query_format=advanced&f2=cf_patch_complexity&bug_status=NEW&bug_status=REOPENED&
bug_status=ASSIGNED&bug_status=Needs%20Signoff&v1=Trivial%20Patch&v2=String%20Patch)
Translations (http://translate.koha-community.org)
Answering questions on the mailing list
Tidy up the wiki
Add a cookie, fudge or ice cream recipe (http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5158)

Harder still

Merging our SIP2 changes back into the upstream OpenNCIP project
Minor bugs needing patches (http://bugs.koha-community.org/bugzilla3/buglist.cgi?list_id=49780&bug_severity=minor&query_format=advanced&
bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED)
Small patches needing signoff (http://bugs.koha-community.org/bugzilla3/buglist.cgi?j_top=OR&f1=cf_patch_complexity&list_id=49782&o1=equals&
query_format=advanced&bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED&bug_status=Needs%20Signoff&v1=Small%20Patch)

Even harder

Normal severity bugs (http://bugs.koha-community.org/bugzilla3/buglist.cgi?list_id=49781&bug_severity=normal&query_format=advanced&


bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED)
Medium patches needing signoff (http://bugs.koha-community.org/bugzilla3/buglist.cgi?j_top=OR&f1=cf_patch_complexity&list_id=49783&
o1=equals&query_format=advanced&bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED&bug_status=Needs%20Signoff&
v1=Medium%20Patch)
Hunt for unused dependencies and remove them

This is just getting silly

Work on database independence


Large Patches needing signoff (http://bugs.koha-community.org/bugzilla3/buglist.cgi?j_top=OR&f1=cf_patch_complexity&list_id=49783&o1=equals&
query_format=advanced&bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED&bug_status=Needs%20Signoff&v1=Large%20Patch)
Major severity bugs (http://bugs.koha-community.org/bugzilla3/buglist.cgi?list_id=49781&bug_severity=major&query_format=advanced&
bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED)
Update POD, add missing POD

ZOMG

3 of 5 12-Sep-17, 2:10 AM
Developer handbook - Koha Wiki https://wiki.koha-community.org/wiki/Developer_handbook

Critical severity bugs (http://bugs.koha-community.org/bugzilla3/buglist.cgi?list_id=49781&bug_severity=critical&query_format=advanced&


bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED)
Blocker severity bugs (http://bugs.koha-community.org/bugzilla3/buglist.cgi?list_id=49781&bug_severity=blocker&query_format=advanced&
bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED)

You are already a Koha developer


If you are already a Koha hacker and you would like to submit big works you might know that time is limited for everybody.

Wanting to have big features integrated upstream may lead to frustration, and for having them in you will need to prepare the ground first.

To start it is important for you to show the community that you have understood our workflow and that you help others before expecting help from others :)
Contributing to an open source is:

receiving help from the community - we will guide you, answer your questions, improve your skills
helping the community - when you are read you will be able to test patch and contribute to small bug fixes, then later to bigger patches (enhancements,
new features)
receiving help again from the community - to see your patches integrated the community will test and review your patches. When the patches will be
pushed, this code will have to be maintained

To make sure the submission will not take too long, there are good practices to follow:

show us you understood our workflow and coding guidelines by following them
always ask if you have questions, especially before writing a new big feature. Maybe someone has already started to write it. It will also avoid design
issues.
do not be too long to answer questions or rebase your patches - the reactivity is the key of a good integration. If too much time is spent, rebasing will be
harder.

If you are using an old version of Koha with custom developments (fork) and are going to get back to the community version the work you may have to produce
can be heavy. You should contact us to explain us the developments you have and want to submit. We will help you to join us :) It is in the interest of both you
and us to work together.

4 of 5 12-Sep-17, 2:10 AM
Developer handbook - Koha Wiki https://wiki.koha-community.org/wiki/Developer_handbook

Developer handbook

Getting involved | Development workflow | Bug Reporting Guidelines | RFCs | Plugins


Version Control Using Git | git bz | Commit messages | Sign off on patches | QA Test Tools (http://wiki.koha-community.org/wiki/QA_Test_Tools) |
Debugging in VIM
Coding Guidelines | Koha Objects | Rest Api HowTo | Unit Tests | Continuous Integration | Interface patterns | Database updates | Adding a syspref |
Bootstrap and LESS
Debian Packages | Building Debian Packages | Easy Package Building | Commands
External: Dashboard (http://dashboard.koha-community.org/) | Bugzilla (http://bugs.koha-community.org/bugzilla3/) | Schema (http://schema.koha-
community.org/) | perldoc (http://perldoc.koha-community.org/) | Jenkins (http://jenkins.koha-community.org/)

Retrieved from "https://wiki.koha-community.org/wiki/Developer_handbook"


Categories: Development | Documentation

Home
Home > Documentation
Koha > Technical > Development

This page was last modified on 8 June 2017, at 16:46.


Content is available under GNU General Public License 2.0 or later.

5 of 5 12-Sep-17, 2:10 AM