Friday, February 27, 2015

phpMyAdmin work during the twenty first week

Continuing from the previous week I focused more on feature requests. However this did not prevent me from fixing couple of bugs. Most of these bugs were noticed while I was doing something in phpMyAdmin and fixed them immediately. So following are the bugs fixed during the week.

Bugs fixed
#4760 Cannot re-import settings from local storage
#4767 Drizzle: undefined index in mysql_charsets.inc.php
#4777 Some images are missing in Designer for original theme
#4778 SQL error when database list is sorted by additional columns
#4780 Notice when timestamp column does not have default value

From the feature requests implemented rfe #501 regarding the SSL grant option when creating users was due for a long time. Now you can require that the user connect with SSL or specifically X509 or even more specifically with other options. 

Feature requests implemented
#501  Support for SSL GRANT option
#1207 Export users associated with a specific schema/database
#1327 Hide 'Add user' link if user does not have privileges
#1441 Add regexp match when using AllowArbitraryServer
Change tracking activation status from db level tracking page
More default transformations for pmadb

Feature requests investigated
#1182 Use Hex/WKT for Geometry Export columns

Meanwhile, I also worked on some JS coding style improvements.

Code improvements
JS code style improvements

Sunday, February 22, 2015

phpMyAdmin work during twentieth week

Unfortunately the twentieth week was started with ill health. I was not feeling during the weekend, but started work on Monday since I felt little better. However, I was down with flu again and did not work on Tuesday and Wednesday. So, twentieth was a 3 working day week.

During the week I attempted a mix of bug fixes and feature requests. One of the reported bugs was about exporting being limited by the number of tables and this was due to the new feature to allow aliases for db/table/columns. This feature was using empty parameters even when no aliases were used. I reported and fixed bug #4769 which was related to the same functionality. 

Bugs fixed
#4763 Database export with more than 512 tables fails
#4769 Previously set column aliases are destroyed if returned to the same table
Properly align export alias jQuery dialog
Fix persisting column visibility to permanent storage

Bugs investigated
#3481 Designer relations in IE 8

I noticed that there were two feature requests about editors for JSON and HTML and realized that these could be implemented as input transformations. I used CodeMirror editor by adding required JSON and XML modes to implement the features. Since SQL mode was already available I implemented SQL editor as a input transformation as well.

Feature requests implemented
#685  Editor for HTML content
#1275 Comfortable editing of serialize()'d data (Implemented for JSON)
#1481 Need Support Time/DateTime/TimeStamp dynamic columns
CodeMirror based SQL editor as an input transformation

I also made a couple of UI improvements to the view level pages making them more constistent with table level pages.

Code improvements
Make UI more consistent for views

Friday, February 20, 2015

phpMyAdmin work during the nineteenth week

During the week I continued to focus on feature requests. I went onto clean up the feature request tracker by implementing, marking implemented and duplicate ones and even rejecting the ones that did not make much sense. Further, as per Marc's suggestion, a set of feature requests chosen by me was discussed at the monthly IRC to decide on their faith. Following are the list of feature requests implemented and investigated during the week.

Feature requests implemented:
#937  Relations with views like with tables
#1208 Linking from information_schema
#1235 Relation view: move to main "Structure" page
#1241 Browse Field -> Search
#1549 Reset auto-increment when exporting structure
Ability to disable foreign key check when emptying tables

Feature requests investigated:
#448  FK relation popup DHTML window based on multiple fields
#620  (Relations) Display multiple fields for relations
#947  Show edit/delete also when there is calculated column
#1509 Metro theme update to work with 4.1.8
#1526 Make export sql more friendly to side-by-side comparison
#1599 UNIQUE/PRIMARY key index for a partitioned table

Bug fixing did not receive priority this week since a set of keen potential GSoC students were looking into bugs. However, whenever I came across a bug I fixed them. That is why the following fixed bugs do not have bug numbers :)

Bugs fixed:
Remove extra column heading in view structure page
Add missing confirmation when deleting tracking report entries
Add missing confirmation when deleting central columns

Bugs investigated:
#4758 Firefox with auth_type to http with multiple server doesn't work anymore

A couple of weeks back I worked on improving both db and table level tracking pages. However, I still felt that those pages were not in par with other pages and went onto do a number of UI improvements to them. These included sortable tables, adding missing icons, adhering to various UI configuration etc. More UI improvements were done to the central columns page as well.

Code improvements:
UI improvements to the db, table tracking pages and central columns page
Fixing bugs reported by Scrutinizer

Tuesday, February 10, 2015

phpMyAdmin work during the eighteenth week

Eighteenth week saw most of my time spent on implementing feature requests. Marc also suggested I do the same as potential GSoC students were looking into bugs. Similar to the last week I started going through the feature request tracker giving priority to older ones. Some of the requests were out of date either because they had been implemented already or did not make sense for the current version. Following are the lists of feature requests implemented and investigated.

Feature requests implemented
#954  Allow SALT in ENCRYPT function
#1074 Renaming of colums referenced as foreign keys in InnoDBs
#1174 Comment removed from query -> no comment in db function/proc
#1179 Speed up slow triggers by using EVENT_OBJECT_SCHEMA
#1192 ON DUPLICATE KEY UPDATE for loading CSV
#1260 Setting LoginCookieValidity > session.gc_maxlifetime

Feature requests investigated
#1070 db_structure.php : column for table creation and update date
#1126 Allow SQL query textarea growable / resizable
#1129 Allow designer to show other Databases
#1253 Show per table privileges

Meanwhile, I also attended to a set of bugs.

Bugs fixed
#4592 Editing columns (tbl_structure.php) is incredibly slow
#4706 Schema export doesn't handle dots in db/table name
#4745 Tracking does not handle views properly
#4748 Column name center-aligned instead of left-aligned in Relations
#4750 Disable renaming referenced columns

Bugs investigated
#4742 CSV export of query result fails with name problem

Since most of the application use JSON heavily, I wanted to add a transformation to display JSON content for some time and during the week I had time to implement it.

Code improvements or refactoring
New transformation for JSON content stored in databases

Note: I was on leave on Tuesday, 3rd February.

Thursday, February 5, 2015

phpMyAdmin work during the seventeenth week

During this week I spent more time on feature requests compared to other weeks. Since there are a large number of feature requests most of which are relatively old, I started by going though the older ones. Some of them were quite old that they did not make sense in the current context. However, I found a couple of quite interesting ones which were missing in phpMyAdmin and went on to implement them. Following are the feature requests implemented.

Feature requests implemented:
#719  More details in PDF relation view
#767  USING BTREE support for HEAP/MEMORY tables
#801  Built-in transformations and relations
#1096 Cannot enter connection for federated engine table

While attempting #767 I improved the current interface for editing indexes by adding more options which are supported by newer version of MySQL.

I also engaged in usual bug fixing and following are the bugs fixed and bugs investigated.

Bugs fixed
#4729 Display original field when using "Relational display column" option and "Choose column to display" is empty
#4730 Notice while browsing tables when phpmyadmin pma database exists, but not all the tables
#4734 Default values for binary fields do not support binary values
#4735 Floating menu bar appears on top of jQuery dialogs
#4736 Changing display options breaks query highlighting
#4738 Header lose align when scrolling in Firefox v35
#4739 Make index editor work without the Ajax dialog
#4741 In ./libraries/Advisor.class.php#184 vsprintf(): Too few arguments

Bugs investigated
#4732 Some databases not showing
#4733 config parameter 'only_db' ignored