Wednesday, March 25, 2015

phpMyAdmin work during twenty fourth week

The highlight of the week was updating metro theme to be compatible with upcoming phpMyAdmin version 4.4. The decision to have an alternative theme was made at this months online team meeting and metro theme was selected for this upgrade since most people preferred it and it happened to be color blind friendly.

My approach to update the theme was to basically go through all the commits related to styling changes since 2013 (when metro theme was up to date). This was to make sure that no layout styling goes unnoticed. However, this was quite time consuming. I also went on to style some of the jQuery dialogs, so they are in harmony with the rest of the application. All the commits related to the theme upgrade can be found at https://github.com/madhuracj/metro

Even though metro theme had its sprite generated most of its original icons were missing. So I decomposed the sprite image to get the individual icons. However, when regenerating sprites with all the images a part of sprites looked washed out. I am attending to this issue right now.

During the latter part of the week I also attended to some bugs. Here are the bugs that were fixed.

Bugs fixed
#4802 Changelog page is not working
#4804 Undefined Index after export schema
#4806 Unable to work with two different databases in two tabs
#4810 Broken find and replace
#4812 Issues with index dialog while creating a table
Fix missing title for MySQL documentation

Moreover, following feature request related to specifying indexes while creating table was implemented. Meantime I went on to clean up the code related to this feature.

Feature requests implemented
#1626 Display/edit index name

Tuesday, March 17, 2015

phpMyAdmin work during the twenty second and twenty third weeks

I was on leave on the first three days of the twenty second week. So here I am combining the work done on the rest of the twenty second week and twenty third week into a single blog post. 

During the two week I attended to bugs, new features, unit testing as well as to general coding improvements. Following are the bugs fixed during the period.

Bugs fixed
#4758 Firefox with auth_type to http with multiple server doesn't work anymore
#4779 PMA_Util::parseEnumSetValues fails on enums with UTF-8 values
#4789 Views aren't dropped when copying a database
#4790 DROP TABLE/VIEW IF EXISTS are not tracked
#4791 Zoom search: js error
Compatibility with central columns of version 4.4

Bug #4789  was figured out while attending to a feature request related to tracking and bug #4758 arose from another fix from infamous 'Token mismatch' problem.

Following are the feature requests I worked on during the period. Pagination for GIS visualization was necessary as visualizing all the data from the table made the browser unresponsive when there were lot of data.

Feature requests investigated
#900 Add one option to disable SQL_CALC_FOUND_ROWS
#1300 tracking changes of store proc, triggers, events

Feature requests implemented
#1306 add lock tables, disable keys options
Pagination for GIS visualization

During the period I attended to a number of improvements in the central columns page. I changed how the 'extra' column is handled and now it stores value as a comma separated value which is readily compatible with data from older version. I also rewrote most of the unit test related to central columns and attended to fix UI inconsistencies I detected on the page.

Unit testing
Rewrite unit tests related to central columns

Code improvements
Improve `extra` value handling in central columns
UI improvements to central columns page
Being able to use multiple servers at the same time when using cookie auth
Metro theme upgrade to be compatible with 4.4 

While looking into a feature request regarding the ability to use multiple servers simultaneously I figure out we need to have initialization vectors per server and added it. This was later ported to QA_4_4 branch. At the online team meeting it was decided to update metro theme to be compatible with the upcoming version 4.4 and I started working on that. I am continuing this work to the next week.