People still tend to think it wouldn't be a not-so-easy to answer question what content management system (CMS) should be used in their next projects. I believe that kind of thinking derives from the days where no blog software ever existed, no cloud service like the ones we know today was at the horizon and a bit knowledge of PHP and MySQL was enough to create a script that would manage an entire website's content.
Those were the days when content management systems popped in on a daily basis, all storing and displaying the content that the website owners hammered in. It was still the time between 1999 and 2005, where everybody wanted to have his own website instead of a Facebook page. From the sheer amount of content management systems that were around at that time, it was indeed a very hard task to find and evaluate the best fitting CMS.
Since then, things changed drastically
We now live in the post classic-CMS era, with a few popular survivors, which means it should be easy to find a CMS now: just pick WordPress, the most popular "CMS" around, all the people can't be wrong, find a nice theme at themeforest.com and we are inn....but hey, turns out that part is not that easy...
We are past the mobile revolution, cloud services are real and an ever growing market, the social web is fully up an running, plus we want the content that we produce to be published in multiple channels.
Additionally, we want to be sure that we are using a system, connecting all these stakeholders, that grows with us and is best-prepared for upcoming new trends and technologies.
That's where your list of considered popular CMS gets cut by 90% already
Well, let's do a quick and simple comparison and pick the 4 most popular CMS from W3Techs, with WordPress leading, Joomla! being ranked 2, Drupal at rank 3, followed by Blogger.
I guess you realized it already. We have 2 blog related solutions, only one that calls itself CMS (in the classic meaning) and one, Joomla!, self-describing as website platform.
Why Joomla! is no longer a classic CMS but a platform?
Joomla!, so far, is the only big player that successfully adjusted to modern market needs. It doesn't no longer address private website users (though it still can) but almost any-size websites with special and mixed requirements.
It turns out, nowadays, special requirements are the rule, not the exception
Sure, WordPress and Drupal are extendable, too. They nicely adjust to some extend, but they do what they can do best: blogging and managing content. But what people really like about Joomla! is that it deals with anything you'll throw at it.
It's just incredibly flexible.
Where else Joomla! beats the competition?
As user, you wouldn't expect it or even care, but where Joomla! beats the competition is clearly its project organization and code quality by using modern standards in software development. Joomla! is not only strictly object oriented developed but also uses cutting edge technologies and best-practices wherever possible.
The project cares above-average about structured and automated testing (Unit Tests), frequently reviewing and optimizing the code (Refactoring) and development events (Sprints). One famous example of development events is the "Pizza, Bugs and Fun" event, where people from all around the globe work at the same time to find and remove bugs and helping to deliver the most stable platform possible.
This has a direct impact on the flexibility of Joomla!: even rarely used features get their quality assurance and you'll unlikely find a roadblock that would prevent you from finishing your project.
It's a nice example of how a project evolves if you compare the development style of Joomla! 1.0 with the most modern Joomla! version. There are worlds between them and it shows how committed the Joomla! community is to deliver the best quality possible.
Joomla! is heavily making use of the separation of concerns approach. What might be confusing in the beginning turns out to be positively setting it apart from the competition.
From a user perspective, the corner stones of Joomla! are
- Components: execute & render entire, full scale applications in the website's main area, for example articles, shops, forums
- Plugins: hook into all sorts of events, very powerful system to make things possible you'd usually quit on in other systems
- Modules: renders content blocks (comparable to WordPress' widgets, but on steroids)
- Templates: powerful theming system
Components, plugins and modules are called Extensions in Joomla! and combined they are turning your site into a shop, a community, a classic content site, a forum or whatever you want it to be.
There are a lot more not-so-obvious corner stones, such as the Joomla! Framework, a rock solid PHP framework that Joomla! is build on. Any 3rd party developer loves to make use of it as its well known for its robustness and quality.
3. Applications, Applications, Applications
From time to time, there are blog posts or comments from around the scene that describe the above corner stones as unnecessary.
That's easy said, but is it true? The answer is clearly no.
WordPress' counterparts of the above would be plugins (content plugins), widgets (modules) and themes (templates). Would any of those considered as unnecessary?
For components, there exists no counterpart in WordPress and that's where Joomla! again beats the competition:
By having the opportunity to create entire full-scale applications within the platform, Joomla! is endlessly flexible. If you, for example, need to develop your own shopping system and have it using its own SEF urls. No problem, create a router and control Joomla! from within your component.
You can also find one of the many fully blown shop extensions at the Joomla! Extensions Directory to safe you time.
Compared to the amount of features and the complexity behind, Joomla! is pretty easy-to-use. Sure, you will be always quicker with WordPress to create a simple blog post but the advantages shift quickly to Joomla! if you need to do more. For almost any requirement there is either a feature already built-in or you can find it in the Joomla! Extensions Directory.
5. The Joomla! Extensions Directory
If you don't have the time to develop your own extension, you might find something in the Joomla! Extensions Directory (aka JED).
The JED is a very well maintained directory of currently 8000+ extensions. The JED, similar to the Joomla! development, cares a lot about its quality and is run by dozens of volunteers whose goal is to provide a slick overview of the current state of 3rd party extensions.
Compared to the some 20.000+ plugins in the WordPress plugins directory, the number appears to be way smaller. But don't get fooled by that.
While in WordPress, the only cleanup work is done once in 2 years per plugin (if no update happened), leaving a lot of abandoned projects, the JED is constantly driven by humans who take care that only extensions for supported Joomla! versions get listed and also get along with the rules of the JED, which are strictly following the GPL.
The biggest difference between the JED and the WordPress plugin directory is that the JED allows paid listings. This is a good thing, as it clearly tells from the start what will cost you money. Safes you time on installing, only to find out you need to pay.
6. The Community
Joomla! is entirely driven by volunteers who help in the spirit of the GPL. There is no million dollar company behind but only countless people who - for free - help the project to keep going. Not bad what they achieved so far, huh? Now guess what would happen if even more people would help on the project. You can at any time, visit the volunteers portal and become a volunteer yourself!
Joomla! is for sure one of the quasi-CMS out there with the biggest potential. It is a very active project, well developed and future-ready, able to face upcoming demands and user-friendly enough despite its sheer amount of features.
From all these insights it's easy to conclude that...
„If you feel your requirements are special or your site needs to grow in features over time, then Joomla! is the platform of your choice.″