Is Joomla Right For You? Magic 8-Ball Says...

A lighthearted and honest analysis on whether your website should be built with Joomla.

Between this and the magic mirror, I'm just not convinced psychic manufactured goods are the major stakeholders here.Despite constant uncertainty about its future, Joomla remains a good choice for some websites. SOME websites. And, regardless of the kind of website you intend to build, Joomla remains attractive to the do-it-yourself crowd for many valid reasons.

However, it can also be the one fatally flawed decision in an otherwise good plan. Here, I'm going to help you understand the variables which determine whether Joomla is exactly right for you, or whether you'll dodge a bullet if you steer clear of it. It really isn't magic, so let's throw out the magic-8-ball gimmick immediately after the fold. Instead, let's talk about one or more use-cases that match your website.

For Every CMS, There Is a Season

...and/or a reason. 

Joomla is for hands-on, all angles. A serious-sized chunk of that hands-on nature is mandatory if you want to keep your website. However, things in Joomla change, so if you intend to work personally hands-on with Joomla, you'll be forced to keep your brain up with the Joneses, and that can be quite a treadmill. 

Here I'll talk about four impulses you might be feeling with regard to getting a website. Then I'll try to help that hypothetical person understand what they need to know to make the right decision about Joomla.

Case 1: You Just Need a Website, Dammit

This is for you who want to say a website as simply as you would a newsletter on paper with physical materials. You who don't understand how all this new technology manages to make things so much harder!

You either do or don't definitely want Joomla. Definitely.

Some types of sites should not be built with Joomla, unless you, or someone trusted, will always be there to connect the right call for your business, to the right button in Joomla.  For example, a site with very many sections can get progressively more sluggish, the more sections you add -- sluggish in both the front end, and back end. This can be mitigated at a cost: in this case, via longer and more tedious work-flows, by separating the sites. Timely software updates and blocking security vulnerabilities are sink-or-swim priorities for a popular site. The list of ways it is possible to fail Joomla's work-flow requirements, and get a fouled site because of it, is long.

Joomla's sweet spot is in the middle ground of size, complexity, and functionality. By functionality, I mean specifically advanced features, like allowing user input direct to the site, via forms, to be stored in databases; or to be processed, etc. At that middle ground, your investment in time learning Joomla, or expense in hiring a Joomla expert, replaces a life-long study. For sites not needing hundreds of pages, or not needing any major computational features like processing and database storage, it's a question of whether you'll make use of the power, or fall victim to a failure to obey the necessary work-flow to survive.

Importantly, about that site with hundreds or many dozens of pages: someday you'll want to change-out little boxes, such as menus, or some little notice in the sidebar. Having some technological tool in place which is already capable of that, and setting those spots in your site to use those features correctly as early as possible, will quickly become a priority to anyone who tries replacing them manually without some such tool. Joomla does that, of course; but as you will see, the question of whether Joomla is overkill for your site, or just right, or is maybe even not enough, depends on lots of factors. For "Just a website, dammit", it really comes down to whether you'll be stepping into hundreds of articles anytime soon, and whether you'll keep it up to date.

Many years ago I had a teenage client with an online flower shop, who had a nasty competitor, who hired someone to hack that flower shop. It wasn't being kept up-to-date by its owner, so it was ripe to be hacked, and had to be rebuilt from scratch. Had he been using a simpler system which forced him to do more work up front but which didn't require periodic system updates, or had he been doing those updates, he'd have been fine.

To make your decision, you'll need to identify yourself on a spectrum to determine if you're in that middle ground usage pattern, and whether you can reliably add website maintenance to your schedule 2-4 times per year.

Case 2: Kitchen Sink, Plumber Not Included

This is for you who eventually envision a forum, no wait a social network, no hold on a social network with apps, like a more hip version of Google Plus, with like maybe a Twitter-YouTube over here, because you never understood why they didn't just do it all in one place, and then the monetization could go here...

You absolutely might or might not want Joomla.

For one thing, if you can afford it, and you're ready to fund the whole thing now and launch a public beta within the next year, move along. I'm serious. If you and your upwards-100-thousand dollars are ready to go, then Joomla is not for you. You need something you are completely in control over. You will not be able to keep Joomla up to date, and stay in control. You might, or might not, want to fork Joomla, or you might just want a consultation about determining a way forward.

Otherwise, if you'd be lucky to bring ten thousand dollars to the table for this project, it depends on where you intend to start your project. By that I mean, where in the features-list. Getting different people with different roles, into a system and chomping on the right information? Joomla can do that. Attaching features to same? Can-do. Almost anything any website can do, Joomla can perhaps do better, but the more complex that thing, and the more mission-critical it is at the beginning of your website's life-cycle, and the more people using that website per second, the less sense Joomla begins to make.

Joomla is not for high-traffic websites, so the specific features managing the chatter you hope will skyrocket, should be built via some other technology. I recommend you avoid PHP-based technology altogether for that. The same goes for high-stakes e-commerce. If you have a long ramp-up period before you splashdown your space station hot tub of a killer website, Joomla may be right. On the other hand, if you intend to catch wind immediately and hitch even more things to it later, there are at least some parts of that website, or its set of priorities, Joomla probably won't handle correctly.

All of these possibilities (with or without Joomla) require considerable staffing, because what you publish will no longer be under your control, and any popular website is always the target of security attacks; the more popular, the more plentiful the attack and more varied the types. 

This type of business model is probably a bit like running an electronic version of the entire Disney corporation. Everyone's running around the theme park trying to have all the wrong ideas of fun, while some people are only there to react in unpredictable ways to something someone else said on your channel, and no matter how much money you spend to keep it all running, everything it's made of is constantly getting older. 

So, the upshot: Joomla may be a good starting place for you, and the website you build now might be your website for investors for a good long time.

Case 3: Addicted to Buttons and Bolts

This is for you who have drooled a bit every time I talk about the deliciously obtuse work-flows and the constantly renewed reams of required reading. I'm afraid I have some bad news for you. You knew I was going to say this. Oh, who are we kidding? This is what you thrive on. Well, let's get to it, and through it:

Don't even think about not thinking about whether or not to use Joomla.

You should probably just bite the bullet and use Drupal. In fact, if you should really be thinking about Symfony, then I suggest you stop thinking about PHP and switch to Python, Java, or something else. Other open source platforms exist based on better technologies, and if you've got the skill to make it happen your way, you could save time by meeting an existing project halfway, rather than doing it all yourself.

But maybe you just want a nice, ready-to-go command center. You don't need to know what goes on under the hood, you just want it all to work, and you want your hands on things at all times, constantly improving and reacting, trying this and trying that, building nonstop. You have minimal interest in the platform and fundamentals except when there's a problem preventing you from blasting off to the sky by pressing every available 'GO' button.

Well, here's the thing. Those are slightly contradictory desires, at this stage of the web's development, especially when it comes to the open source world. Thanks to the constant speed of open source development, combined for paradoxical effect with its penchant for constantly moving on to new ideas, fundamentals change too fast, making it harder to drink any one total paradigm so deeply as to become a savant, even just at the controls. We're talking about update cycles varying from six months to two years, which can sometimes come with fairly random changes or additions in features, with fairly random quality of implementation. Too many tasks, at this point, require both reaching behind the scenes to make standardized custom changes via code, and/or keeping up with incremental changes to a single such work-flow, per task. Someone has to be deeply involved, in order to be so hands-on.

With Joomla even more so than most other options, there is simply no escaping a considerable learning curve: if you intend to have your hands on this many dials, expect to get very familiar with the machine, or else.

But if you want a powerful-yet-quirky industrial web tool, one firmly in the middle ground between long-term potential and short-term possibilities, one good enough for plenty but not so powerful that you should feel encouraged to try and rest skyscrapers upon rowboats, Joomla may be a good, if temporary home for your obsessions.

Case 4: Castles of Cards

This is for you who already know, the typical lifespan of a five year plan, is something, like, twenty minutes. You who know that in business, shit happens, so you always have to be ready to tear down and rebuild. You who believe that if someone is not ready, they should seriously question their immediate-term plans with respect to how they focus their business. 

There's every possibility that you have no choice but to shortlist Joomla.

You need multiple forms of dedicated IT staff . For one, you'll want a good 24-hour monitoring service -- there's no substitute for knowing in less than 24 hours if you've been hacked. Getting hacked when unprepared, is more expensive than you'll want belabored. On the note of disaster recovery, Joomla has specialized needs for backups -- the database and files effectively need to be synchronized, and yes, you can get partial backups. You never want to fully automate these processes, they frequently go wrong; that's especially true on well-used or highly developed sites, as all work involves the introduction of new potential points of failure.

That paragraph is also true of other tech-assisted publishing systems, except for the part where I said, Joomla.

If you website is temporary, you actually might not even want to use a CMS at all. If you or your designer would struggle to use Joomla, whereas you can practically machine-print flat HTML websites by hand, and the websites will only last a season, the question comes down to functionality and frequency of update.

Despite the learning curve that does exist, dropping new features of any kind into a system such as this, actually couldn't be much easier. Joomla is sometimes a system of obtuse-but-essential, layered switches, making simple things a little more of a chore, in order to ensure access to advanced, or alternate, functions. Yet Joomla's system for adding and subtracting features, the Extension Manager, is not too dissimilar from the app store on today's mobile devices -- a proud first, and well-executed, considering its class of project in the open source world. It even adds the equivalent of new shortcuts upon installation, albeit disabled to preserve your control over your site -- and only if the creator of the add-on feature remembers to use it. Your developers will get up to speed quickly -- that side of the documentation is, mostly, serviceable.

If you ever want to decommission the effort expense on a website while leaving the site up somewhere for history to admire, it's probably wise to archive the site manually. Remove the Joomla software from the equation by saving the retiring site's final state as a flat-HTML-based site. This removes all features, which may expose an error message here or there if anyone tries to use dynamic features that have been disconnected from any back-end processing. Your IT staff can yank out any such decommissioned forms and scripts without too much trouble, even automatically with proper skill. Alternately, you can plan ahead: use the Joomla admin panels to switch off all those proverbial lights before you archive the site.

The risks between birth and retirement of website, more than justify the cost of that IT staff, and the cost of keeping them immersed in the ongoing evolution of all things Joomla. One is dependent to the degree one depends: avoid adding too many out-of-house solutions, or you'll lose accountability over your own projects. I'm saying this as a freelancer who doesn't accept long-term hire: you need a permanent hire, if you need to reach the point of flinging new Joomla sites like they were business cards.

If you're on small resources and have few long term concerns, but need to be flexible and have an immediate impact, and you've got your eye on just one or two key extensions, the answer is that yes, you'll have a scaled-down version of your project done soon. The access control logic is a little difficult at first but worthwhile, and just remember - it's probably in Menu Manager. Whatever it is that you can't find the option to change it, on that page, where you just want to change that one little damn thing. It's probably in Menu Manager. Or Module Manager. And remember that, too: you didn't forget which one: it could be one or the other.

Conclusion: Haphazard Shape, Deluxe Taste (If You Like It)

You build a website by putting content together: text and pictures, links and menus, scripts and styles, and so-on. The less you want to know, the more you want a CMS, but with great power comes some required reading. If you can do with a lot less control, or if you have the resources to mix and match competently, without the system making that easy for you, then the other open source CMS offerings might be better for you. Joomla is not the best blogging platform, unless you intended to architect that blog feature by feature on a blank digital wall, using nothing but construction paper and scissors and highly detailed wishing.

Modestly-scaled projects needing user interaction features beyond the cursory, can make good use of Joomla. 

Large sites, however, test Joomla's limits; as does any site whose very business model requires thriving under heavy traffic, such as e-commerce or social sites. In addition to the fundamental question of scalability, you also cannot expect to mish-mash a long list of free features from separate developers into Joomla, and expect it to age well, as your site becomes a high-traffic success story. The greater are your traffic expectations, the farther you want to go away from Joomla, and PHP after a point. The longer-term, higher-stakes, higher-functionality your website's features are needed, the more I recommend avoiding PHP altogether. 

However, medium- or small-scale projects, with custom features written in-house and limited use of 3rd party code, are Joomla's strong suit. Your work-flow expectations are also of paramount importance, as Joomla's are very demanding, and not merely because of its hitherto traditions of serving generous exposure to options, by half. 

Stay up to date and expect to sink a vacation's worth of free time boning up on many fundamental topics at the beginning of your learning curve, as if it was college finals. And then expect another two or three semesters, minimum. (Some of it just to learn minimal operation skills.) The more Joomla matures, and/or seeks business users in greener pastures, the more it will become under attack, and it is primarily how you use Joomla which determines your exposure to that risk.

© 2018 Nathan Hawks

Friends are just enemies who've decided to kill you with kindness.
A lover is someone who actually gives a fuck.