Menu
Reading time: 3 minutes
Joomla frustration

Since the beginning are 3rd party extensions an important part of the Joomla ecosystem. In recent years there is an attitude of some people who are active in the core development involved, that the base CMS should be filled with functionality an external extension can do. This is very harmful for Joomla.

Yesterday I had a talk with a maintainer where he showed me a new plugin he wants to integrate into core. It would be a perfect fit to get published in the extension directory. But somehow he did not understand that. And this is happening not the first time. What comes next is my (Allon Moritz) personal opinion and is based on my role as a 3rd party developer who makes now a living out of Joomla extension development. I'm around since 2007 and helped to grow Joomla with different extensions and core development, so I have a pretty good background about the whole changes in all those years.

Why not bloat the core?

The core of Joomla is over 16 years old and grows with every new release. Version 4 has around 296'000 lines of code, not including the generated assets or dependencies. This is massive and every line has a potential security risk. It's the top reason, why the base Joomla installation should be slim.

Every new UI addition increases also the complexity, and Joomla has already an image of a steep learning curve. Onboarding new users is hard. On top of this, every addition needs to be maintained. Maintenance is one of the big challenges in open source and is the cause of burn outs for a lot of good developers.

There was once a movement that the core should be slimmed down and a first step was the decoupling of weblinks. Unfortunately this didn't went as smooth as it should, so there was no energy for other extensions like contact or banners. Smartsearch with regular search is an exception and is done in a nice way in Joomla 4, keeping proper backwards compatibility.

What should be added?

Joomla itself has already a lot of functionality out of the box. It has nice tools to create content, you can build multilingual web sites and has an extensive permission system. Additionally it contains some security features to harden the website. But the big benefit is under the hood with it's extendable API. With that you can implement almost any use case in Joomla. And this is where I see the strong USP of Joomla. That's where we need to invest to ensure a sustainable environment for web site builders.

So the core should add only new functionality which can be extended by 3rd party extension developers and should not get into competition with them. Let's take custom fields as an example. It does offer new functionality for articles but at the same time, every extension developer can integrate custom fields easily into their components or build new custom field plugins. The same happens now with the media manager or workflow in Joomla 4. They are extendable and can be integrated by 3rd party extensions. That's how the whole Eco system benefits from new additions.

2021 prs

Examples

Lets take a couple of examples where we see some failed or successful attempts to replace 3rd party extensions in core:

  • Lazy loading images:
    Since ages the JED is full of optimization plugins for assets like images, so there is no reason why such one should land in core as wanted here. Finally it got removed after a while and was implemented properly for the core views only.
  • Page builder:
    Joomla has very good page builders, some are from top template clubs. Why should the core compete with them and ship one by itself?
  • Captcha:
    A website needs captcha support, so the core must a have system for that. But one captcha plugin is enough to act as example, there is no need to have multiple.

Conclusion

I know there is an argument that every extension developer has the possibility to make a better plugin by him/herself. But there is no point on that when the core has it too as it will not attract people to switch to an external extension. There is no gain for the developer. So when Joomla is not anymore attractive for developers, then website builders will have a hard live with Joomla as with core you can't implement every use case and then you have to switch to other platforms on a long term.

There is also so much to do in core like override update problem or improved help system. Why not improving the core API and expandability instead of bloating it and harming the Eco system? There are more and more developers who quit doing extensions for Joomla or move to other systems like Wordpress. Because there the core is not working against them. The core should be out of the box fast, slim and secure, and not complex.

So my wish would be to actually give the 3rd party extension developers again some trust that Joomla is working with them and not against them.

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.