Step It Up: When to Upgrade Your Joomla Website to DotCMS

Firstly, let me get this out of the way. This article is not about bashing Joomla. I've been using Joomla for website development since the early days of version 1.5. I've built 100+ Joomla sites in 1.x, 2.x and 3.x. It's perfect for small organizations with limited budgets and who are serving up low-load websites. It's an excellent tool for small projects.

But in enterprise level environments Joomla struggles. A better tool is needed.

When I talk about enterprise environments, I mean:

  • Websites that are spread across multiple clusters.
  • Websites that need seamless failover.
  • Websites with millions of database records.
  • Websites that are receiving thousands of unique visitors a day.
  • Websites with more than 250 active users.
  • Websites that require robust reporting and logging capabilities.

Here's when you know you need to make the upward move to DotCMS:

Your Joomla Site Needs Faster Performance.

Page load speed matters. Just ask Amazon and Google.

Joomla is driven by PHP, and tt has to query the database for each and every page load. This means pages will take longer to load. Some of this delay can be mitigated by enabling Gzip and page caching, or by installing third party plugins like JotCache and JCH Optimize.

DotCMS is driven by Java, which is generally regarded as a faster programming language than PHP (due to its compiled state). DotCMS also uses ElasticSearch to reduce the number of times the database has to be consulted for each page load. The faster language and the reduced dependency on the database means DotCMS will deliver content faster, especially during times of heavy usage when speed really matters.

Your Joomla Site Needs More Robust Content Management.

Out of the box, Joomla comes with a basic article manager. Articles can have a title, content and can be stored and organized in categories. Content management can be expanded with components like K2, SobiPro and Seblod, and content is displayed in an all or nothing fashion.

With DotCMS, you can create just about any kind of content imaginable. Backend administrators can build their own content structures, and website authors simply fill in the details for different types of content. If you are familiar with how SobiPro works in Joomla, the concept is the same. In my own personal experience, as powerful as SobiPro is, administration always felt pretty clunky. DotCMS makes creating these content structures a much simpler process.

DotCMS also uses the Apache Velocity templating language to aid in the display of content, giving savvy editors the ability to completely customize what part of the content gets displayed, and how it looks on the page. This sort of templating language is completely lacking in Joomla, and provides a huge advantage to DotCMS sites.

Your Joomla Site Needs to Scale.

Joomla doesn't scale. By scale, I mean Joomla can't be spread out across multiple servers to provide boosts to performance and seamless failover. Without tons of core hacks, Joomla is a one-server pony.

And that's usually fine for the vast majority of Joomla sites that are only serving up a dozen pages to less than 100 unique visitors at a time.

But when you need to serve content to hundreds or thousands of unique users at a time, you will need multiple servers to handle all that load.

DotCMS is built to handle this right from the get-go. If you need more power, you can easily spin up another instance of your DotCMS site, add it into the mix, and balance the load between as many servers as your website requires. It takes just a few minutes to add each DotCMS instance. DotCMS also comes with the built-in ability to push changes between environments. With one click you can send a file update to the rest of your dotCMS installations.

You Need to Manage Multiple Joomla Installations.

Just like Joomla is a one server system, it's also a one site system. To manage two different Joomla sites, you will need to log into two different Joomla administrator backends.

Multiple sites (called "Hosts" in DotCMS speak) can be managed from one administration interface, making life much simpler if you need to work between many different websites. Only one system core needs to get updated. As an admin, you will only need to work on one set of plugins.

You've Hit the Ceiling on Joomla's User ACL.

It was a really big deal when Joomla rolled out it's user Access Control List (ACL) system back at the launch of version 2.5. It gave website developers tons of permissions options that simply did not exist in earlier versions of Joomla.

But even this system has its limitations. If you need something that provides more flexibility and the ability to get really specific about user accounts, DotCMS provides a powerful, granular user role system. DotCMS roles bear a resemblance to the Joomla ACL, but they are much more flexible out of the gate and can be easily created from scratch.

Administrators can also give each individual asset custom permissions in the DotCMS backend, allowing for a very specific rights and privileges for each and every user. In my personal experience, managing user permissions in DotCMS is more straightforward in complex websites than it is in Joomla's ACL.

There's much more I could cover here, including DotCMS's RESTful API, database pooling and OSGI plugins. This provides a good starting place for making the decision to move up from the prosumer solution that is Joomla, to the more professional solution: DotCMS.

Say Hello

Near the Cleveland, Akron or Medina area and want to stop by our office? Let us know and we'll get the coffee and whiteboards ready. :)