Browsed by
Category: GSOC

My posts related to GSOC.

My "Expected" GSoC Project Proposal to phpMyAdmin

My "Expected" GSoC Project Proposal to phpMyAdmin

Project :- Interface improvements

Umair Khan

Email : omerjerk@gmail.com

Location : Delhi, India (GMT +5:30)

Education : 2nd year Undergraduate Student, Delhi Technological University, Delhi, India

IRC nick : omerjerk

Github fork : https://github.com/omerjerk/phpmyadmin/

Blog : omerjerk.in

Synopsis :-

phpMyAdmin is around 15 years old now. Since then a lot of features have been added to it. And this project continues the cycle of adding new and innovative features. This GSOC project aims at some improvements that are really needed now.

Benefits to the users :-

End users will be directly benefited by this project. This project includes really awesome ideas :). Some benefits I’ve explained below. Others are mentioned in the respective feature request tickets.

Project Details :-

phpMyAdmin, a famous web interface to MySQL, has been around for almost 15 years now. So far, It has been meeting the needs of its users in a very satisfying manner. New features relating to interface improvements as well as MySQL features have been added at times and have made their place significant. But to work parallel with the increasing technology and innovations we too need to enhance the capabilities of phpMyAdmin. Some of the features to be implemented under this project are below :

“Simulate Query” aims at simulating the MySQL queries. Many developers do it by creating a copy of the database/table and then executing the query. In that way it’s going to be a boon. (One of my favorite)

“Allow clicking an approximate row count to get a correct one” will be another great feature in case a user have long long tables.

“Range Search Capability” will aim at getting to the desired results with less hassles.

And so on.

Deliverables :-

  1. All the feature requests implemented.
  2. Fixing the bugs in PMA that I’ll find during my course of GSoC.
  3. To ensure no other feature break due to addition of these features.

Project Schedule :-

  • Up to 18th May (Community Bonding Period) :- Fix more bugs and implement other feature requests that will help me to familiarize more with the phpMyAdmin code-base.
  • 19th May – 2nd June :- In first and second week I’ll implement “Simulate Query” and will start working on “Remove the distinct query window / Add SQL log+history panel”.
  • 3rd June – 9th June :- In my third week I’ll implement “Remove the distinct query window / Add SQL log+history panel” and  “Easy access to SHOW CREATE”.
  • 10th June – 16th June :- In my fourth week I’ll implement “Quick access to real row count” and “Multiple-column foreign key relation”.
  • 17th June – 23rd June :- In my fifth week I’ll implement “Zeroconf PMA tables support”. By now I’ll be ready for my mid-term evaluations.
  • 24th June – 7th July :- In my sixth and seventh week I’ll implement “Improvements for the table editor (index creation)”.
  • 8th July – 21st July :- In my eighth and ninth week I’ll implement “Multi-db privileges adding” and “Range Search Capability”.
  • 22nd July – 4th August :- In my tenth and eleventh week I’ll implement “Support InnoDB for database Query by example”.
  • 5th August – 11th August :- In my twelfth week I’ll implement “Catch MySQL error messages during export”.
  • 11th August – 19th August :- During this period I’ll review all my work and will start writing documentation.

Time :-

On weekdays I’ll spend 4 hours a day and on weekends or holidays I can easily spend whole day.

Bio :-

I’m a B. Tech. student pursuing Mechanical Engineering from Delhi Technological University, Delhi, India. I started development 2 years ago with HTML, CSS and PHP. Later I got involved in Android development. I’m an active member of Google Developers Group, New Delhi. In my free time I love to write code.

Experiences :-

I’ve a good experience with PHP, Javascript, MySQL, jQuery. I’m pretty good at git. You will never face a single problem regarding git from my side :). I’m a Linux fan. Other than these things I’m pretty good Android app and platform development (I’ve some of my patches in AOSP and AOKP) and having nice knowledge of Android APIs.

Most of my projects are open source. You can have a look at my Github here : http://github.com/omerjerk?tab=repositories

My other projects are :-

  1. Working on a website that creates android apps (web code + android code )
  2. A web game written in Dart : https://github.com/omerjerk/CatchThePappu
  3. Working on Unity game engine.
  4. Very good at Arduino micro-controller
  5. An Android app of mine with over 2 Lac installs : Play Store link

Open Source contributions :-

As I said I love open source so all projects that I work on, I make them open source. These are some of my contributions at AOKP and AOSP.

phpMyAdmin contributions :-

My complete list of commits to phpMyAdmin so far :-

https://github.com/phpmyadmin/phpmyadmin/commits/master?author=omerjerk

List of feature requests implemented and bugs fixed so far :-

  1. Bug #4308 Edit routine form submitting when pressing enter
  2. Feature #1505 Behaviour on click on a routine in nav panel
  3. Bug #4305 JS error when editing procedure from nav panel
  4. Bug #4294 output as text radio clickable in case of “OpenDocument Text” in export
  5. Bug #4288 Expand database (+ icon) after timeout doesn’t do anything
  6. Contest-1 Bug #4053 List of procedures is not displayed after executing with Enter
  7. Bug #4248 js error when changing number of columns inside server<status<monitor<settings
  8. Feature #1489 “New” text is visible in navigation ‘frame’ even when no Create permissions exist
  9. Fix inside error_report.js
  10. Bug #4086 Clicking OK from edit popup opens new tab
  11. Bug #4150 Clicking database name in query window opens a new tab
  12. Bug #4144 “DROP DATABASE” displays wrong database name

Favorite phpMyAdmin feature :-

It’s tough to say which feature is best. The whole phpMyAdmin is full of innovations. But if I have to choose one I’ll choose the Performance Monitor.

phpMyAdmin improvement :-

There is a lot of procedural code inside phpMyAdmin. And at most of the places HTML just mixes with the PHP code. Approach like CakePHP framework should be adopted where all the HTML code and all the PHP is totally separated.