GSoC Final Blog for Code Submission

Through this blog post, I’d like to comprehensively document all of my work done through the Google Summer of Code 2018. This involves links to all the blog posts, repositories, discussions and code merges. A huge token of thanks for all the support extended by mentors Deven Bansod and Maurício Meneghini Fauth and the entire phpMyAdmin community for their suggestions and discussions.

Some Important Links:

  1. Github: https://github.com/Piyush3079
  2. phpMyAdmin Home: https://www.phpmyadmin.net/
  3. phpMyAdmin Github: https://github.com/phpmyadmin/phpmyadmin
  4. Proposal Link: Link.
  5. Project Link: https://summerofcode.withgoogle.com/projects/#5118590865375232

The changes done in the code were not merged in master branch. Instead a new branch was created and all the pull requests were merged in that branch.

Link to base branch: gsoc-js-refactoring

The following pull requests were created:

  1. Mod_Js_Config [ Merged ]
  2. Mod_Js_Server_Privileges [ Merged ]
  3. Mod_Js_Console [ Meged ]
  4. Mod_Js_Server_Status [Merged ]
  5. Mod_Js_Navigation [ Merged ]
  6. Mod_Js_Import_Export [ Merged ]
  7. Mod_Js_Config_Js [ Merged ]
  8. Mod_Js_Structuring_1 [ Merged ]
  9. Mod_Js_Sql_Js [ Not Merged ]
  10. Mod_Js_Sql_Profiling [ Not Merged ]
  11. Mod_Js_Db_Structure [ Not Merged ]
  12. Mod_Js_Tbl_Stucture [ Not Merged ]

Features Implemented:

  1. Webpack as a bundler to bundle the static javascript files.
  2. Babel to allow support for module import and export and also to compile ES6 code to ES5.
  3. Package.json as the package manager and yarn as dependency installer.
  4. Dynamic imports to allow code splitting and lazy loading of JavaScript files as modules.
  5. Reduce eslint warning and error in the modular code.
  6. Jsdoc to document the javascript code.

Accomplishments and Leftovers:
A large amount of codebase has been revamped till now. Major parts which are remaining are:

  1. Some of the pages were giving error so they were not revamped like “Query By Example” page for databases and tables.
  2. Database Designer is not revamped yet.
  3. Gis Editor is remaining to be revamped.
  4. RTE related pages are remaining to be revamped.
  5. Error reporting for JavaScript files is not fully functional (Still working on it).

The code is functional now as the php code is edited in such a way to make sure the working of both old code and new code. Once complete code get revamped, then code cleanup for php files can be done to remove functions required for workability of old code.

Blog Posts During the GSoC Period:

Mailing list discussion (phpMyAdmin):