After many years in the PostgreSQL community, I applied as a co-mentor for the phpPgAdmin project and was accepted. More specifically, the project is about a plugin architecture to extend phpPgAdmin, Leonardo Sápiras has submitted this proposal and was accepted. Jehan-Guillaume (ioguix) de Rorthais is the main mentor for this project.
If we had known beforehand how many questions a simple objection can raise - who knows if I would have been accepted as co-mentor;-)
One of the key issues in the new architecture is how plugins are implemented. Without describing all the gory details, here are the two discussed options:
On one hand this is possible if each plugin make’s his own output, stays in his own subdirectory and is called directly from the browser. Otherwise there is very little interaction with the rest of the code.
Another option is to register all plugins in the phpPgAdmin core and make use of hooks to call certain functions of the plugins whenever necessary.
This question was only raised because the first approach requires including
lib.inc.php from files which are not in the root directory of phpPgAdmin - this is not possible right now. At this point I provocatively raised the question of what a plugin is. And why a completely separate file in a subdirectory may call itself a “plugin”.
The current consent is to implement the second option. This approach offers much greater possibilities. However, this approach may require refactoring of parts of the code in the future to make use of the new plugin architecture. Possibly even as part of another GSoC project.