Choosing the Right Extension
The Joomla! Extensions Directory (JED) lists nearly 8000 extensions - finding the best one for your website can sometimes be a tedious task. We have all selected an extension that hasn't been quite right for our needs. This article will cover tools available on JED that will aid your search, things to watch out for and tips to assist in making the right decision.
Everyone has their favourites when it comes to extensions and we have all chosen the ‘wrong’ extension before. But which one do you choose when the choice isn't obvious? JED provides a number of resources to help you evaluate the different options.
Searching for Extensions
The Joomla! Extensions Directory provides different ways to browse extensions, each with their own benefits.
The search allows you to search by keywords, but it also provides a number of filters to further reduce the number of results so that they better match your requirements.
Browsing the categories is useful for when you don't know the exact keywords to search for a given extension type; for example, some developers might refer to an image slideshow as an image rotator or an image carousel.
The Top Rated & Most Viewed pages allow you to find extensions that are highly rated and popular within the Joomla community. These extensions have been tried and tested by many users; you will probably find a number of your favourites on these pages.
The New Extension page gives a spotlight to newly uploaded extensions. You might find the next ‘must have’ extension here. If you have been waiting for the release of a certain extension, this is a good place to check.
Extension Detail Pages
Extension descriptions are an important part of JED; they provide detail to help users evaluate an extension for their needs.
As well as a description, the detail pages include developer details, extension type and compatibility, reviews and scores, and a list of other extensions by the same developer.
Links are also provided to the download page, extension demo, documentation, support, and license information.
Information on these pages are vital when weighing up an extension for your needs.
Before you can select an extension, you will need to know the differences between the different types, as the nature of each determines the scope of functionality that they can provide.
- Components are the most complex type of extension and render the main body of a page, driven by a menu item. Equipped with back and front-end views, for administrators and users respectively, combined with complex ACL rules, components often provide many different features and views.
- Modules are lightweight and flexible extensions that are often referred to as ‘boxes’, commonly displayed in the sidebar or footer positions in the template. They often provide complementary content to the main page, for example listing the latest articles.
- Plugins are event handlers that execute a defined behaviour when an event is triggered by the Joomla core or another extension. They are very useful for communicating data between different extensions and parts of a website.
- Packages contain a combination of components, modules and plugins that work together to provide a complete solution. For example, an ecommerce package contains the main shop component, modules that display additional content such as most viewed products, and payment gateway plugins.
- Extension specific extensions provide additional features to another extension, such as an alternative payment gateway plugin.
All extensions listed on JED are released under the GNU GPL v3 license. The GPL provides freedoms which means that users can:
- View it - ability to view the source code without obfuscation
- Use it - on as many domains as required (although support can be charged per installation)
- Change it - modify source code to suit requirements
- Share it - this is often how software forks are created.. including Joomla!
However, GPL does not always mean that the extension is available for free. Free software is a matter of liberty, not price. GPL means free as in “free speech”, not free as in “free beer”.
If you source an extension that is not GPL, you should read its license very carefully to ensure that it will not impact how you intend to use it.
Free vs Paid Extensions
When choosing an extension, your budget can be a big contributing factor. However, there are other points that you should consider. Free extensions don't necessary mean poor quality and basic features, and paid extensions don't necessarily mean good quality and advanced features.
The divide between free and paid isn't as clear cut as that. The same can be said of their support and documentation. The cost of an extension shouldn't be the sole deciding factor because an extension's ability to meet your requirements should be considered before anything else.
Releases are cycles of development to further improve the extension, fix bugs or implement additional features. Changelogs detail the notable changes that have been made chronologically and can be used to gain insight on development throughout the lifespan of an extension.
This information should be available on the developer’s website and is invaluable when considering any extension. An extension that hasn't had any updates for a while may mean that it has been abandoned, whereas if it has many updates it shows that the developer is continuing to actively maintain the extension.
Support & Updates
Support and updates often come as a package, and you may need to purchase a subscription to gain access. You should also make your clients aware of the advantages and ongoing costs of maintaining an active subscription.
Support can take many forms: email, live chat, forums, ticketing system, documentation, and community resources, such as the Joomla forums.
Keeping your installation up-to-date with extension updates is very important. JED states whether or not an extension provides update servers. This means that update information is available inside the Joomla Extension Manager, meaning that you don't need to manually check for updates, thus saving time and effort.
Documentation is a great resource that should not be ignored. When choosing an extension, it can be used as a resource for researching into the extension’s functionality. After you've chosen an extension, it can be used as a resource to aid in configuration and setup.
The answer to your questions is most likely found here, and should be searched before utilising other resources such as forums or tickets. It is likely that you will be referred back to the documentation anyway!
Knowing the Developer
A developer’s website provides an insight into how they operate and conduct their business. It presents a bigger picture of their business operations - you may also find another extension to solve another area of your requirements.
Blogs will often contain posts about upcoming features and new extensions; if you've been waiting for a specific feature for a while, this is a good place to check on its progress. Sometimes, you may come across a post notifying users of a security update - did they discuss this openly and transparently?
Take note of the design and ease-of-use of their website. If it is clean and intuitive, there is a good chance that their extensions will also reflect this, meaning that you and your clients will have an easier time in configuring and managing them.
It is also worthwhile browsing their social media accounts, as it can give an indication of how they conduct themselves outside of the ‘safety’ of their website. You need to be sure that if you contact them with a problem that they will work with you in a professional manner to resolve it.
JED Reviews & Scores
Take a look at the reviews and scores of an extension. Submitted by those who have already used the extension, they can show user experience and satisfaction levels, possible problems with features that may impact you, and examples of what others have done with the extension.
Developers’ replies to reviews are often overlooked, but are just as important as the reviews themselves as they may provide an indication of how the developer has addressed negative comments. This is important - if you encounter an issue, you need to be sure that the developer will work with you to resolve it.
Probably the most important thing to look for. Extension demos range from screenshots, to fully interactive and live installations that allow you to ‘try before you buy’ by experimenting with the extension’s features.
By exploring the back and front-end views, you can more accurately determine if it will meet your requirements.
Demos are often useful in comparing extensions against each other, therefore allowing you to make a more informed choice.
Before you choose an extension, make sure that you can answer these questions:
- Back-end views - does it allow admin to manage tasks successfully?
- Front-end views - does it provide desired functionality to users?
- Compatibility - will it run without issue in your setup?
- Support - is support or documentation available if you need it?
- Updates - does it provide an update server?
- Integrations - do you need it to communicate with other extensions?
- Cost - can you afford it within your budget?
- Reviews - does it have good feedback from users?
- Responsiveness - does it adapt to smaller / larger screen sizes?
- Speed - are the page loading times acceptable?
- Console Errors - inspect the demo with your browser’s dev tools. Are there errors that you should be concerned about?
- Code Quality - does it follow Joomla MVC?
- PHP - is it compatible with PHP 7?
So, using the knowledge you've gained, you have now chosen an extension. Go ahead and click that download button, install and start configuring.
Wait a minute. What if you can't find an extension that is exactly suited to your requirements? Don't give up. Carry on researching and select the closest match.
A number of options are now available. One of Joomla’s strengths is in being adaptable and extendable. Search for another extension to integrate into your setup and ‘fill the gap’ in functionality. Alternatively, you could create overrides to extend the features of an extension. It is also worthwhile contacting the extension developer or a development company as they may be able to quote for the customisations required to fulfill your requirements.
However, a word of caution here is necessary - know your limitations, as this is where things can get complicated. Have a backup plan in place, ready for if you encounter issues.
We have all chosen the ‘wrong’ extension at some point along the way. Don't be put off, you simply need to carry on researching into and experimenting with extensions. As with everything in life, the phrase “You get what you pay for” is sometimes true for Joomla extensions.
Joomla has a fantastic community, take advantage of this and ask for other people’s opinions. Where possible, give back to the community by sharing your knowledge.
Extension developers devote hours and hours of their time into the development, maintenance and support of their extensions. Support them by buying the Pro version, submit a review on JED, share on social media, and most importantly, don't forget to say THANK YOU.