Michal Čihař - Blog Archives for phpMyAdmin

Weblate 2.11

Exactly on the schedule, Weblate 2.11 is out today. This release brings extended stats available to users and various other improvements and bug fixes.

Full list of changes:

  • Include language detailed information on language page.
  • Mercurial backend improvements.
  • Added option to specify translation component priority.
  • More consistent usage of Group ACL even with less used permissions.
  • Added WL_BRANCH variable to hook scripts.
  • Improved developer documentation.
  • Better compatibility with various Git versions in Git exporter addon.
  • Included per project and component stats.
  • Added language code mapping for better support of Microsoft Translate API.
  • Moved fulltext cleanup to background job to make translation removal faster.
  • Fixed displaying of plural source for languages with single plural form.
  • Improved error handling in import_project.
  • Various performance improvements.

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-W04

Last week I focused on our libraries and all they got new major release in last week in order to move into PhpMyAdmin namespace and to follow PSR-4. We've also released first beta for 4.7.0 and looking forward to feedback based on it.

The new phpMyAdmin release also comes with new downloads structure in order to have smaller downloads for most people while provide also one with complete sources as usually needed by Linux distributions. Hopefully this new structure will better fit needs of both groups.

Another thing worth mentioning is that I've received first batch of phpMyAdmin stickers to hand out at FOSDEM, so in case you happen to be in Brussels next weekend, stop at Software Freedom Conservancy stand and grab one of them.

Handled issues:

See you at FOSDEM

This has become sort of tradition for me, but still worth mentioning - I'm going to to FOSDEM this weekend.

This time I have no talk (I somehow failed to submit anything in time), but still I'm there to meet people and listen to some talks. As I've agreed to help Software Freedom Conservancy on stand (in the H building), it's quite likely that you will find me there. You will also have unique chance to grab phpMyAdmin stickers at this stand.

Also if you spot somebody wearing Weblate t-shirt, then it's most likely me ;-).

Weekly phpMyAdmin contributions 2017-W03

After week of vacation, I got back to work. The week was quite busy with quite a lot of handled issues on the table. The bigger focus was on phpMyAdmin itself, but there were some minor improvements to the SQL Parser as well.

I've again focused on the OS X problems with lower_case_table_names settings in the MySQL server and yet another issue was fixed there. While working with that, I've added OS X tests to be executed on Travis CI. This has caught at least one bug which was present in phpMyAdmin on OS X since ages.

Another change important to some users, is that limited phpinfo is returning to phpMyAdmin. In past we've removed it completely as response to PMASA-2016-59, but it brought us quite some negative feedback, so this page is now back without it's dangerous parts. Still this is something you're not recommended to enable on production environment.

Handled issues:

New versions of phpMyAdmin libraries

Today, new major version of all phpMyAdmin support libraries have been released. The major reason behind this is that they all now follow PSR-4 and they are located under the PhpMyAdmin namespace.

Hopefully this will make it easier to integrate within other tools and this really should be last big API change for these libraries. They will be also used by upcoming phpMyAdmin 4.7.0, so that gives us another big commitment for API stability.

Anyway if you want to move ahead, update your dependencies in composer.json accordingly:

On the other changes, the SQL parser also gained ability to produce localized error messages (thanks to using motranslator internally).

Weekly phpMyAdmin contributions 2017-W01

First week in 2017 has been quite busy. There was usual amount of bug screening and fixing on phpMyAdmin, but I've attended other parts of the project as well.

The Docker container got big upgrade to Alpine 3.5 and PHP 7, so it will perform better thanks to performance improvements in PHP 7. Thanks to additional cleanups the image also got 3 MB smaller.

On the libraries side we've started using php-cs-fixer for code cleanup. It all started with pull request for SQL parser, but I've quickly added it to all libraries making the code consistent (this still doesn't apply to phpMyAdmin itself as it has historical mess with own coding style). While visiting SQL parser it got also bunch of fixes which were released as 3.4.16.

Handled issues:

Seven tools that help us develop Weblate

Weblate probably would not exist (or at least would be much harder to manage) without several services that help us to develop, improve and fix bugs in our code base.

Over the time the development world has become very relying on cloud services. As every change this has both sides - you don't have to run the service, but you also don't have control on the service. Personally I'd prefer to use more free software services, on the other side I really love this comfort and I'm lazy to setup things which I can get for free.

The list was written down mostly for showing up how we work and the services are not listed in any particular order. All of the services provide free offerings for free software projects or for limited usage.

GitHub

I guess there is not much to say here, it has become standard place to develop software - it has Git repositories, issue tracker, pull requests and several other features.

Travis CI

Running tests on every commit is something what will make you feel confident that you didn't break anything. Of course you still need to write the tests, but having them run automatically is really great help. Especially great for automatically checking pull requests.

AppVeyor

Continuous integration on Windows - it's still widely used platform with it's quirks, so it's really good idea to test there as well. With AppVeyor you can do that and it works pretty nicely.

Codecov

When running tests it's good to know how much of your code is covered by them. Codecov is one of the best interfaces I've seen for this. They are also able to merge coverage reports from multiple builds and platforms (for example for wlc we have combined coverage for Linux, OSX and Windows coming from Travis CI and AppVeyor builds).

SauceLabs

Unit testing is good, but the frontend testing in browser is also important. We run Selenium tests in several browsers in SauceLabs to verify that we haven't screwed up something from the user interface.

Read the Docs

Documentation is necessary for every project and having it built automatically is nice bonus.

Landscape

Doing code analysis is a way to avoid some problems which are not spot during testing. These can be code paths not covered by test or simply coding style issues. There are several such services, but Landscape is my favorite one right now.

Weekly phpMyAdmin contributions 2016-W51

Week before Christmas was pretty productive with dozen of fixed issues, merged pull requests and various code and infrastructure improvements.

There was nothing extraordinary in bug fixing. One thing worth mentioning is that we were again hit by another PHP weirdness - this time in the openssl library, which emits warnings as errors and stores them internally while the function works just fine and returns expected result. We didn't realize that not picking up the warnings will lead to MySQL connection failure when using SSL.

On the infrastructure side, I've automated updates to localized documentation, so it now automatically follows master (on daily basis), so it will no longer happen that it's forgotten to be updated for few months. As you can see, there is quite big amount of strings to translate there, so any help is welcome.

Also the SQL parser finally got it's translations, you are welcome to contribute there as well (it mostly covers syntax error messages).

This is last report for 2016, I'm spending this week with family and without computer :-).

Handled issues:

Weekly phpMyAdmin contributions 2016-W50

Last week was more focused on bug fixing in phpMyAdmin itself, though some of the libraries (like motranslator) got their attention as well. I've also finally looked at forgotten pull requests with new themes.

Especially OS X users will love fixing long outstanding bug with MySQL running in lower_case_table_names=2 mode. The MySQL server in this case returns table name in lower case in some situations and thus it didn't correctly compare with mixed case one. Hopefully this is fixed for now and I looking forward to another MySQL weirdness.

Another important fix is that future 4.6 releases will be compatible with PHP 7.1. We had the fixes ready in master branch, but 4.7.0 will be released in about three months, so it's better to push the fixes for new PHP version earlier (note that most of the errors were just in the testsuite, most of the code will work just fine).

Handled issues:

wlc 0.7

wlc 0.7, a command line utility for Weblate, has been just released. There are several new commands like translation file download or statistics fetching.

Full list of changes:

  • Added reset operation.
  • Added statistrics for project.
  • Added changes listing.
  • Added file downloads.

wlc is built on API introduced in Weblate 2.6 and still being in development, you need Weblate 2.10 for some feature (already available on our hosting offering). You can find usage examples in the wlc documentation.