6 minutes reading time (1234 words)

The progression of Joomla! software

The progression of Joomla! software Learn how the Joomla CMS is developed

Joomla! is an Open Source project that allows the development of Websites and applications through the use of tools – sophisticated or not – that allow their creation, such as articles or the construction of modules. With each release, we find new features or improvements that allow easier use for those who want to create their own site.

Who develops the CMS? How are new releases made?

First of all, the distribution of the CMS code is carried out through the GitHub service and the repository is https://github.com/joomla, where there are several projects and the main one is joomla-cms.

To develop Joomla, other software is needed, for example, PHP or Bootstrap.

The community has created the online event Bugs and Fun @home where you can contribute in different ways:

  • Give proposals to the community that allow the innovation of the CMS itself
  • Fix bugs that are present in Joomla
  • Improve the documentation to support the CMS

In the following paragraphs, we will focus on the tools made available to test the new Pull Requests in Joomla.

What are Joomla and the community?

Originally it is necessary to understand the stages of CMS development that lead to the creation of a stable and usable version for your business: the Stable stage. Initially, however, there is the Nightly Builds stage, where the community collaborates with its own ideas, comments, error solutions and all forms of CMS innovation. After the community collaboration stage, you need to continue to make minor corrections to the CMS, such as the security aspect.

Every night there is an update of Nightly Builds where new approved Pull Requests are included.

Initially, however, there is the Nightly Builds stage, where the community collaborates with their ideas, comments, solutions to errors and all forms of CMS innovation. After the community collaboration phase, it is necessary to continue with other phases that allow CMS support for small accommodations, such as the security aspect.

Every night there is an update of Nightly Builds where new approved Pull Requests are included.

In order to work together, two tools must be used. On the GitHub project, we can find two or more versions of Joomla defined by different branches: the stable phase and the one under development. Starting from the development branch, the Nightly Builds stage is generated. With the collaborative tool of GitHub it is possible to collaborate with the community that they are:

  • Issues are used for:
    • Bug reports
    • Fix request
    • Report security vulnerability
  • Pull Requests are patch proposals to respond to Issues + new features/bug fixes made without related issues.

The two resources are:

Let's start with the two GitHub tools. You can open an issue or pull request with a regular and free (instead of Simple) GitHub account, which have several features to give information to the proposal:

  • Description
  • ID of the incremental proposal you need for your research
  • Title
  • Any Tags (Consider that some tags are automatically added to Issues or PRs by the Continuous integration tools that run in the repository or by the maintainers that help to keep the repository clean and tidy).

Every additional information or detail is useful to understand the type of proposal or report made. Joomla also has a website that collects all the issues and the proposals (https://issues.joomla.org), where all the active ones appear.

Contribution to Nightly Builds

The particularity that gave Joomla! with the site of the proposals is with the Pull Request because at the moment of its publication it activates the Joomla bot that generates a page (accessible from the Pull Requests on GitHub) where you can get the image of the last Nightly Builds with the integrated patch and you can find a URL dedicated to the Pull Request. Using the issue tracker website, it is possible to give a structured answer to the Pull Request in order to be able to:

  • Make comment
  • Confirm Pull Request
  • Do not confirm Pull Request
  • Submit test results

In this way, it is possible to see the new patches that the community generates and which ones to include in a future Nightly Builds. After the Pull Request is successfully tested twice, it goes into the RTC (Ready To Commit) status where Maintainers can perform a review and merge them to the codebase that will be included in the following Nightly Builds.

Before you can respond to a Pull Request, however, you should test it by configuring your own Joomla site with the necessary Nightly Builds and applying the patch proposed by the Pull Request.

How to test the Pull Request

To apply a patch in Joomla, you can use two methodologies:

  • Joomla Update
  • Patchtester
  Joomla Update Patchtester
Pro It is already integrated into Joomla You can install and uninstall the Pull Request in a single session of Joomla
Against It becomes complicated to remove the Pull Request  




Joomla Update component

The Joomla Update component, integrated into the Joomla core, detects CMS updates through different channels:

  • Default, where you receive notifications for all updates of the current version of Joomla
  • Joomla Next, where you will receive notifications for all updates of the current version of Joomla and you will receive a notification when the future main version will be available
  • Tester, designed to test new versions and corrections in Joomla. It is intended exclusively for JBS (Joomla Bug Squad) members and other members of the Joomla community who are performing the tests
  • Custom URL, this is not an official Joomla update channel

The last channel can be useful to make quick updates, where you use the URL dedicated to a Pull Request where there is an XML resource with references for the installation of the Nightly Builds image with the integrated Patch. This mode is critical because you need to pay attention if the installation of Joomla is previous to the Joomla image of the Patch, otherwise it causes a post-dated update that can lead to site error.

Joomla Patchtester Component

The Patchtester component is not published on the JED (Joomla! Extension Directory) but you can find it here:https://github.com/joomla-extensions/patchtester.

  • Connecting with your GitHub account
  • Pull Request retrieval
  • Apply the Pull Request patch
  • Disable the Pull Request patch
  • Have the site references of the proposals and the Joomla repository of each Pull Request

With the use of the component, it is possible to use it on any Joomla! image, but the community uses predominantly the Nightly Builds stage. In order to give as accurate an answer as possible, it is recommended to disable the Pull Request to move to the next one. This is to be able to see the effect of the Pull Request on the last Nightly Builds and to give as complete an answer as possible.

With the use of these tools, you can integrate with the community to support the new features of the CMS. The innovation focuses are multiple, such as

  • New features of Joomla, as for example see the "Save to Menu" feature of an article to save it already in a menu to be realized
  • The support for new features of the projects on which Joomla! is based, such as Bootstrap

and many other features that make the CMS innovative and easy to use.

JoomlaDay Chicago 2020 Recap
Community Openings - October 2020


Already Registered? Login Here
No comments made yet. Be the first to submit a comment

By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/