The Summer of Code – Prologue

By Ninad Pundalik

Google Summer of Code 2010 is about to begin, and the community bonding period is over.  The official coding period starts tomorrow, so here’s a brief post about what I’ve been upto (other than trying to study for my last semester exams, which I’m pretty sure were a disaster):

  • Set up a fork of the phpMyAdmin repository, which will be my playground for the entire summer at repo.or.cz.  Read up on Git, and try making some test commits.  The GitHub guys have some great documentation, and along with the man pages, they can solve all the problems that beginners like me can have.
  • Use the Netbeans PHP debugger to understand the flow of execution for various events, from the simple loading of the home page (index.php) to changing user privileges.  This helped me in understanding the organization of files and functions.
  • Read the jQueryUI documentation and play along with the modal dialogs, which I expect to use the most while working on this project.

The tasks that I’ve planned to do for the next week are  Deliverables 1 & 2 as mentioned in my proposal, i.e., to write PHP functions that will check the presence of an AJAX request and set some variables in the environment of the executing script accordingly, and, functions that will wrap the output of the existing scripts in well formed XML.

After forking, I realized that the current source of phpMyAdmin already contains a jQuery plugin ( jquery-json ) to specifically handle JSON data, which was added in the repository by Piotr recently.  As per discussions on the mailing list, it has been decided that I will use JSON instead of XML to transfer the data from the server to the client, and I will experiment tomorrow to check if I can safely pass along the generated HTML and inline JavaScript code by a simple json_encode() or if some modifications are necessary.  In either case, I will need to write functions that will wrap the output generated by the existing scripts in the chosen data format.

Along with these deliverables, I’ll be doing some ground work for the deliverables which are to be completed later.  Deliverable 3, writing jQuery functions to modify various HTML elements on the page during an AJAX request needs a list of elements to be prepared.  I’ll put up a link here soon where everyone can help me in building this list  :).  The proposal mentions pages where I will be implementing AJAX features.  However, each of these pages has some major tasks and some minor ones.  I’ll also be making a list of these tasks and post them here, so that you can check if I’ve missed some tasks and help me in making the list as complete as possible.

Even though most of these tasks are simple, it’s necessary to get them right, as they are the foundation for the entire summer’s work.  I hope I get them right.  Here’s to a great summer!  :smile:

P.S.: There has been a minor change in the schedule of the project.  While creating the schedule, I completely forgot about the mid-sem evaluations date and as a result, a task was remaining incomplete on July 12th.  As Inline editing of the table content is expected to be a tough nut to crack, I’ve pushed it to a week later, and I’ll tackle the Insert page instead during the Seventh week (July 5-11).  The original proposal blog post has been updated to reflect this change.