Monday, July 8, 2013

Third week report - Configurable menus

'Configurable menus' feature which I attempted during the third week of GSoC was the biggest I've implemented so far. RFE 316 merely asked for a basic mode in addition to the Advance (what we had earlier) mode. However I decided to implement this in a more generic way where this feature would let the super users configure profiles and assign users to them. These profiles will have limited rights defined and the logged in users would only see specified menus.

Implementation of this feature request includes
1. An interface to add and edit a user group to specify the allowed menu tabs.

2. A user group table which shows user groups and menu tabs allowed for each of them grouped in to server, db and table levels. Each of the user groups had links to edit them and delete them.

3. Ability to assign users to user groups when creating users.

 4. Edit user group assignments.

For the next week I have planned to implement 'Ajax dialog for editing a view' feature requested in RFE 1373. Currently editing a view is facilitated inside the SQL editor page while creation of a view is with a nice dialog. I will change the editing procedure to use the same dialog for editing. This would allow changing of options related to the view easily.

I also plan to start some work on feature 'Hide/unhide tables' (RFE 1385) as I feel it would take more than a week.


  1. When implementing the user profiles, did you encounter any frustrations, for instance the way user permissions are implemented in MySQL? Was phpMyAdmin lacking any feature that would have made it easier for you?

    Which part of this are you most pleased with?

    How do you expect to implement the ability to show a hidden database?

  2. @ibennetch

    MySQL implements user permission based on the combination of 'username' and 'host'. However looking at the other tables in phpMyAdmin configuration storage such as 'bookmark', 'history' and 'recent', all of them are configured to use only the username. So I did the same for this feature as well.

    I am quite pleased with the user group management section, creating, editing and dropping user groups.

    I plan to show an icon next to databases that has hidden tables. Clicking that icon would open up a dialog which would list the hidden tables and would facilitate un-hiding any hidden table.