Joomla GSoC 18 with Flavius Andrei Isac

Hello all!
One month has already passed since the start of this years GSOC programme. Time flies really fast, but progress in the project is made at a high and sustainable pace. This post is dedicated to sharing the updates of the project after 4-5 work weeks and the next steps that will be taken.

Entities! The entities project is the base project. Without it we would not be able to accomplish the tasks in the Webservices project. Starting as a new project, I have managed to get a basic implementation going of an Active Record pattern based layer that shall be used as a dependency in Joomla CMS, to implement each table as a DAO.

The main highlights of this approach is that we can now have relations in our models, feature that has been long missed in Joomla models. Up to now, the One to One and One To Many relations have been implemented.

The project fits perfectly in the Joomla ecosystem, as it is using the joomla-framework/database DatabaseDriver for the connection to various database systems. We have decided that the next step would be actually integrating the Entities project in Joomla CMS, in the lib_api branch of the last year webservices project. Taking a step back from implementing features in a separate project, and actually connecting the dots with the CMS implementation will give us important insights about the features that will be needed in the future.

As an end, I will list here the PR’s that got merged so far:

  1. https://github.com/joomla-projects/entities/pull/1
  2. https://github.com/joomla-projects/entities/pull/2
  3. https://github.com/joomla-projects/entities/pull/3
  4. https://github.com/joomla-projects/entities/pull/8
  5. https://github.com/joomla-projects/entities/pull/9

And last but not least, maybe the most rewarding pull request I did so far:

Now, this last one is particularly interesting, because we were needing a special feature from the DatabaseQuery implementation in the Database project, functionality that I have implemented in the Entities project for testing, but needed to be moved to this project. The whole PR was created and merged in the same day, starting with the implementation of the feature, implementation of tests, fixing comments from project maintainer and finally merging it into the 2.0-dev branch of the repo.

This project becomes more and more interesting, and I fell that it will have a deep impact into Joomla development, making a lot of programmers happy. Stay tuned!