GSoC 2018 contributions documentation

As the end of this year’s Google Summer of Code approaches, this issue summarizes the work done during my project.

During my project’s development, I’ve refactored the existing Twig templates, my main strategy, when it was possible, was to reorganize the functions by putting all the logical part at the beginning, and the view’s at bottom, then I created a new template, and merged all of the templates that were being used in that function, this reduced a lot the number of templates. Another thing that was done was the refactor of Twig’s extensions, I’ve removed unnecessary functions, some were logic, others just returned a template and were replaced by an include statement, the extensions were named by following the following pattern Class_function_name, after talking with my mentor, we agreed to rename all of them to just function_name. I've fixed some bug as well.


Pull requests & commits:

  • Fix central columns in-line edit bug #14286
  • dce39bb: Fix central columns in-line edit bug.
  • Remove md5 twig extension #14305
  • 927fed7: Remove md5 twig extension.
  • Extension removal #14317
  • 5d0fd81: Remove Twig php function extensions.
  • Fix bug reported on pull request #14305 #14341
  • c021125: Fix bug reported on pull request #14305.
  • Refactor db central columns templates #14353
  • be673f9: Refactor db central columns templates.
  • Refactor db designer templates #14372
  • 0d26cfb: Finish db designer refactor.
  • Refactor database templates #14415
  • 9950681: Refactor db search templates.
  • 414c197: Change search test.
  • c032147: Refactor Database Structure templates.
  • 326151a: Fix Qbe casting error.
  • Refactor db_tracking templates #14428
  • f0eab56: Fix code sniffer ServerDatabasesController error.
  • 491ce9a: Refactor db_tracking templates.
  • Fix server databases statistics #14429
  • 05cff7e: Fix server databases statistics.
  • Refactor server templates #14442
  • 15ae8d7: Refactor server_databases templates.
  • 217a0db: Refactor server_variables templates.
  • 28d890f: Refactor server_plugins templates.
  • 36ceaee: Refactor server_engines templates.
  • 7dc44b2: Fix tests for server_engine.
  • Refactor tables’ tamplates #14471
  • bcad25a: Refactor table_tracking main tamplates.
  • e955052: Adapt table tracking main tests.
  • 3b87465: Fix php code sniffer errors.
  • Refactor table search templates #14480
  • 4e81d3f: Refactor table search templates.
  • 108f445: Merge table structure tamplates.
  • Refactor table secondary tabs tamplate #14483
  • 6b08a7c: Refactor table secondary tabs tamplate.
  • Refactor table relation’s templates #14490
  • 7ac2224: Fix secondary tabs bug.
  • a017a8e: Refactor table relation’s templates.
  • 4d31aa5 : Fix phpstan error report mentioned on pr#14483.
  • Refactor server privileges templates #14528
  • 685ccaf: Move privileges’ template dir to server’s.
  • d3dfdbc: Merge template files.
  • Refactor extensions #14541
  • 8333a99: Rename charsets Twig extensions.
  • 04890c3: Rename core Twig’s extension.
  • aee045f: Remove index Twig extensions.
  • 00aea88: Rename message Twig extensions.
  • 76ad22c: Remove partition Twig extensions.
  • 9464cbc: Rename plugins Twig extensions.
  • 78c1d9e: Rename relations Twig extensions.
  • d13a636: Rename ServerPrivileges Twig extension.
  • eddbbeb: Rename StorageEngine Twig extensions.
  • e7d36c2: Rename table Twig extension.
  • 0ba17c6: Rename tracker Twig extension.
  • ed8aadd: Rename Transformation Twig extensions.
  • b65ede4: Refactor Url Twig extensions.
  • 1037b1d: Refactor Util Twig extensions.
  • ad3334c: Refactor Sanitize Twig extensions.
  • 7aaaafc: Addapt for master merge.
  • Remove get_div_for_slider_effect twig extension #14557
  • fc9ccff: Remove get_div_for_slider_effect twig extension.

Highlights

The biggest contribution added by this project was to set a development pattern for the Twig templates that are used in phpMyAdmin.

By setting a directory structure pattern, removing unnecessary extensions and refactoring the existing templates, it will be easier to detach the front-end from the back-end, what will be done in the future, since there’s still a lot of html inside the php code.