So finally it’s here, “The final week of GSoC 2019”. At this point, we students need to submit code and evaluations and provide mentors all the details so that they could evaluate us.

On the issue “Designer should show tables from other databases by default”, this week I reached at a state where I can successfully save the coordinates and all the relevant details required to save a table in a page of the designer but the point where I was stuck was that how to print all the tables(both from the main database and the other database whose tables…

Overall, it’s been a great experience and I loved how google promotes students to actively participate in open source projects. Personally, I got to learn a lot of things while working with PhpMyAdmin right from February this year. I am thankful to the mentors Isaac Bennetch, Saksham Gupta, William Desportes, Deven Bansod and other community members for helping me through out the project.

The blogs posted during the project are:

PR’s created are:

Other than just resolving the issues, I also created a few of the issues which I found while working. Links to the issues created are:

Here is the second last working week of GSoC 2019. During this week(actually it’s more than a week, almost 10 days I guess), I looked into 2 issue which are “Designer should show tables from other databases by default” and “Designer page save fails if dB name contains period.

While resolving the issue “Designer should show tables from other databases by default”, I have gone through the related discussion the code written by Raghuram Vadapalli in this PR. Last week I thought I have successfully reproduced the issue but while thinking of the approach I got to know that I…

One of the problem I was facing last week has finally been resolved. In one of the issue, “Designer Save as enhancement”, earlier the changes were happening as expected but the problem was that it works only when we have a alert message. It doesn’t work without alert message(in last week, I wasn’t able to figure out why). Later on looking into the things, I figured out that there was a problem of synchronization here. To resolve this, I searched for a while and later on found .ajaxStop(). AjaxStop(): Register a handler to be called when all Ajax requests have…

Last to last week we had our phase-2 evaluations and with the help of mentors, I successfully passed in the evaluation. For this evaluation, I thank to my mentors Isaac Bennetch, Deven Bansod, Saksham Gupta and William Desportes.

My mentors review was:
“ You’re continuing adequately with the project. You continue to produce code that is consistent with my expectations. In the past week, your communication has improved as we approached the deadline. Remember that regular blog posts are how the community and the group of mentors follows your progress, so stay on top of them, and even if a portion…

At the end of week-6, I have refactored move.js of the designer section partially and also completed the refactoring work for 2 other files(init.js and page.js). Since there were no reviews by then, I started refactoring rest of the code of move.js.

I have completed the refactoring of move.js by Tuesday(i.e. 16th July). Here I just need to replicate the changes which were similar to the work already done and mentioned in the blog post for week-6. Later this week, I have written and posted the blog posts for week-5 and week-6 which were due from a long time.


As started the work in last week, I finally created a PR which has partially refactored move.js file(around +60, -60 changes were there). I made changes in the following format(for example):
Changed from document.getElementById(‘selector’).style.display = ‘none’; to $(‘#selector’)[0].style.display = ‘none’;
i.e. changed document.getElementById(‘selector’) to $(‘#selector’)[0] everywhere.

For testing purposes, I added an example to show that these kind of changes won’t fail and will work. Here is the example as mentioned in the PR:
Using document.getElementById(‘selector’)

Using document.getElementById(‘selector’)

Finally, the results for the phase-1 evaluations were out and I successfully passed. Thanks to my mentor Isaac Bennetch for reviewing my work and providing feedback at regular intervals.

Now for the upcoming weeks and Phase-2 work, we will firstly resolve and make the possible changes if any for the work submitted for the phase-1. Once done, we will move ahead with the refactoring and improving the file move.js of the designer section. Also, before phase-2 evaluations, I need to complete all the refactoring and improving work related to the designer section. …

This is the last week of coding before start of first evaluations. This week is more of a make-up week with a lot of discussions with mentors so that we can complete the work for first evaluations with complete documentations.

After all these 4 weeks, all JavaScript files of designer other than move.js(the file with more than 2.1k lines of code, which will be refactored in phase-2) and all the documentations have been completed.


Pull requests created in the due time:

To resolve the issues(merging all those commits in a single one) which were there in the PR created last week, I learned how to squash and rebase(as suggested by my mentor). But still, while squashing I faced some other issue i.e. after I enter the command to squash 7 commit messages but I got 784 commits in the next window which we get after entering the command on the terminal. Since I couldn’t figure it out why was I getting this, I copied the code and made a separate PR. …


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store