GSoC 2013 Ideas List

From PmaWiki
Jump to: navigation, search

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.

Contents

[edit] Automated testing

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.

Mentor: User:Nijel

[edit] 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

Mentor: User:Nijel

[edit] 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.

Mentor: User:Lem9

[edit] 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).

Mentor: User:Lem9

[edit] Synchronize data

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.

Mentor: User:Ruleant

[edit] AJAX error reporting

Please see: GSoC_2013_AJAX_error_reporting

Mentor: User:Roccivic

Co-mentor: User:Ruleant

[edit] Interface improvements

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

Hide/unhide tables

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

Configurable menus

Mentor: User:Ibennetch

[edit] Your idea

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.

Personal tools