One of a series of test instances for migrating the Koha Wiki MediaWiki database.
For the current Koha Wiki, visit https://wiki.koha-community.org .Catalyst Academy
Every year Catalyst IT run an Academy for High School (or High School age) students.
Catathon 2022: Koha bug squashing session
The Catalyst Koha team are hosting a Koha bug squashing session at Catathon 2022, as part of Catalyst IT's 25th birthday.
Installing your Koha development environment
- Bugzilla https://bugs.koha-community.org/bugzilla3/
- Install Kohadevbox https://gitlab.com/koha-community/kohadevbox#getting-started
You can leave most of the defaults as they are in /vars/user.yml, but uncomment the following values and change them to:
- mysql_engine: mariadb
- koha_official_repo_distribution: stable
- [ACADEMY] koha_git_repo: git://git.catalyst.net.nz/koha.git
- [NORMAL STAFF SETUP] koha_git_repo: https://git.koha-community.org/Koha-community/Koha.git
- git_email: your@email.com
- git_full_name: "Your name"
- bz_user: your@bugzilla.email
- bz_password: yourBugzillaPassword
When you run vagrant up
, use buster
vagrant up buster
May need to add
* 192.168.50.0/21
to
/etc/vbox/networks.conf
if `vagrant up` produces an error about IP address configuration
If `vagrant up` fails on CPAN dependencies:
vagrant ssh sudo apt install libdatetimex-easy-perl exit
If `vagrant up` fails on install node.js, you'll need to change the following section in git/kohadevbox/roles/kohadevbox/tasks/node.yml
- name: Node | Install Node.js apt: name: [ 'nodejs', 'npm' ] state: latest when: - ansible_distribution_release == 'stretch' or ansible_distribution_release == 'buster'
Delete the buster condition so the section looks like
- name: Node | Install Node.js apt: name: [ 'nodejs', 'npm' ] state: latest when: - ansible_distribution_release == 'stretch'
If `vagrant up` fails because the machine doesn't support NFS:
sudo apt install nfs-common nfs-kernel-server
Install a vagrant plugin:
vagrant plugin install vagrant-cachier
Run provision to get the script going again
vagrant provision buster
If using a generic git email and full name you'll need to update the git credentials. After you have done `vagrant ssh`, set the git credentials to your name and email so any patches you author are credited to you
git config --global user.name "Your Name" git config --global user.email "youremail@yourdomain.com"
Needs signoff
- Bug 25816 - Add OPAC messages in SIP display
- Bug 10744 - ExpireReservesMaxPickUpDelay works with hold(s) over report
- Bug 23415 - Notify patron fines when renewing
- Bug 28527 - Transfers that are cancelled whilst in transit should still appear as 'in transit' until they are received - No test plan, but maybe we can figure it out together?
- Bug 19336 - Add option to fines.pl to apply maximal fine amount after delay
Needs a patch
- Bug 30773 - Standardize spelling i-tive / Itiva
- Bug 30770 - Terminology: Lost reserve
- Bug 30764 - Terminology: Cancelled reserve
- Bug 30762 - Terminology: Go to Staff client
- Bug 30763 - Typo: Barcode proceeds bibliographic data
- Bug 30767 - Terminology: Do not forget that the issue has not been checked in yet
- Bug 30766 - Typo: Cannot cancel receipt. Possible reasons
- Bug 29050 - Add punctuation in Unseen Renewals message
- Bug 27996 - Format of "Due date" on Circulation > Overdues page
- Bug 30784 - Rephrase OPACMandatoryHoldDates slightly
- Bug 30245 - Add Turkmen and Sinhala to languages - More advanced, but an example of how to do it is given.
- Bug 27513 - Add description to Reports page - More advanced.
Bits and pieces that might be helpful
Getting started each day
These commands will start up your development environment, log you in, ensure you're using the latest code and packages, and refresh your state.
cd /git/kohadevbox vagrant up vagrant ssh cd kohaclone sudo apt-get update sudo apt-get upgrade git fetch git checkout origin/master
Writing a patch (vim commands)
vi <filename>
Use `i` to start editing the file Use `:504` to jump to line 504 in the file Use `\term` to jump to the next instance of 'term' in the file, then use `n` to jump to the next instance Use `:wq` to write and quit the file
Writing a commit message
You've finished writing your own patch?
git add <filename> <filename> git commit
Or you're signing off after testing someone else's patch?
git commit -s
Write your test plan. The start of the file should be 'Bug XXXXX: Description of patch', followed by your test plan
Run the QA test tools to check for some common mistakes:
qa -v 2
Attach the patch to the bug report:
git bz attach -e XXXX HEAD
If there is more than one patch to attach
git bz attach -e XXXX HEAD~Y..
To reset/refresh your dev environment
git checkout origin/master
OR
git reset --hard origin/master
If you're working on something you want to keep working on tomorrow
git stash
To continue working on the thing from yesterday
git stash apply
To close your dev environment
exit vagrant halt
For help with testing and writing patches
Past Academies
- No academy in 2022
- Catalyst Academy 2021
- No academy in 2020
- Catalyst Academy 2019
- Catalyst Academy 2018
- Catalyst Academy 2017
- Catalyst Academy 2016
- Catalyst Academy 2014
Links
- Koha website https://koha-community.org/
- GitStats http://git.koha-community.org/stats/koha-master/
- OpenHub stats https://www.openhub.net/p/koha
- Koha dashboard http://dashboard.koha-community.org/
- Koha Wiki https://wiki.koha-community.org/wiki/Main_Page