Friday, January 23, 2015

phpMyAdmin work during the fifteenth and sixteenth weeks

Since I had to spend some time on a couple of submissions for part-time M.Sc. that I am following, I took leave on 15th, 16th and 19th, 20th Jan 2015. So I am combining the work done on 6 days over fifteenth and sixteenth weeks here. 

Results display direction was deprecated for a long time due to the additional complexity it brought to the code and we hoped to remove the feature a couple of years back. However, its removal never took place and during the first half I focused on doing that. The related code was quite mingled with the rest and had to take a lot of caution not to break the normal query results displaying.

Code improvements and cleanup
Remove display direction which was deprecated for some time

Usual bug fixing was continued during the two weeks and following are the bugs fixed during the period.

Bugs fixed
#4699 Navigation panel should not hide icons based on 'TableNavigationLinksMode'
           Properly implement 'TableNavigationLinksMode' configuration
#4703 Unsaved schema page exported as pdf.pdf
#4705 Table structure: adding primary key doesn't refresh page
           Reload navigation after adding indexes
#4707 Call to undefined method PMA_Schema_PDF::dieSchema()
#4702 URL is non RFC-2396 compatible in get_scripts.js.php
#4721 Undefined property: stdClass::$version
#4719 'only_db' not working
#4716 Collapse all in navigation panel is sometimes broken
#4700 Error text: Internal Server Error
#4724 Cannot navigate in filtered table list
#4717 Database navigation menu broken when resolution/screen is changing
#4727 Collation column missing in database list when DisableIS is true

Moreover, following bug were investigated during the six days.

Bugs investigated
#4704 DisableIS enabled, only shows information_schema db
#4693 phpMyAdmin sometimes hangs after login
#4701 session_expired URL loop on session expiry via ajax
#4709 Cannot browse table if sorting column is renamed
#1437 Configure Text/Icons/Both separately for tabs and in-table edits

Monday, January 12, 2015

phpMyAdmin work during the fourteenth week

Fourteenth week of phpMyAdmin work drew my attention to both bug fixing as well as feature request implementations. 

Since the bug rush had slowed down a bit I had the chance to look into feature requests. At the beginning of the week I went though the feature requests tracker and identified a set of rfe s the made sense and implemented some of the during the week. So following are the new features that were added during this week.

Feature requests implemented
#347   Allow table with transformed column anywhere in FROM clause
#1450 Improve handling of missing function in ImportXml
#1525 Generate keys one per line, like foreign key constraints
#1590 Recaptcha API v2
#1580 Individual Zeroconf PMA tables support

I enjoyed fixing a very old rfe, #347, which I wanted to see in phpMyAdmin for some time. Implementing rfe #1580 Individual Zeroconf PMA tables support was motivated by the recent work I did in the same area. I also enjoyed upgrading the reCaptcha feature to its new API.

Routine bug fixing was also carried out during the week and following are the list of bugs that were implemented and investigated.

Bugs fixed
#4685 Call to a member function isUserType() on a non-object
#4686 Select elements flicker and selects something else
#4687 Designer breaks without configuration storage
#4688 File permissions in archive
#4691 Do not include console when no server is selected

Bugs investigated
#4510 QBE generates wrong query
#4646 Version Check Broken

Wednesday, January 7, 2015

phpMyAdmin work during the thirteenth week

During this week I attended to a mix of feature requests as well as usual bug fixes. First few days of the week was mostly spent on implementing new feature requests. One of them were regarding the facility to format SQL and I tried implementing it with CodeMirror. CodeMirro did not have formatting rules for SQL and I added a set of simple rules for SQL. However, CodeMirror developers have discontinued developing/supporting the formatting module.

Feature requests
#1582 SQL formatter (proposed)
#1567 Sever Variables Table UI Improvements
#1572 User prefs: Diff-friendly JSON for config

Second half of the week was dedicated to fixing bugs related to phpMyAdmin configuration storage. It started with a fix for ZeroConf functionality, however the fix went on to be quite big (more of an implementation than a fix), taking pretty much two days. I noticed a number of shortcomings in the configuration storage while fixing this bug and I attended to those bugs as well.

Bug fixes
#4675 phpMyAdmin should be able to work without 'examples' DIR
#4676 Auto-configuration issues
#4677 Advanced feature checker does not check for favorite tables feature
#4678 Some of the data stored in configuration storage are not deleted upon db or table delete
#4679 Setup does not allow providing a name for favorites table
#4680 Number of favorite table are not configurable in setup
#4681 'Central columns table' field in setup does not have a description
#4683 Relational data is not properly updated on table rename