Catalyst Academy

From Koha Wiki
Jump to navigation Jump to search

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

You can leave most of the defaults as they are in /vars/user.yml, but uncomment the following values and change them to:

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

Git bz configuration

Past Academies

Links