Many 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.
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.
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 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.
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:
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.
When it comes to building a website, many people become confused as to which CMS (content management system) they should choose. Bearing this in mind, we’ve taken a look at the two of the other most popular CMS alongside Joomla to help you make a decision.
Firstly, we’ve chosen Wordpress and Drupal as these are the two other major open source CMS on the market. All of them are developed by a community of thousands and are free to download and use.
For those who are not familiar with the term open source, it is simply software that is freely distributed and not subject to licensing fees. As well as being free, the beauty of open source software is that it is continually worked on and improved by developers from all over the world. This means that regular improvements are made to ensure the software is continually evolving in line with technological advancements.
With the three CMS models we’re discussing, developers are also constantly writing add-ons and extensions to improve the software, some of which may be subject to subscription charges or a one off fee.
All of the CMS models we’re concentrating on have a huge online community of dedicated developers and users, making it a simple matter to find support. There is a plethora of online documentation to help you use the software, as well as forums and books.
This will depend largely on a couple of things, the first of which being how technologically minded you are. For beginners, Wordpress is a good choice, as it’s very easy to use yet has the flexibility to be capable of running complex websites.
Drupal is much more complex and more suitable for those who require a highly customised site with a large amount of content to organise and scalability. However, it’s not the easiest to pick up quickly, so if you consider yourself something of a Luddite, this probably isn’t for you.
Joomla is somewhere in between the two, being easier to pick up than Drupal but with more functionality than a basic Wordpress installation will offer.
One thing’s for sure, all of these platforms are highly popular and unlikely to disappear from the internet scene any time soon. This means you have plenty of time to build a site, add to it and learn all about the CMS that you’re using to build it.
If you have little or no experience in web development, then Drupal is not for you. Whilst it’s capable of helping to build extremely complex sites and is a very powerful CMS, Drupal is best used by those with some expertise in web design and development.
It’s becoming easier to use with each new release, but unless you have the time to commit to learning complex and powerful software, then it’s not a great idea even now.
Joomla is the middle ground between Drupal and Wordpress as it is more user-friendly than the former, whilst retaining the ability to build a more complex site than you would be able to with Wordpress. Joomla has strong social networking capabilities and speedy page loading, as well as a more advanced content organisation structure that is found with Wordpress.
Wordpress is suitable for beginners and those who can alter the code within the installation to further customise it to suit their needs. The ease of use makes it ideal for smaller sites, such as blogs and ideal for web designers who want to hand the upkeep of the website to the client.
Whilst all three are excellent CMS platforms, what they will be used for with regard to websites and user experience will both make a difference to which one you should choose.
Since Joomla 3 is bootstrap from Twitter an essential library to build responsive web sites. But what happens with your extension when you want it to be responsible on Joomla 2.5 too? Here at Digital Peak we have one install package per extension which installs in Joomla 2.5 and 3. The challenge was to backport bootstrap to Joomla 2.5 the way that it will not interfere with the template and wreck up your web site. We came up with the following solution. We created a modified version of bootstrap which adds it's styles only to elements within a certain container with a special class on Joomla 2.5.
To install the less compiler on your Ubuntu machine execute the following commands.
$ cd /tmp
$ apt-get install git-core curl build-essential openssl libssl-dev
$ git clone https://github.com/joyent/node.git
$ cd node/
$ make
$ make install
$ node -v // should show you the node version like v0.11.2-pre
$ wget https://npmjs.org/install.sh
$ sh install.sh
$ npm -v // should show you something like 1.2.18
$ npm install less
Download the most recent version of bootstrap from here and extract it on your Ubuntu machine (for example to /tmp).
$ cd /tmp
$ wget https://github.com/twitter/bootstrap/archive/v2.3.2.zip
$ unzip v2.3.2.zip
$ cd /tmp/node
$ cp -R /tmp/bootstrap-2.3.2/less/ .
Now create a file with the following content in the folder /tmp/node with the name demo.less.
.my-bootstrap-container {
@import "less/bootstrap.less";
@import "less/responsive.less";
}
WIth one command you can create your custom bootstrap version.
$ node_modules/less/bin/lessc demo.less -x > demo.css
You can also grab the minified version from here and search for .dp-container and replace it with .my-bootstrap-container.
Now you can include your demo.css file into your extension. What you can do in the default.php (or how your layout name is)
$j = new JVersion();
if substr($j->RELEASE, 0, 3) == '2.5) {
JFactory::getDocument()->addStyleSheet(JURI::root().'components/com_demo/libraries/bootstrap/css/bootstrap.min.css');
JFactory::getDocument()->addStyleSheet(JURI::root().'components/com_demo/libraries/bootstrap/js/bootstrap.min.js'); } else {
JHtml::_('bootstrap.framework');
}
The HTML of your output has to be wrapped in the new container div
<div class="my-bootstrap-container">
<div class="row">
<div class="dp-grid__col-4">...</div>
<div class="dp-grid__col-8">...</div>
</div>
</div>
We are using it on GCalendar, the GCalendar Action Pack and DPCalendara responsive native Joomla calendar.
DPCalendar, one of the most popular Joomla calendars on the market, has signed up for crowdsourcing with Indegogo in order to raise funds to integrate Microsoft Exchange into corporate events in Joomla.
One of the reasons that DPCalendar is so popular with its users is its ability to integrate popular external calendars, such as Google Calendar, Facebook events and iCal files. However, this isn’t enough for many users and we have had countless requests to add Microsoft Exchange into the mix.
This is a challenging task, hence the need for a crowdsourcing campaign.
Just like any other DPCalendar plugin, a Microsoft Exchange plugin will display events from your current Exchange setup. These will appear in DPCalendar like any other events much as it is displayed at the moment.
This means that the familiar and easy to use DPCalendar layout will be just the same, but with even more functionality! This includes everything that you’re already familiar with, such as caching or recurring events support and it will be possible to add up to 10 MS Exchange calendars simply by providing a host, username and password.
This will be done by utilising the Microsoft Exchange web service API to gain access to calendars. DPCalendar will use this to retrieve events and this means that your Joomla web server will need to be able to access the MS Exchange server.
The new plugin will be available to DPCalendar Premium subscribers only, so if ever you needed an excuse to upgrade, this could be it.
We will take the opportunity to add even more functionality, such as the ability to create, edit and delete Microsoft Exchange events directly from within DPCalendar. We would also love to add more, such as displaying user credentials, but for that we’ll have to see how the funding goes.
We’ve been bringing you high-quality advanced Joomla extensions now since 2007 and this is your chance to get involved and get the features you most want added to our incredibly popular Joomla calendar.
We’re excited about the chance to further develop DPCalendar and thank you for your support in advance. We’ve already raised $500 and those who contribute that much will be eligible to claim a lifetime subscription to the new DPCalendar, as well as a link back to your site.
Contributors of $150 will be able to enjoy a full, one-year subscription to DPCalendar plus link, and those contributing $50 will be able to claim 3 months free plus link.
There’s still 58 days left to get involved, so what are you waiting for! Make your contribution today!
All contributions (money) will be returned to the funders without any fee.
We’re pleased to announce a major new release 3.1 this week for DPCalendar, which is designed to give users an improved and more responsive experience.
Not only are all views of DPCalendar now more responsive, but we have also added a Facebook Event integration plugin so that you can easily share events between the social network and your Joomla calendar.
The date format can now also be changed in the input window and we have made improvements to the monthly scheduling feature.
The new mini module function is now capable of showing single events, and live update functionality has also been added. You can also limit the characters in an event description in calendar view.
The update is the latest in improvements that we are constantly adding to DPCalendar, as we strive to ensure that you have the best events calendar on the market today. Not only is DPCalendar simple to use, with a low learning curve, but it’s jam-packed with high-end features that really make it stand out from the competition.
This includes functions such as ACL, social network integration, which has made even more powerful with the Facebook events addition, as well as front end editing.
Upgrading to the new version is just as simple too, using the Joomla extension manager to ensure that you can implement new features easily and without any fuss.
However, should you experience any difficulties at all, our support is second to none and our Joomla developers are always happy to help subscribers to our standard and premium subscriptions.
Trying DPCalendar for the first time, or thinking of giving it a shot? We’re convinced that you will love our product so we offer a full, 30 day money-back guarantee, with no hidden fees and a simple subscription service for your peace of mind.
It’s easy to integrate existing, external calendars too, such as Ical, Jomsocial and Google calendar, so you needn't worry that switching to DPCalendar has to mean you lose your data.
Add to this the simple drag and drop interface, the event browsing feature that means you never have to refresh the page and all of the brand new features and we challenge you to find a better events calendar anywhere else.
Here at DPCalendar, we love developing new stuff to make your life easier and release regular updates to improve our product. We also welcome feedback from our users so don’t be shy, let us know what you think of DPCalendar.
We hope you love the new release as much as we do!