Outgrown Joomla?
Most of my clients are companies that started off with a simple Joomla website years ago, either because they arrived at it by evaluating the CMSs strengths against other systems, or because the initial designer they worked with worked with Joomla, and so they ended up with the system by default. Fortunately, these businesses grew, and the requirements they demanded from their Joomla site became more specialised.
While new businesses often buy commercial extensions that are by nature a one-size-fits-all setup, in a growing business it's less acceptable to have your business systems dictated by your Joomla extensions. So what can businesses who feel like they've outgrown Joomla do?
Persevere with 'Close-enough' extensions
Many of my clients have almost accepted that they're going to have to stick with what they've got, perhaps adding in further extensions to try to plug the gap between what they have and what they need from their Joomla application. Often this just exacerbates the stresses they're having with their Joomla system, by introducing yet another square extension into the round hole they need it to fit.
There are a number of problems with this approach:
- It's not wholistic- it addresses particular functionality you require from your site, but not how all of the functionality works together. When you have multiple developers all trying to predict what businesses such as yours need from their components, then you're bound to get different way of doing things.
- It often leads to offline solutions- a lot of my clients have been inventive about the ways they use paper or spreadsheet-based systems to perform functionality that they can't massage out of the commercial extension they use. These things often put in place as a 'quick fix' end up becoming deeply-entrenched tasks that waste time and detract from the efficiency of the business.
Non-Joomla code libraries
A recent client had a solution based on a codebase they found online which contained it's own administration interface outside the Joomla admin. In order to import CSV files into database tables, the interface at www.mywebsite.com/csvimportadmin was a folder not designed for Joomla which a non-Joomla developer was able to drop into the directory structure in order to fulfil this limited functionality. Whenever any other admin within the site was required, staff knew that they needed to log into the main Joomla admin. There was some attempt to synchronise the logins to the new systems without using the Joomla codebase.
This approach as distinct disadvantages:
- It doubles the number of libraries that need updating and patching for security
- It means that your Joomla developer needs to get their head around a bespoke codebase that is outside the control of the Joomla system
- It means that integration with the Joomla UAC or other core Joomla functionality is extremely difficult
Start again using something else
It's tempting for businesses owners whose processes have been hamstrung by an clunky Joomla site to believe that the problem is with Joomla itself. As patience wears thin, many clients I have spoken with express the opinion that Joomla is inflexible, difficult and 'can't do' what they want it to. No doubt they've had a discussion with a Drupal or Wordpress developer who has painted the picture that their respective CMS will do exactly what they want out-of-the-box, and preempt their changing business in advance.
There are obvious pitfalls with this approach:
- It's very expensive- Starting again is the type of thing that should only be contemplated if you have a system that is inherently insecure, poorly supported or lacks extensibility. None of these things apply to Joomla, in fact the reverse is true. Joomla is extremely secure (if set up and maintained correctly), has a lively support community and pool of talented developers, and has oodles of (often latent) power under the hood just waiting to be used.
- It's wasteful- Migration to a different platform requires that content and user data needs to be migrated to a form that fits with the new system. It's often difficult when you're not happy with your site to focus on the things that it's not doing right. But often this obscures just how much Joomla is doing right, in terms of controlling access to resources, managing user data and presenting content.
What can you do?
The most important thing to do is to take a wholistic approach to fixing your Joomla site problems. When cash is extremely limited, it's tempting to 'patch' issues rather than really fixing the source of the problem.
It's also a worthwhile process to see if you're making best use of Joomla's power.
- The UAC: Often Joomla site owners would like to be able to provide access to resources for their team or partners, but not give open access to these things due to the sensitivity of the resources. A proper overhaul of your sites UAC in terms of who can view and edit content can often open up new possibilities that were previously put in the 'too- hard' basket.
- Front end editing: Fairly new to Joomla is the ability to edit modules in the front end. This is something that Wordpress has had for years, and its been a major draw card for the CMS.
- Custom fields: New to Joomla 3.7 is the custom fields component and set of plugins. This is a massive opportunity for frustrated Joomla site owns who've never been able to pull in specific user data or display custom fields in content to get those things in place. In many cases these custom fields will fulfil a requirement that would have previously required its own extension
- Use plugins to optimise processes: Its often the simple tasks that plugins can do that make a huge difference to the usability and efficiency of your site. Components and modules are more 'visible' on the page, but quite often what you really need is for Joomla to 'do' something rather than 'show' something, and that's when this often-under-utilised extension group hits its stride.
Customising Joomla
Overrides
Most people familiar with Joomla will know about template-level view overrides. These are the /html/ items in your template that allow you to change the look of joomla core components and extensions by overriding their view templates. The merit of this approach over editing the extensions themselves is that Joomla and extension can be updated with minimal opportunity for things breaking.
What fewer people know, is that not only can the appearance of Joomla be changed in a way that is update-friendly manner, but by using the override plugin, the functionality of things can change too. If you don't like the way Joomla does things then you can update this without compromising your site on update. A popular extension that makes use of these overrides is CW Multicategories, which allows site users to assign an article to multiple categories rather than just the one category allowed in the Joomla core. This is a valuable asset to many site owns who were limited in their use of the content component because of this limitation.
Overrides can be an effective way to overcome the limitations and frustrations of Joomla functionality, but also 3rd party extensions which don't quite match your business requirements.
Custom extensions
There's often a point where either the commercial extensions on the JED don't match closely enough what you need, or you can't find anything for the proprietary systems you use. At other times the problem is not with the extensions themselves, but the poor inter-operability of them. A great example of this is where you'd like your twitter feed to be contextual with the main content of the page you're displaying. Most modules are blind to the main content of the page or specific component parameters, which diminishes the user-friendliness of your web application.
In these cases, custom Joomla extensions are what is required. A skilled Joomla developer will be able to develop a solution that fits exactly your needs while making best use of the powerful Joomla library already in place. For those businesses with the budget and uncompromising requirements, this is where you'll end up.
So have you outgrown Joomla?
The answer is 'probably not'. This is not to diminish whatever problems you currently have with your Joomla site. A poorly-conceived, poorly-configured Joomla site can certainly be a liability and a headache to your business, but you'll probably find that an evaluation of your current site by a skilled Joomla person can reduce these stresses by reconfiguring Joomla without any code change at all.
I'd encourage any person tempted to think that Joomla doesn't have what they need to ask themselves whether there is any system out there that fits their use case perfectly, and will continue to do so in the future. If you're honest about the strengths of your current Joomla site, and clever about how to improve things, then you'll often find that Joomla has the power to be a real asset to the growth and evolution of your business.