Michal Čihař - Blog Archives for phpMyAdmin

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:

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:

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.