Michal Čihař - Blog Archives for English

Summer of Code in phpMyAdmin

As the project is over, I think it's time for some summary. I think this year we got quite a good improvements. Most of them are already merged in trunk, but they might need some polishing, especially as the branches were developed separately and now they are first time used together. Anyway if you want to give new code a try, please go to our demo server and play with it!

So what do we have?

Import and export improvements

When I saw the proposal for first time, I thought that this is the best prepared proposal I've ever seen and we must have this student. And it turned to be true. Derek did great job, going in more directions than proposal included and brought great improvements to phpMyAdmin.

To start with import part, phpMyAdmin can now take any spreadsheet or CSV and create table from it automatically, with some kind of heuristics to find out numerical or date columns.

On the export side, he integrated PHPExcel library and phpMyAdmin can now generate proper Excel 2003 and 2007 documents.

The good thing also is that he wants to stay active even after GSoC.

Changes tracking

Even though Alexander Rutkowski was really quited in first half of the project, he indeed did code in that time and he brought feature that will be useful mostly for application developers. You can activate tracking of certain table, all your changes will be logged and you can get SQL commands to replay the changes on other database later.

This can be useful either for monitoring changes which users did or for making changes on development system and applying them later on production one.

Database synchronisation

Zahra Naeem did originally also apply for changes tracking, but as we did not want to have two students on the same topic, we persuaded him to take another project, which was not taken by other students - database synchronisation. This feature is somewhat similar to previous in one use case - you can use it to apply changes from development system to production one. You enter connection settings for two database servers and phpMyAdmin finds out difference between the databases and allows you to synchronize them.

I feel like Zahra felt that almost everything is done in mid-term and slowed down a lot and I'm still not happy with documentation he had provided. Hopefully he will get to that and improve it.

Replication support

This project was mentored by Marc and to me it looks like Tomáš Srnka did good job there. The changes are not yet in trunk, but hopefully they will be merged soon and I will then try to set up some replication stuff on demo server, so that you can play with it.

Permanent user preferences

The only unsuccessful project this year. The student failed to deliver something for mid-term evaluation and because of this he failed. We still have his patch in patch tracker and I think I will try to find time to look at it more deeply, whether it is worth using and cleaning up or it is better to write whole thing from beginning.


I think this Summer of Code was great and I hope next year we will be really a separate project there and not under MySQL hood (not that would be bad, but I think with five students it is better to be directly there than coordinating with MySQL guys). And I hope we will have more students like Derek :-).

Translate Wammu

I feel like I will release new Wammu version in two or three weeks, it would be great to improve some translations. All you need to do is to login into our Pootle server and translate these few (or not so few) strings missing in your language.

If you still prefer manual work, you can still just get po file from Git and send me updates.

PS: If your translation is missing in Pootle and you want to start it, just drop me a note.

Enca 1.10

As upstream author lost interest in developing Enca some time ago, I decided to step up and create another release. Basically it just folds in patches we had in Debian package for some time.

Enca is now hosted on Gitorious: http://gitorious.org/enca, you can clone git repository (I imported older releases there).

So the new release is 1.10 and the changes are quite short:

  • Enca is back alive or at least in maintenance mode.
  • Enca now lives in git repository, see http://gitorious.org/enca.
  • Add missing charset koi8u to belarussian language.
  • Fixed some typos in program and documentation.

You can download from http://dl.cihar.com/enca/.

Gammu test version 1.25.92

Gammu 1.25.92 is out! There are two bigger changes - the RPM packaging and much improved support for messages from Motorola phones.

Full list of changes:

  • Reworked RPM packages (separate libraries and SMSD).
  • Huawei E160 uses encoded USSD requests.
  • Better support for messages on Motorola, thanks to Quintin Hill.
  • Fix reading of SMS backups without text (bug #963).
  • Send message even if SendingTimeOut is null (bug #977).
  • Disabled automatic OBEX for Motorola phones.
  • Increased limits for message length, bump soname to 7 because of this.
  • Changed SMSD tables to be able to handle longer messages from Motorola phones.

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

Ukolovnik 1.2

Thanks to contributions of other people, I can now announce new release of Ukolovnik. It brings possibility to display tasks grouped by category, new theme and Slovak translation.

New code in phpMyAdmin

This evening (CEST), the first code from this year GSoC has been merged to phpMyAdmin trunk. And I think it is really interesting piece of code.

Derek Schaefer has spent his time to improve import abilities of phpMyAdmin. You can now import arbitrary spreadsheet documents and you should be able to get reasonably looking table with all of the data.

And as a side effect, we got better export to various Excel formats (including XLSX).

Thanks Derek, your contributions were really great and it was a pleasure to work with you (especially when compared to responsiveness of other students).

Gammu test version 1.25.91

Gammu 1.25.91 is out! The changelog is short, but all changes are quite interesting - thanks to Iain Hibbert we now have support for Bluetooth on other BSD variants and I spent time travelling around Spain in trains by writing documentation and translating Gammu to Czech language.

Full list of changes:

  • Documented most commands in man page.
  • Completed Czech translation of Gammu.
  • Avoid crash on some Nokia smses (bug #959).
  • Added support for Bluetooth on more BSD systems, thanks to Iain Hibbert.
  • Added new command setsmsc.
  • Added option to disable checking for battery and signal in SMSD.

You can download from usual place: http://cihar.com/gammu/,

Debian users will find packages in experimental soon, SUSE, Fedora and Mandriva users can check experimental repository in OpenSuse Build Service.

Fun with SourceForge.net updates

Recently, SourceForge.net has updated their release system. The change does not seem to be that bad (besides the fact that people got used to the old system and need to learn something new), but the change completely broke their RSS exports for file releases.

But hey, you have freedom of choice! You can either use old RSS feeds, which are not being updated or new RSS feeds, which duplicate same data for all entries. Sorry, these links require login.

At the end I've found a way - you can download whole project RSS, where you ignore most content, but get just the file names and then download separately RSS for each file. And now you have complete data!

Back home from Spain

Yesterday I arrived back from Spain and DebConf, so I should be finally back on track to process mails, bug reports and other similar things. If you're waiting for my reply more than month, you should be soon handled ;-).

I really enjoyed DebConf and meeting all the people there. And as well I did enjoy rest of travel through Spain. Except the day when they stole my backpack in Barcelona. But I can hardly do anything about that, it just made my vacation quite expensive because loosing my DSLR camera with lenses.

Good bye Cáceres

It has been really nice week in here, but it's time to leave. Last night, wake up in the morning and leave by train (in my case to explore Barcelona).

Thanks to all people who organised DebConf 9, from my POV everything went really smoothly and I enjoyed time here. I finally met people I meet daily on the mailing lists and now I can finally imagine people behind those email addresses.

Now it's time to pack my things and finally have some sleep, otherwise I will not be able to wake up tomorrow and I will miss my hardly booked train.