Menu

extension-devMany developers think about creating commercial Joomla extensions as an additional form of revenue, but don’t quite know where to start or what needs to be considered. Bearing this in mind, we’ve put together a few tips to help you get started as a Joomla developer.

Firstly, do your research, if you’re thinking of developing a calendar for example, then check out what else in on the market. It’s going to be a lot harder to market an extension that’s going up against a highly recommended and popular one.

Once you decided on what you’re going to develop, the next step is to think about what you’re going to call it. Make sure that you don’t violate any trademarks and use keywords whilst trying to come up with something memorable.

Take your time

Don’t be in a rush, the idea is to release a product that people will want to subscribe to, not a buggy and unrefined one. Make sure you have the funding in place to develop the extension and if you haven’t enough, think about crowdsourcing or even getting a business loan.

Once the extension is under development, test it rigorously along the way, using regression and usability testing. Once you’re relatively satisfied, choose a group of friends or colleagues to carry out further testing for you using their own Joomla installations and machines. This will allow you to test the extension thoroughly in different environments.

Payment models

You may have noticed that some extensions are free, whilst others charge a one-off fee and further more use subscription models. For paid versions especially, you are the one who is going to have to provide support and future releases, so factor all of this in.

You can also consider providing a free version, which has cut down features to a paid premium model. This is a good marketing tactic as those who like an extension will often pay for an upgrade if they want to keep it and have more functionality.

Support and new releases

Support is incredibly important for paid models, as nobody wants to pay for something that doesn’t work for them properly. Commercial products require ongoing and buyers expect a high level of support to be offered. Develop a decent user guide to complement the extension and ensure that you will have the time to devote to support in the future.

Extensions always seem to need new releases too, generally because internet technologies move fast these days and whilst your extension might be as solid as rock, you will need to make improvements at some point.

Submitting to Joomla

Once your extension has been built and you’re sure that support is in place and you've tested as much as you can, it’s time to submit for approval. The Joomla extension directory (also called JED) is always going to be the place where the extension receives the most attention, so ensure you submit properly.

Choose the correct category and ensure that you read the terms of service before submission. It usually takes somewhere between 3-21 days for an extension to receive approval, so don’t waste yours and someone else’s time by doing it wrong.

Make sure that you:

  • Pay attention to different license types
  • Ensure you have GPL headers in your files
  • Ensure the domain is Open Source Matters approved
  • There is no direct link to your own domain
  • Ensure all PHP files use the JEXEC test
  • Place the empty index.html file in every folder of your shipped extension

Once you have successfully submitted, then always keep an eye on reviews and it’s also worth asking friends and colleagues to review the extension if they liked it during the testing process.

It’s not a straightforward matter, developing and submitting a Joomla extension, but it’s a good exercise and should bring in an additional revenue stream.

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.