Useless Koha statistics – What files have been changed the most

So for no real reason, other than to see if I could, I figured out how to get the top 10 changed (well it could be any number) files in the Koha code base

git rev-list --objects --all | awk '$2' | sort -k2 | uniq -cf1 | sort -rn |
while read frequency sample path
    [ "blob" == "$(git cat-file -t $sample)" ] && echo -e "$frequency\t$path";
done | head

This told me (where the number is the number of commits)

  1. 3006 installer/data/mysql/
  2. 1220 C4/
  3. 1141 C4/
  4. 1137
  5. 997 C4/
  6. 996 installer/data/mysql/kohastructure.sql
  7. 914 C4/
  8. 796 opac/
  9. 752 circ/
  10. 710 opac/

You could of course leave the head off to get all or do head -20 to get the top twenty etc.

Like I said, useless statistic, but kinda interesting nonetheless

Catalyst Open Source Academy 2015

This year we had 6 students working on the Koha project as part of their project work for the Catalyst Open Source Academy  and a very productive 3.5 days it was too.

Getting the last patches into Koha by Kristina D.C. Hoeppner, on Flickr





In total we submitted 29 new patches, tested and signed off on 9 more, and even rescued one patch from languishing in the ‘patch does not apply’ status.

The Koha team scoreboard by Kristina D.C. Hoeppner, on Flickr

So far most of the patches have been signed off, and some have passed QA, and a few have even been committed into the codebase. In fact the upcoming 3.18.3 Koha release will have 5 patches from 3 of the students from 2015, and 1 patch from a former Academy student who is now an intern at Catalyst.

After all that hard work, I figured they deserved a cupcake, so I asked the wonderful Sweet Release Cake and Treats to make some, and we ended up with these, which everyone loved.
Koha cupcake - 2015-01-16 by Kristina D.C. Hoeppner, on Flickr





A++ would academy again.

2014 and Koha – by the numbers

2014 was another big year for Koha, there are now 2847 libraries in Libwebcats listed as using Koha. That doesn’t include 1037 public libraries in Argentina, the 1106 public libraries in Turkey, and the multitude more in many other countries.

On top of the ever growing number of users, many more features were added, and bugs fixed, here are some statistics for the year:

  • There were 2225 commits to the master branch of the Koha codebase
  • The busiest month was May with 278 commits
  • 1570 Patch sets were signed off
  • 1299 Patch sets Passed QA
  • 673 Patch sets Failed QA (almost all were fixed and went on to pass in the end)
  • Katrin Fischer signed off on 47, and QAed 815
  • Jonathan Druart – was author of the year with 325 patches, he also signed off on 74 and QAed 336
  • 87 People had patches in Koha
  • There were 34 people who got their first patch in Koha this year


Oh very young, what will you leave us this time?

Yesterday Kahurangi came to work with me, as he likes to do when he is on school holidays, but this day was a little bit different. Normally Kahu spends most of the day reading, and playing on the tablet, but yesterday he decided he wanted to do some work.

One of the bonuses of working on Free Software is that if your child says “Can I do some work with you?” you can say “Yes, lets fix a bug together” knowing that there is a good chance you can get your patch submitted.

So the two of us sat down to do some pair programming, Kahu at the keyboard and me beside him. It took us about 30 mins to get his dev environment set up, and check out a copy of the Koha source code. I knew of the perfect bug, while we were having our Koha team Xmas function (Bubbles and bugs, drink some bubbles and fix some bugs) we spotted that one of the developers names was missing from the about page. A perfect low barrier to entry bug to fix, but still one well worth fixing. It took us a little while to find the file that needed editing (got distracted showing him how to use locate) but once we found it, Kahu found the place that needed editing (the names are in alphabetical order so it wasn’t too hard) and we added the missing name. We then committed the fix to git, and created and attached a patch to the bug in bugzilla (

Last night, Katrin (from Germany) checked and signed off the patch and this morning the Release manager (Tomás from Argentina) pushed it to the master branch. So now Kahurangi has a patch in Koha.;a=commit;h=70de2cae53d93a47a7666015a79f35d7f458f4fe

I think we may be the first parent and child team to both have patches in Koha.

(And yes, that is a Cat Stevens lyric)

Cordoba – The food edition

Kohacon14 Day 3 – Coral

Paul presented about Coral which is an ERM (Electronic Resource Management) software. Paul told us it is well documented, with an extensive manual. It is software for Librarians to use, not end users. It is for managing all your subscriptions for digital resources. Large universities often have hundreds of subscriptions and tracking licenses and url, and acquisitions etc are very hard to track. Coral was developed to manage this.

It is not packaged, but is still pretty easy to set up. Setting up authentication is the hardest bit, but once you have done that, the rest is pretty easy. It has one big problem it is only available in English and it currently cannot be translated. Hopefully since it is OSS we can fix this issue, but it is a big task.

Coral is divided into modules


  • Define all publishers, vendors, partners


  • Define all licenses
  • Highly flexible
  • You can attach files like pdf


  • This tracks the subscription
  • You can define workflows
  • store access details


Paul then demoed the software for us.