Joomla is the world's most popular system for building and managing websites. It is an example of a 'content management system' - often abbreviated to CMS. This article discussess some of the reasons for Joomla's popularity.
Why Use a CMS?
In the early days of the web, most websites consisted of static html pages. The site content of a typical website seldom changed, and when it did, it was neccessary to edit the actual page html code, requiring at least a basic level of expertise. However, for all but the most simple of websites, these days this is not a practical way to manage a website. Individuals and businesses want the freedom to be able to manage their site content without having to learn coding: the solution is a CMS.
For large businesses the preferred choice is always likely to be a custom CMS. However creating a custom CMS can be a complex, time and resource consuming process, requiring extensive programing, and will typically cost many thousands of pounds, making it an unrealistic option for small and even medium-sized businesses. Fortunately there are many 'off-the-shelf' content management systems available, the most popular of which is Joomla.
Why Do People Like Joomla?
There are many factors that explain Joomla's popularity with users:-
- In spite of the fact that it is free, it offers the kind of sophisticated features that you would expect in a commercial application.
- It has a built in editor, allowing users to add and upload content with ease, without any knowledge of coding.
- It has a secure login system, and allows administrators to control the permissions of users on the site, so for example only permitted user groups are allowed to add articles to the site.
- The code is Open Source, and licensed under the General Public License (GPL/GNU) - this is important when you want to modify your site, it means that any experienced programmer will be able to do this for you, unlike in the case of commercial, encrypted software, where you will have no choice but ask the software supplier to do the work for you.
- Joomla has a very active and lively community, including a support forum, a social network and a blog site.
- There is a huge number of extensions available from the Joomla Extensions Directory, at the last count over 5000. The range of applications is vast, including e-commerce, social networking, blogging, news management and many others
- As some recent high-profile attacks on popular websites have show, security is a big concern for any website. To their credit the Joomla leadership have taken this issue seriously, with the formation of the Joomla Security Strike Team (more on this below)
The security advantage of using an open source system is that the code will be viewed by many programmers, with the result that security vulnerabilities can be spotted and corrected. The downside is that, once a security problem becomes publicly known, it can become widely publicized, including to the people with an interested in attacking your site. So it is important to keep any open source software up-to-date.Whether the net effect is to make open source software generally more or less secure than closed source systems is debatable. There are many example of serious security vulnerabilities affecting closed source systems, for example those affecting Microsoft Internet Explorer, or the Adobe Flash player.
One of the most spectacular security breaches of recent times, that affecting the Sony playstation network, affected a closed source system. The problem with closed source systems is that there is not the kind of external review of security that you get with an open source system, so serious security problems can exist for years without being spotted, until a successful attack occurs.
So there is no 'magic bullet' for website security. My feeling on this is that the Joomla leadership have responded well to this challenge, which is certainly one of the important reasons for its popularity.
Developing For Joomla
Joomla is popular with developers as well as users, which explains the large number of extensions available for the system. I started my own career as a web developer creating website applications from scratch. I quickly realised that one of the problems with this was that I spent a lot of time writing code to handle basic tasks, such as routing user commands to specific tasks, or filtering user input. This was repetitive and boring, and added greatly to the programming time required to complete a project. The great advantage of programming for a CMS such as Joomla is that much of this type of coding is taken care of by the CMS, leaving the programmer to concentrate on the interesting stuff.
Joomla has its own built-in class libary which handles these kinds of functions. Applications can be developed quickly in a streamlined and elegant way by using this library.
Joomla supports the Model-View-Controller (MVC) architecture for development, which makes it possible to divorce the appearance of an application from the underlying programming logic. So code can be relatively easily be adapted to fit in with almost any website template.
Plus of course, the fact that Joomla is popular with users makes it popular with developers, who want their applications to be used by the widest number of people.
So if you are looking to create a dynamic, exciting and sophisticated website then using Joomla has to be a serious contender. Its power and flexibility make it a great choice for building website.