What’s on in koha-devel #17

Hi everybody!

It has been a long time since the last what’s on in koha-devel post!

17.11 is out and we are already at the third of the development release cycle for 18.05.

Table of contents

Release Management 18.05

Still a lot of time left to contribute to this release, but now it is the perfect time to be involved in order to get your things pushed, or what you would like to see being part of it.

We have tons of new features and enhancements in the Needs Signoff queue (https://frama.link/koha_bz_nso).

I have created a new tag RM_priority to highlight patches I would like to see in quickly (https://frama.link/koha_bz_RM_priority), there is also a saved search for this list.

They can be big stuffs (with hard rebase for instance) or major bugfixes.

Please also note that I will take the liberty to skip the QA and/or SO step if they do not get the attention they need.

Like I did during the 17.11 development release cycle I will update the release notes every time I push to master. That way people will be able to fix titles and descriptions of bugs https://gitlab.com/joubu/koha-release-notes (coming soon).

Koha Manual

Translation

Anthony Mao did an awesome work to translate the manual in Taiwanese Mandarin (zh_TW) in less than a month!
  • Arabic 39%
  • Chinese (Taiwan) 100%
  • Czech 43%
  • French 50%
  • French (Canada) 38%
  • Italian 83%
  • Portuguese (Brazil) 19%
  • Turkish 75% (nice work done by Süleyman Onur too!)
If you wish to participate in another language, just let us know and we will create it.
You can find the epub and html versions available for all these languages on our website https://koha-community.org/documentation/

We are going to create the man18.05 project for the next release and will update regularly.

Note that 18.05 is generated from the project man17.11 so far, that need to be fixed.

Contribution

It is very easy to contribute to the manual, so if you want to improve it, and get credit in the next Koha version you can!

Moreover your contributions will be available right after they have been integrated into the official repository. We regenerate the epub and html versions of the different languages when a new contribution is merged.

PDF version

I managed to generate a PDF version of the manual (I have uploaded the English version as an example)
It is very resource consuming to generate and so it will only be generated once per release.

Screenshots internationalization

An important email has been sent to the mailing list but did not receive many answers.

I have spent time to automatically generate the screenshots of the manual to automatically keep them up-to-date in the different languages.

The task is huge and I will not do it by myself. However I can write some tools to help anybody interested in having these screenshots.

If someone wants to translate screenshots, they should do it in a generic way so all languages can take advantage of it.

The hidden added value of such mechanism is to add a huge test coverage.

Refactoring

I sent a quick reminder about the work I produced to refactor/move our legacy code.

It’s important to understand that I fix the bugs I find, centralize the code and provide test coverage (to make the code more robust).

Most of the time these patches are hard to maintain up-to-date and the work needs to be done several times.

This work is a bit stuck until what I have submitted is pushed. As it is quite easy to write but hard to rebase and maintain and it takes time to pass though the signoff and QA process, I cannot produce much at the same time and have to maintain it for months.

If you want to help our code to be better, take a look at the big graph on bug 15449. Pick the orange ones if you want to sign off or yellow ones for the ones to QA.

Elastic search

(from Nick)

Claire at BibLibre has worked to put together a status document for ES and the work to be done, you can see that here: https://docs.google.com/spreadsheets/d/10VUKvIYZjlbJhE-oCLmInLe601su6vIRBRC_g6oNekE/edit#gid=0

There is some ongoing work on the community and we are happy to answer questions or help more people get involved.

REST API

(from Tomás)

We reached the point in which most of the barebones for implementing the REST api endpoints are done, and so it is time to think what the API should be like for it to be used both by Koha itself, and external consumers.

Mojolicious helpers have been added for different scenarios:
  • Reserved parameters normalization / handling
  • Query and parameters parsing/conversion to DBIC
  • And Koha::Objects searching helper (which is useful as an example even if you are not using it).
An umbrella wiki page was set for adding RFCs on a per-endpoint basis. As a start we needed to make a decision about the currently existing endpoints. To simplify things, it was agreed to keep version 1, basing it on the voted RFCs.
In order to deal with existing endpoints bug 19774 was filed as an umbrella.
Four endpoint implementation specs were voted that time, and work on them has already started (the bug implementing the RFC added on the parenthesis):
The /libraries endpoint wasn’t previously implemented, and Alex Arnaud is working on it. The rest of them involved decisions on the field mappings (i.e. from what we have on the DB and what we want to expose). That said, some fields got added (some of them calculated), some others renamed and deleted too. Please help us move this bugs. There are several bugs for each implementation due to our baby steps approach, and also to preserve attribution from original feature authors.
Some other endpoint RFCs have been added. They should be voted, tough. And volunteers are welcome as usual 😀
If you are interested in discussing the REST api implementation details or if you have ideas/concerns, please feel free to start a new thread in koha-devel, or contact tcohen on IRC.

Technical topics

git-bz – Encrypt your password

Julian wrote a patch to avoid storing unencrypted passwords in the git config. If you are using git-bz you really should read his post to the koha-devel mailing list.

Be compatible with new SQL modes

The default SQL modes for MySQL 5.7 and MariaDB 10.2.4 breaks Koha. Adjusting our code to these modes will help us to find hidden bugs and clean some dirty areas.
A first step would be to make our test suite running successfully with these new modes. Then developers could use them in development environment to catch bugs.
You can find the announcement to the list as well as the corresponding bug report.

Move to gitlab

Few days ago I have announced I wanted to move the side-projects to gitlab into the same group (would be gitlab.com/koha-community).
That way it will be easier to find the official repositories for these projects as well as see who is in charge of them.

Several KohaDevBox enhancements

You should read the “KohaDevBox Updates” part of the last newsletter https://koha-community.org/koha-community-newsletter-january-2018/#devbox there are new exciting stuffs (debugging, selenium integration)
There is also a new ‘updatedatabase’ alias on the vagrant user!

Agenda

If you want to track what’s going on in the Koha community you must add the new Koha agenda to your own! https://koha-community.org/calendar/
It contains the next meetings and we will certainly add the next Koha events. Let us know if you want to add events.

Next meetings

If you want to tell us something, highlight a problem, or start a discussion, it is the place to do it (do not forget to add the topic on the agenda!).

To know the dates of the next meetings, please bookmark this page: https://wiki.koha-community.org/wiki/Next_General_IRC_meeting