Skip to main content

How will Joomla develop? The Joomla Roadmap

A translation from: http://developer.joomla.org/cms/roadmap.html

Joomla has big plans for the future of the CMS. Below you will find some ideas planned for the upcoming releases. This order of listing has no relevance.

1. Return the Joomla platform to the CMS

Given the plans to organize the Joomla Framework (formerly Joomla Platform) through Composer and Packagist.org and return the platform to the existing CMS and place it under the supervision of the CMS in order to improve maintenance and directly strengthen the CMS.

This will reduce the duplicate maintenance that the Joomla! bug Squad is constantly faced with when fixing bugs. It will also be possible to add individual extensions to the CMS in the future using framework packages as soon as the CMS programmers can handle the new namespaces.

2. Restore the MVC legacy classes

The Joomla! CMS will restore JModel, JView, JController interfaces (the new MVC classes will still exist if you want to use them). This will reduce confusion and restore the well-known code structure to make programming with Joomla easier. To do this, we started a pull request to roll back the changes. A small temporary team will implement this process and ensure that no basic Joomla functions are affected and that backwards compatibility is maintained.

3. Promote rapid application development

We need a team that keeps an eye on developers' work and finds ways to write extensions easier and faster by exploring the principles of rapid application development. This will include merging and unifying code often used by developers to simplify the work of developing their own extensions.

The Joomla! CMS will create a Rapid Application Development (RAD) library that will be integrated into the Joomla libraries. This new library will provide a set of classes and functions that will allow extension developers to quickly create new code using the new library. This library will have similarities to existing libraries such as FOF or other frameworks. This will require a team of volunteers who understand the needs of a RAD library and work out the positives and negatives of existing frameworks. The new library will meet the wishes of the CMS, but will not initially replace all functions. Excess functions, obsolete code and other non-essential classes and/or functions are not included in order to create the best, leanest library possible without unnecessary and obsolete code.

4. Merging the Legacy Library and the Joomla! Library folders

The Joomla! CMS undergoes a process to merge the Legcy Library and Library folders to create a unified library of classes and functions. This library will be the Joomla! platform and depends on the Joomla! CMS project. This task will require some volunteers to take on this work while avoiding compatibility problems as much as possible.

5. The test environment for the Joomla! Expand platform

The Joomla! CMS is undergoing an ongoing process to continue automated testing for the Joomla! Expand library and CMS files. This process will increase the stability and value of published CMS versions and contributed code. This part will require a specialized team to run the Joomla! CMS must be tested with automatic tests and in a production environment.

6. Offer different Joomla packages

Joomla! CMS requires different versions for different markets. This task requires a newly organized team to discuss the required distributions. The organized distribution of the CMS will simplify and strengthen customizability. These distributions require a lead overseer to ensure that the base classes remain consistent. This task is very time-consuming and will need to be prepared with the greatest care.

Examples: A Joomla Light for developers, etc.

7. Unified Data Model(Unified Content Model - UCM)

The Joomla! CMS plans to unify all content under a single, consistent model (sometimes called CCK or Content Construction Kit). The idea behind it is that articles, web links, contacts and so on are all variants of text-based data. Typically, this is a general purpose object and is expanded with data that is customized for each requirement. This project will need to determine what is the best interface and database schema for this concern. We also need a team to pour the new functions into an interface and plan the process from form to article creation. This change must also support versioning and of course multilingualism. You could also think about sharing created content types.