What difficulties do we confront?
Let’s face it, every two years a large-scale release can be intimidating. In the past we have not been able to manage migrations and upgrades effectively. This was due to multiple factors. The lengthy development process created a large gap between the present major release and the upcoming one. Furthermore, given technology is constantly evolving, a long period of time calls for the integration of many technology-related changes, making the migration process more difficult.
The advantages of decreasing the amount of time to complete a project are evident; however, there are some disadvantages as well. On the bright side, we can respond more quickly to new technology, so the impact of the changes will be minor. If, however, too much time elapses before a major release is made, it could lead to a complete overhaul in order to migrate.
Developers of extensions and templates face difficulties when technology advances rapidly. We recognise that it can be difficult to keep up with alterations in the Joomla structure, which necessitates re-coding to eliminate outdated functions and classes.
No duration is ideal; no schedule that suits everyone. There are always those who benefit and those who suffer; someone will always endure some difficulty during the development process.
At first, certain changes may appear questionable. For instance, why are a majority of the Joomla\Cms\Factory class deprecated and should they be taken away with Joomla 5? It has been effective for 11 years; why should it be deemed as improper now?
We have considered these ideas in the various teams responsible for sending off our excellent, extensible, forward-thinking and sustainable product. However, let us address the issues one after the other.
The positive news
Before delving into what is to come, let us reflect on the current state of Joomla 4. After a development period of seven years, we finally launched the most recent major version of Joomla!. It is, without a doubt, an excellent piece of software. Creating components in the Joomla 4 way requires much less coding than with Joomla 3. Furthermore, the security has been augmented, featuring prepared statements as a means of protecting against SQL injections.
Developments in accessibility have been huge, and the great options available are constantly increasing, including workflows, schedulers, and child templates. The number of features is growing all the time.
The community appears to be in a much-improved state, as individuals are taking steps to fill open positions. Teams are getting larger, and the atmosphere on GitHub, as well as in community chats, is energised. While there is always room for improvement, people are doing their best, and based on the data from W3Tech and other sources, our market share has either ceased decreasing or has even slightly increased.
Achieving success is something that we can easily attain, as long as we follow our strategic plan.
What is envisioned for 5.0?
The centrepiece of Joomla 5.0 is the removal of outdated code, ensuring that the software is future-proof. This will drastically reduce the amount of maintenance required, bringing together disparate sections of the code. Furthermore, the writing of tests will be far more reliable and straightforward in the future.
We aspire to have a coding framework that grants 3rd party developers the capability to ameliorate their code quality and security. Visualise having your code automatically tested just because you are adhering to the Joomla core standard; this is our vision for the future. Notably, we recognise the difficulty of Joomla\Cms\Factory methods which are prevalently employed across the entire system. We are currently in the process of guaranteeing that we will have a solution, so extensions applying this will still be functional in Joomla 5.0.
By upping the minimum PHP version to 8.1 with Joomla 5.0, we will unlock a multitude of advantages and remain competitive in the market.
The launch of PHP 8.1 has resulted in an impressive performance boost for Joomla, in addition to providing the benefit of not having a version that is nearing its end-of-life. This will enable us to utilise more advanced capabilities in the upcoming versions of Joomla, such as fibers, event loops and other performance-enhancing features.
We are aiming to introduce some useful functionality. Regarding Joomla 4, the multi-domain feature was initially a thought, however, after assessing all the needs, we concluded that it would be better to postpone it until a later version since there were other ideas that required our attention and we did not want to hurry the process as it has to be properly operational. Now, with the release of Joomla 5.0, the time is right and the coding mature enough to incorporate this feature into the core.
Currently, we are considering the potential of utilising block editors such as Gutenberg for content editing. To determine if this is a viable solution for Joomla, we are relying on how many volunteers are available to assist us in this endeavor.
The goal is to shift anything related to CSS/template from the core layouts to Cassiopeia. This will act as a Bootstrap-based parent template, and then be altered through child templates. It is possible to generate further parent templates depending on other frameworks like Tailwind or UIKit. We would like to integrate this different template into Joomla 5 if somebody can carry out the required work.
It is a common practice that the majority of advancements associated with a new major version can only be found once one looks deeper into the system.
We are making an effort to differentiate the drivers for MySQL and MariaDB, as these two databases are becoming more and more different. This enables us to provide optimal support for the respective Database Management Systems (DBMS). Furthermore, we are aiming to build the database connections through sockets, which will bring an increase in speed.
Joomla’s database supports a feature called common table expressions, which makes it possible to better manage access rights, categories and menus without the need for an intricate nested set implementation. While read accesses may not be speeded up, we are anticipating a major boost in write access.
What should we do next?
At the moment, our focus lies on two tasks: providing developer documentation and examining all deprecated classes and functions within the Joomla Content Management System. Therefore, with Joomla 4.3 coming out, we are reviewing all outdated code in Joomla. The result of this review will be one of two outcomes.
- The deprecation should be eliminated or
- A code comment should be included that provides a description and full code examples to assist with transitioning away from the use of this code.
It is possible to remove any plagiarism by altering the arrangement of the text without changing the meaning and context. This can be achieved by preserving the markdown formatting.
The way in which we view the world is shaped by the experiences we have. Our outlook on life is informed by the things we have encountered, and the lessons we have taken away from them. Our individual perspectives are affected profoundly by the events that we have lived through, resulting in a unique worldview for each person.
Furthermore, the necessary documentation for the developer migration needs to be completed, which details how to transfer a Joomla 3 extension to Joomla 4, thus making it compatible with the upcoming Joomla 5.
In order to make the Joomla CMS the ideal example of how code should be written, all deprecated code will be eliminated in the forthcoming release of 4.4.
Finally, for the release of Joomla 5.0 RC1, we intend to create a comprehensive suite of Rector rules that will enable automated rewriting of out-of-date code. We won’t be manually changing the areas of the CMS that still use outdated code, but will instead write the appropriate Rector rules for the purpose. These guidelines will be available for developers of extensions so that they can bring their components, modules, and plugins into compliance with Joomla 5 with one simple command line input, and the Joomla\Cms\Factory deprecations will be refactored automatically. Additionally, we intend to enhance the JED checker so that it can provide feedback about deprecated code in extensions produced by third parties.
At this time, our team is completely focused on the development of features like multi-domain. If you think you have something to add that would be beneficial to everyone, please contact us via our regular methods and we can discuss integrating it.
In response to the query asked in the beginning: We are quite optimistic that Joomla 5.0 will be ready on time, with many essential modifications for its future. Nevertheless, this will only be possible with your assistance. We need your coding abilities, and testing capacity, as well as your writing and graphic design skills. Then, we will all be able to enjoy the great Joomla 5.0!
It is possible to remove plagiarism by altering the structure of the text while still preserving the semantic message. This is done by changing the way the words are ordered while still conveying the same meaning.
areas of the CMS that still use outdated code, but will instead write the appropriate Rector rules for the purpose. These guidelines will be available for developers of extensions, so that they can bring their components, modules, and plugins into compliance with Joomla 5 with one simple command line input, and the Joomla\Cms\Factory deprecations will be refactored automatically. Additionally, we intend to enhance the JED checker so that it can provide feedback about deprecated code in extensions produced by third parties.
At this time, our team is completely focused on the development of features like multi-domain. If you think you have something to add that would be beneficial to everyone, please contact us via our regular methods and we can discuss integrating it.
In response to the query asked in the beginning: We are quite optimistic that Joomla 5.0 will be ready on time, with many essential modifications for its future. Nevertheless, this will only be possible with your assistance. We need your coding abilities, and testing capacity, as well as your writing and graphic design skills. Then, we will all be able to enjoy the great Joomla 5.0!
It is possible to remove plagiarism by altering the structure of the text while still preserving the semantic message. This is done by changing the way the words are ordered while still conveying the same meaning.
Original Reference: https://www.joomla.org/announcements/release-news/5863-joomla-5-0-bold-in-one-year-but-can-we-do-it.html