15
Contributing to Koha Magnus Enger libriotech.no

Contributing to Koha

Embed Size (px)

DESCRIPTION

Proposed talk for the Helsinki Midwinter Darkness Camp 19th–20th January 2011. Meant to be a reminder about some of the important things to keep in mind when submitting code to the Koha project - and as an example of things to keep in mind when submitting code to any large free software project.

Citation preview

Page 1: Contributing to Koha

Contributing to KohaMagnus Enger

libriotech.no

Page 2: Contributing to Koha

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.

Page 3: Contributing to Koha

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...

Page 4: Contributing to Koha

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

Page 5: Contributing to Koha

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

Page 6: Contributing to Koha

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

Page 7: Contributing to Koha

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

Page 8: Contributing to Koha

● git clone http://git.koha-community.org/koha.git kohaclone

● cd kohaclone

● git checkout -b mywork origin

● Work, work, work● http://wiki.koha-community.org/wiki/Coding_Guidelines

Page 9: Contributing to Koha

● 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● [email protected]

● Attach the patch to the bug in Bugzilla● Change the Importance of the bug to "Patch

sent" and Patch Status to "Needs Signoff"

Page 10: Contributing to Koha

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

Page 11: Contributing to Koha

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"

Page 12: Contributing to Koha

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!

Page 13: Contributing to Koha

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

Page 14: Contributing to Koha

Furthermore, I think MARC must be destroyed.

marc-must-die.info

Page 15: Contributing to Koha

Happy hacking!

Magnus [email protected]

libriotech.no