This article or section is in the process of an expansion or major restructuring. You are welcome to assist in its construction by editing it as well. If this article or section
How do you evaluate Joomla! to see if it will fit your requirements? There is no one answer to this question, but this section will provide some suggestions.
There are several resources that can help you to get a high-level view of the overall capabilities of Joomla!.
One way to evaluate a CMS package is to look at web sites that run on it. It is impossible to say how many web sites run Joomla!, but we do know that about 2 million copies of the software have been downloaded since March 2007.
Joomla! has a forum called Site Showcase that allows you to look at a number of sites running on Joomla!. Obviously, these represent a tiny fraction of the total number of Joomla!-run sites worldwide. A simple demonstration site is available for viewing. This site contains a lot of useful information about Joomla! features and the Joomla! community.
And, of course, don't forget to include all of the Joomla.org sites as examples of what can be done with Joomla!, since they of course are all run on our favorite CMS package.
An important feature of Joomla! is the ability for third-party developers to easily extend Joomla!'s core functionality with "Extensions". Extensions in Joomla! are third-party software programs that can be installed along with Joomla! to provide additional functionality. Joomal! is designed to be extended in this way, and, once installed, these extensions look and work just as if they were part of the core program.
One of the strengths of Joomla! is the large and active developer community creating extensions. There are over 2,200 extensions currently available, with more being added daily. Many are open source, like Joomla!. Others are offered as commercial software. To get an idea of the variety of extensions available, visit the Joomla! Extensions site.
The developer community is one part of a larger Joomla! community. For example, there are over 140,000 active registered users on the various Joomla! forums, with over 150 new participants every day. These forums are very active, with over 1,200 posts per day, and provide a high level of free support to Joomla! users. To get an idea of the types of questions answered in the forums, visit the General Questions forum.
An important question when evaluating any software package is the quality of support available. In addition to the support forums, Joomla! has a large community of skilled web professionals and consulting organizations who use Joomla! to create and maintain a wide variety of web sites. Take a look at the Professional Services forum to get a view of this community. There are also a growing number of local Joomla! user groups.
As part of the evaluation process, you may want to understand in more depth exactly what Joomla! does and how you create a web site in Joomla. There are two aspects to evaluating Joomla!'s functionality. The first is to understand the core functionality that ships with Joomla!. The second is to understand how extensions will be used in your site.
When evaluating Joomla!, it is useful to understand its core functionality. If you are new to web development and CMS software, the Absolute Beginner's Guide to Joomla! is a good place to start.
If you are more experienced, then you might prefer to try out Joomla! using the Joomla! Demo site. Or you can download and install Joomla! on a local computer, along with the Joomla! Sample website. Instructions for this are contained in the Quickstart Guide. (Note that, to install the sample data, just press the "Install Sample Data" button during step 6 of the installation wizard.)
In either case, you can try out the "back end" administrator functions of Joomla! and see how you create menus, pages, articles, and other components of your web site. Everything you see in the sample web site is created with the core functionality of Joomla!.
As discussed earlier, over 2,200 extensions are currently available for Joomla!, with more being added daily. Although sites can be built using only the Joomla! core software, it is likely that you will want to use extensions. Most Joomla! web sites of any size or complexity include a number of extensions, and the identification of the major extensions that you will use to provide important functionality should be part of your evaluation.
Extensions provide pre-packaged solutions that require no programming to use. Another way to extend Joomla! is to customize it. Joomla! is designed to be extended and customized in several different ways.
The appearance of the web site -- the colors, graphics, typeface, and so on -- are controlled by the site's "template". Joomla! comes with three built-in templates, and there are many templates available as pre-built extensions. If you are familiar with HTML and CSS, it is not difficult to build your own customized template. You can look at the Template Tutorial to get an idea of how templates work.
Since Joomla! is open source, any part of the program can be customized as needed. In addition, Joomla! includes a feature called "Template Overrides" which allow you to create a small customized program (for example, a small PHP file) that overrides one part of the standard Joomla! program. Template overrides allow you to easily customize almost any part of the way in which Joomla! renders a page, without having to change the core Joomla! programs.
Joomla! is built using PHP and MySql, the most widely used web technology anywhere. Joomla! is of course an open source project, as is PHP and MySql. The technical design of Joomla! recognizes that, although there are great benefits from using a pre-packaged CMS package to build a web site, each web site is different and there is no single approach that will work for everyone.
The solution is to make Joomla! as easy to extend as possible, while providing a rich and reliable core feature set. As discussed earlier, Joomla! can be extended in a number of ways, including with pre-built extensions, with custom templates, and with custom template overrides, and by customizing the core programs.