Michal Čihař - Blog Archives for English

Weekly phpMyAdmin contributions 2017-W10

Last week was a bit more focused on the infrastructure than the code. Most of our servers have been upgraded to Debian Stretch and can (finally) benefit from PHP 7.

The upgrade also brought more up to date versions to the demo server, it's now running MariaDB 10.1.21 and MySQL 8.0.0. The latter one will probably show some bugs in our code base, as it has not yet been fully tested.

Code wise, the most visible change is to bundle Let's encrypt root SSL certificate with our code, so that we can verify the server even if the host SSL verification is broken (what seems to happen on some Windows based setups).

Handled issues:

Weblate users survey

Weblate is growing quite well in last months, but sometimes it's development is really driven by people who complain instead of following some roadmap with higher goals. I think it's time to change it at least a little bit. In order to get broader feedback I've sent out short survey to active project owners in Hosted Weblate week ago.

I've decided to target at smaller audience for now, though publicly open survey might follow later (but it's always harder to evaluate feedback across different user groups).

Overall feelings were really positive, most people find Weblate better than other similar services they have used. This is really something I like to hear :-).

Weblate overall experience

Weblate compared with other tools

But the most important part for me was where users want to see improvements. This somehow matches my expectation that we really should improve the user interface.

Weblate future development

We have quite a lot features, which are really hidden in the user interface. Also interface for some of the features is far from being intuitive. This all probably comes from the fact that we really don't have anybody experienced with creating user interfaces right now. It's time to find somebody who will help us. In case you are able to help or know somebody who might be interested in helping, please get in touch. Weblate is free software, but this can still be paid job.

Last part of the survey was focused on some particular features, but the outcome was not as clear as I hoped for as almost all feature group attracted about same attention (with one exception being extending the API, which was not really wanted by most of the users).

Overall I think doing some survey like this is useful and I will certainly repeat it (probably yearly or so), to see where we're moving and what our users want. Having feedback from users is important for every project and this seemed to worked quite well. Anyway if you have further feedback, don't hesitate to use our issue tracker at GitHub or contact me directly.

Weekly phpMyAdmin contributions 2017-W09

Last was equally spent on bugfixing phpMyAdmin and improving our Docker container.

From the bugfixing phpMyAdmin, I've spent great time with HHVM. It all started with bug report that phpMyAdmin is not working with HHVM 3.18. I've quickly fixed reported errors and wanted to add HHVM to our test matrix on Travis CI. This was not that easy as expected due to need to upgrade Travis image to Trusty. Once I did that, the build no longer worker reliably as MySQL server was sometimes not started. This showed to be known Travis bug, which can be workarounded by not using their container based infrastructure.

Once I had everything building and testing, I've noticed that the complete test takes incredibly long on recent HHVM versions (3 minutes with HHVM 3.3, 12 minutes with HHVM 3.12 and 7 minutes with HHVM 3.18). After digging a bit deeper (and adding listing of 10 slowest testcases) I've been able to produce testcase and report issue to HHVM. So if you're using phpMyAdmin with recent HHVM and it's slow, this might be the cause.

Last but not least, our Docker container got several performance tweaks, mostly tweaking PHP's opcache settings.

Handled issues:

Weblate 2.12

Weblate 2.12 has been released today, few days behind schedule. It brings improved screenshots management, better search and replace features or improved import. Many of the new features were already announced in previous post, where you can find more details about them.

Full list of changes:

  • Improved admin interface for groups.
  • Added support for Yandex Translate API.
  • Improved speed of sitewide search.
  • Added project and component wide search.
  • Added project and component wide search and replace.
  • Improved rendering of inconsistent translations.
  • Added support for opening source files in local editor.
  • Added support for configuring visual keyboard with special characters.
  • Improved screenshot management with OCR support for matching source strings.
  • Default commit message now includes translation information and URL.
  • Added support for Joomla translation format.
  • Improved reliability of import across file formats.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.

Weekly phpMyAdmin contributions 2017-W08

The amount of new issues reported for 4.7.0 seems to be going down, so there was some time left to review pull requests on master branch with new features. But there was fair amount of bug fixing as well.

We've also managed to release new version of SQL parser which brings support for LOAD DATA statements and other improvements.

Handled issues:

New free software projects on Hosted Weblate

Hosted Weblate provides also free hosting for free software projects. I'm quite slow in processing the hosting requests, but when I do that, I process them in a batch and add several projects at once.

This time, the newly hosted projects include:

  • DoubleContact - offline contact manager
  • LanguageTool - style and grammar checker for 25+ languages
  • Ghini - botanic collection manager
  • Converse.js - XMPP chat client in your browser
  • Pulse - IT Infrastructure Management Software
  • Turris - high performance and open source router
  • Icinga Editor - GUI for generating Icinga configuration files

If you want to support this effort, please donate to Weblate, especially recurring donations are welcome to make this service alive. You can do them on Liberapay or Bountysource.

Weekly phpMyAdmin contributions 2017-W07

Last week was mostly spent on bugfixing what can be easily seen from list of handled issues, which got quite large this week.

There is probably nothing extraordinary in the list, just dozens of issues which appeared in the 4.7.0 beta. The final 4.7.0 should be out in a month, so it's really time to polish it. Also it's time to work on translations, so that's something where you help is welcome.

Handled issues:

What's coming in Weblate 2.12

Weblate should be released by end of February, so it's now pretty much clear what will be there. So let's look at some of the upcoming features.

There were many improvements in search related features. They got performance improvements (this is especially noticeable on site wide search). Additionally you can search for strings within translation project. On related topic, search and replace is now available for component or project wide operations, what can help you in case of massive renaming in your translations.

We have worked on improving machine translations as well, this time we've added support for Yandex. In case you know some machine translation service which we do not yet support, please submit that to our issue tracker.

Biggest improvement so far comes for visual context feature - it allows you to upload screenshots which are later shown to translators to give them better idea where and in which context the translation is used. So far you had to manually upload screenshot for every source string, what was far from being easy to use. With Weblate 2.12 (and this is already available on Hosted Weblate right now) the screenshots management got way better.

There is now separate interface to manage screenshots (see screenshots for Weblate as an example), you can assign every screenshot to multiple source strings, however you can also let Weblate automatically recognize texts on the screenshots using OCR and suggest strings to assign. This can save you quite a lot of effort, especially with screenshots with lot of strings. This feature is still in early phase, so the suggestions are not always 100% matching, but we're working to improve it further.

There will be some more features as well, you can look at our 2.12 milestone at GitHub to follow the process.

Weekly phpMyAdmin contributions 2017-W06

Last week brought release of SQL parser with optional dependency on motranslator what made it lightweight to use for third party tools which are not interested in localization. Besides that the SQL parser code got several other improvements as well.

Another important update came to our Docker image which was finally updated to 4.6.6 (sorry, I forgot to do that on release time)

Handled issues:

Weekly phpMyAdmin contributions 2017-W05

Last week was a bit shorter for me due to travel to FOSDEM where I have helped Software Freedom Conservancy on a stand. More than thousand of our users have brought phpMyAdmin sticker from there :-).

There was also some progress on the code of course. Mostly it's about reviewing bug reports for first beta we've released for 4.7.0. We know there are some things broken and we are working hard to fix these.

There was also quite important change on our SQL parser - the localization is now optional, so you don't have to install motranslator as dependency (this is only in Git right now, will be released this week).

Handled issues: