GSoC_2014_Ideas_List

Michal Čihař edited this page Apr 18, 2016 · 3 revisions
Clone this wiki locally

List of ideas for Google Summer of Code 2014. Our development efforts aim towards the release of phpMyAdmin 4.3.

For details about participating in the Summer of Code for the phpMyAdmin project, please refer to our GSoC 2014 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.

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.

If you want to get started with something, look at incomplete tests in our testsuite and try to make them work.

Requirements: PHP and MySQL knowledge, unit testing experience welcome.

Mentor: User:Nijel

Interface improvements

Here is a collection of requested improvements:

Mentor: User: Lem9

User interface enhancements

In some cases, the user interface has become awkward and could use improvement. This project will be similar to the "Interface improvements" listed above in that it will consist of many smaller tasks, but will focus on improving the interface presented to the user.

Some potential tasks for the project include:

Mentor: User: ibennetch

Structure tools

The goal of this idea is to add the following two features.

Central list of columns

A shortcoming of MySQL is that columns are defined per table, with no central list of columns. Benefits of a central list of columns include:

  • avoiding similar name for the same data element, for example product_id and prod_id
  • consistency of data type for the same data element
  • shortcut to add an element from the central list to a table's structure

The phpMyAdmin configuration storage would be the place to maintain this central list (probably per database).

Referenced in https://sourceforge.net/p/phpmyadmin/feature-requests/1477/

Normalization

It must be possible to examine a database's structure and propose changes that would bring it to 3NF. Some steps can probably be done automatically while other steps would involve a wizard that would ask questions about the elements and act accordingly. Then the proper changes to the structure would be applied. The central list of columns will probably help implement the normalization steps.

More details at:

Note that the principle of normalization is not universally accepted, see for example http://lambda-the-ultimate.org/node/3762.

Mentor: User: Lem9

Error reporting improvements

phpMyAdmin now has error reporting server, which collects information about javascript errors. I'd like to see it extended for collecting PHP errors we get at runtime, so that we potentially see both sides of errors. While working on it, the server itself could use some other improvements:

  • Allow error reporting server to collect PHP errors as well.
  • Make phpMyAdmin report PHP errors to the server in similar way like javascript ones are handled.
  • Better integration of error reporting server with our issue tracking at sf.net.
  • Various other improvements, see https://github.com/phpmyadmin/error-reporting-server/issues

Mentor: User:Nijel

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) possibly without configuring the phpMyAdmin configuration storage
  • Reduce huge duplication of code in schema handling

Mentor: User:Madhuracj

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.

Category:Google Summer of Code 2014