Clone this wiki locally
List of ideas for Google Summer of Code 2013. Our development efforts aim towards the release of phpMyAdmin 4.1.
For details about participating in the Summer of Code for the phpMyAdmin project, please refer to our GSoC 2013 Applicant Guide.
Possible mentors are listed for each idea; however, mentors generally do not wish to help a student drafting his proposal. You can use the phpmyadmin-devel mailing list to ask specific questions about these ideas.
For a general reference about Refactoring, see http://en.wikipedia.org/wiki/Refactoring.
phpMyAdmin already has some unittests and a start has been made with selenium tests. We would welcome someone who could create more test cases to increase the code-coverage of the test-suite and further set up the necessary scripts to automate this.
Due to the large amount of ongoing refactoring, the major challenge here will be to keep up with changing code and also help others with creating tests.
Requirements: PHP and MySQL knowledge, unit testing experience welcome.
Refactoring: Designer/schema integration
We currently have two pieces of code dealing with a similar topic - designer and schema (export) feature. These should be tightly integrated and refactored to use as much shared code as possible.
This project should at least bring:
- Provide single GUI editor for schema (currently there is designer and editor on schema pages)
- Direct export of schema from editor
- Usability of designer (with schema export) without configuring the phpMyAdmin configuration storage
- Reduce huge duplication of code in schema handling
Refactoring: SQL executor, Column's structure manipulation
The SQL executor (sql.php) is a central part of phpMyAdmin. It needs refactoring and better integration with the other scripts that are calling it.
The tbl_create.php, tbl_structure.php, tbl_addfield.php and libraries/tbl_properties.inc.php scripts handle adding or changing columns' structure. They need refactoring (but some of them already have received some refactoring efforts).
The tbl_indexes.php handles the index creation and modification.
Refactoring: Server view
The Server view is accessible from the main page and contains links like Databases, Status, Privileges, and so on. The names of the scripts involved begin with "server_". They need refactoring (but some of them already have received some refactoring efforts).
The recently removed synchronize feature had many shortcomings, mostly regarding data sync for big tables. However we would like to have first class synchronization support and that would be your task. To prepare yourself for this project, it is suggested to test the removed feature (it was included in 3.5 releases) to find out where original implementation had problems and propose good solution to these in your application.
AJAX error reporting
Please see: GSoC_2013_AJAX_error_reporting
Here is a list of improvements; a student's proposal should include more or less all these items.
Find and replace by column
Navigation panel and current table
reCAPTCHA support on login panel
Change icons in left pane based on the link target
Ajax dialog for editing a view
Export view as if it was a table
Improve "Relational View" Interface
Single Row Editor: Value column too small
Preview SQL instead of executing it
Allow SQL query textarea growable / resizable
On user creation, warn if the user already exists
None of above did attract you? Feel free to come up with your own idea, you can take inspiration from our feature requests: https://sourceforge.net/p/phpmyadmin/feature-requests/
Please note that the project is supposed to take whole summer, so you will most likely have to combine several feature requests to get big enough project.