Final Coding Week of GSoC With phpMyAdmin

It has been more than two and a half months since working with phpMyAdmin under GSoC 2018. This week is the final coding week of GSoC. This blog post is a brief jouney about what has been done till now and what is remaining.

A substantial amount of code has been revamped and converted into modular code. Although it seems quite clear that the whole JavaScript code-base cannot be modularized before the coding period ends, as there are already some issues related to php which needs to be taken care before the starting of revamping the JavaScript files related to those php files so that the new code can be tested at least once in development.

Progress till now

Almost 70% of the code base has been converted into modular code. During the initial phase of the project, the created pull request became very complex to review ,suggest changes and to test for individual functionality, so the pull request was broken up into several continuous pull requests based on the individual functionality or file change.
But these pull requests were in continuation, so at that time it was not sure that merging these pull requests will break something or not so I proposed to create a new branch in the main repository to merge all these continuous pull request and once the revamped code is tested on this branch, this branch could be merged into master to make sure that nothing is breaking into the master.

After this change in the review technique, several pull requests were merged and many new pull requests were created for merge into the new branch. Some of the pull requests are:
Mod_Js_Config (Merged), Mod_Js_Server_Privileges (Merged), Mod_Js_Console (Merged), Mod_Js_Server_Status (Merged), Mod_Js_Navigation (Merged), Mod_Js_Import_Export (Merged)

The prefix Mod_Js is for differentiating these pull requests from rest of the pull requests. All these pull requests were successfully merged into the gsoc-js-refactoring branch with some functionality break (mentioned in the individual pull request itself).

Plan for this week

The plan for this week is to revamp some of the files related to table into modular code. Apart from that, I am working on some build scripts so that the new code can be used in the production release. The code is being tested in production mode to make sure that nothing is breaking. I will also try to implement jsdoc to create documentation of the JavaScript code.

Plan for next week

The next week is the documentation week for the work that has been done during the Google Summer of Code coding period. So the main focus will be towards documenting everything according to the guidelines mentioned by Google.

If jsdoc is implemented without errors and within the duration of the coding period, I’ll work on implementing better documentation of the functions, classes, and modules which can be hosted on phpMyAdmin developer page.

What’s remaining

The designer part of the phpMyAdmin is yet to be revamped. Apart from that some of the files related to the database like Routines, Triggers, Events, Query By Example are remaining. Some of the files related to the table are also remaining although I am working to revamp them.

Code cleaning, naming and renaming of files correctly are also few of the major tasks remaining.
Old js files has not been deleted yet as the anticipatory changes made in all these old files will be considered after merging this gsoc-js-refactoring pull requests into master.