By Niels Braczek on 2016-04-28 00:00 in Joomla X Architecture

The current development of Joomla! X (currently, X == 4) happens in the Pythagoras repository on GitHub.

We tried an incremental approach, i.e., to transform J!3 into J!4 using small steps building upon the J!3 code base, as we decided on the second Architecture Sprint in Athens (Greece). The tight coupling and insufficient test coverage, however, makes it extremely hard to apply the state-of-the-art architecture, which was decided on during the first Architecture Sprint in Odense (Denmark) -- hard from a technical and even more from a management and effort point of view. Experience showed that this would take two to three times the effort as compared to a ground up approach.

So it was just consequent, that in discussing this within the group it was suggested to start from a fresh ground, a clean base, to create the basic architecture, and to port existing functionality in subsequent steps. Instead of building around existing functionalities, we would add existing functionality and libraries, both framework and external, to the clean base, one after one, staying true to previously made intentions. Additionaly we would follow the J!3.x releases and re-use concepts and code from there.

The J!4 Architecture Team decided to try this approach. The prioirity remains to have a on click upgrade for core and minimal backwards compatibility breaks for existing extensions,  yet opening up new ways to do things for those who wish to try them.

It took some time for this approach to come to fruition, to get the clean base to a presentable embryonic stage. Last week, it has left the playground mode, and the clean-base branch was updated with the recent developments.

Since then, work on the Doctrine storage handler has started, which will allow Joomla!X to really support a wide range of database systems. We are now working publically to what we have named the "Chris Davenport Happy Milestone" (CDHM). The CDHM milestone is intended to showcase and prove the architectural concepts.
The next tasks are to add a first horizontal component, handling the state (publish, unpublish, archive, trash, publish_up, and publish_down), and API and CLI access.

It is a goal of the Architecture Group to be able to show the concepts of Joomla!X with running code at the J and Beyond conference in Barcelona (Spain) later in May this year.

Prior to the conference on Thursday afternoon there will be an informal gathering to demonstrate and explain the state of work (details will follow).

After the conference, the Architecture Team will start to cleanup the repository and reduce the number of branches. Issues and pull requests, that target at the 3.x version will be moved to the current CMS repository.

The Joomla! 4 Architecture Team