Joomla GSoC 18 with Flavius Andrei Isac

Hello all! Before I jump to the project, I would like to introduce myself.
My name is Isac Andrei, from Romania and I am currently studying Computer Science at ETH Zurich. I did my bachelor at the University Politehnica of Bucharest, during which I have received an Erasmus scholarship at the elite University of Groningen. Last year I have successfully completed the Parallel Testing project for Joomla during GSOC.

During my bachelor studies, I have worked for 1.5 years as a PHP Developer and done freelance work, having my own company. Working in a big company, the biggest marketplace in Eastern Europe, taught me the proper way of development in an organisation, from working on my development environment, code review, staging testing to release the bug fix/feature. I enjoy building complex systems where multiple technologies and resources are combined, I look at each component as a block that will be the foundation of the final product.

Project

The basic idea for the project is to rebuild Joomla models with an Active Record Implementation. This will be a cross implementation of ideas from our existing Model and Table implementations combined with ideas from Laravel's Eloquent Framework which contains a much improved Active Record Implementation.

This is a continuation after the last year GSoC Webservices project, where the limitations of the current Model architecture have been reached.

More details about the current project and last year implementation can be found here.

Community Bonding

Being my second time as a GSoC student for Joomla means that I already had the development environment setup. Still, during the Community Bonding period:

  • I have gone through the project implementation.
  • Updated the project branch to 4.0-dev.
  • Researched Eloquent. Played with the implementation.
  • Understood Joomla Models and Tables.
  • Had a meeting with my lead mentor. [link of report soon].
  • Checked again the working environment: coding standards, etc.
  • Updated the project to work with the new Joomla Framework Router.

Next steps.

During the last meeting, we have decided that I should dive directly into trying to rebuild the Model implementation in Joomla 4.

As a start, I am trying to fully understand the Eloquent implementation and compare it to the Joomla implementation. As decided that we want to keep using Joomla Database Driver, I shall look into what implementation differences would that imply in the current Eloquent architecture. Last, but not least, I will start with a simple implementation of the Active Record Pattern in Joomla, without relations, maybe just a simple select to begin with.