[Phpmyadmin-devel] GSoC 2011: Browse-mode Improvements ++

Aris Feryanto aris_feryanto at yahoo.com
Tue Mar 29 05:10:55 CEST 2011


Previously, I have emailed some of my suggestions on User Interface Cleanup 
project. But after doing some research, I found that compared to User Interface 
Cleanup project, Browse-mode Improvement project will provide me to achieve the 
satisfied result and bring me higher chance of success.
I have submitted a proposal on this project and also have added some ideas 
besides feature requests listed on the phpMyAdmin Ideas Page. The following is 
my suggestions for this project. Any comment and suggestion are welcome.


This project is intended to improve the convenience of users when using 
phpMyAdmin, particularly when browsing tables. This can be achieved by adding 
the following features to phpMyAdmin:
•Browse recently used tables
•Remember the last way user sorted tables
•Flexible table’s column width
•Reorder table’s column using mouse during browsing
•Show only selected columns
•Integration of navigation bar
•Edit only selected field
•Grid view in the table edit page

Project Details:

•Browse recently used tables

As discussed in the feature tracker , we can show recent tables that have been 
viewed by user as a drop-down list in the navigation frame. To keep things 
simple, the preferences will only show a checkbox “Display recent [#] tables” 
with the [#] default to 10 and can be set by user.

Recently used tables can be stored in phpmyadmin database if it has been 
configured or in session variable if it is not.

•Remember the last way user sorted tables

Sorted column of each table can be stored (if the table is ever sorted) in 
phpmyadmin database or in session variable. When user browse a table, this value 
is read and added to sorting criteria of the SQL select query. This value must 
be synchronized with current database, i.e. when user drop a field, table, or 
database, the corresponding sorting value must be deleted.

Up to three points below are inspired by: http://www.flexigrid.info/ by Paulo P. 

•Flexible table’s column width & reorder table’s column using mouse during 

We can add functionality to adjust width and reorder table’s column by using 
jQuery. Again, table’s column order can be saved in phpmyadmin database or in 
session variable. An option “Remember tables’ columns order” can be added to the 
preference page.

•Show only selected columns

Currently, users have to run a SQL SELECT query or create a VIEW to display only 
certain columns from a table. This is sometimes cumbersome. We can improve this 
by adding a drop-down list in table’s header, giving checklist options to show 
only certain columns. This can be done by using jQuery.

•Integration of navigation bar

Current interface of navigation bar (prev, next) and “Show # row(s) starting …” 
can be integrated with the query-result table. So it will look like a part of 
the table and make user more convenient to use the navigation.

•Edit only selected field

One way to achieve this: modify current edit page to show only selected field.
When user runs a select query, select some rows, and then click edit, some 
variables will be passed to edit page, so it hides fields that are not shown in 
the query result. Alternatively, an option to show/unhide all fields can be 

•Grid view in the table edit page

Sometimes, users want to be able to edit only certain selected rows, but with a 
browse-like view. (Think of actions: browse -> select some rows -> With 
selected: edit)

I am thinking of improving the edit page, so user can have an option to edit 
table in a grid view instead of current edit view. The grid view will be simple, 
2D grid, like in browse table. Each cell will be resizable text field, where 
user can change the value directly by typing in it.

I think this will be a complement of inline edit, since we can edit TEXT type 
value (which cannot be edited in inline edit).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phpmyadmin.net/pipermail/developers/attachments/20110328/bd333f22/attachment.html>

More information about the Developers mailing list