Joomla is one of the most powerful and popular open source CMSs available today It is a free, open source framework and content publishing system designed for quickly creating highly interactive multilingual web sites, online communities, blogs, and e-commerce applications It is a server-based application that maintains all the contents of the web site in a database A web site built with Joomla can be easily administered via a web browser using Joomla’s browser-driven Administrator interface
Joomla provides several built-in modules and components for adding features to your web sites, such as main menus, polls, popular items, search, RSS feeds, and so on In addition, there are hundreds of third-party modules and components available on the Internet, such as shopping carts, news readers, and language translators that can be freely downloaded and added to a Joomla web site
One of the best features of Joomla is that it separates the content from the presentation—the raw content stored in the database is given dynamic styling with the help of templates (collections of styles) before it is viewed by the visitor
Joomla is very successful and is a winner of the Open Source Content Management System Award It has many more great features (some of which are explained in more detail in the following sections)
1. Structure of a Joomla Web Site
Figure 1-1 shows that the raw contents of the web site (ie, the articles, pictures, user information, etc) are stored in a database When a visitor selects any link or menu item on a web site, the desired data is retrieved from the database and is displayed But before the information is displayed to the user, there are several modules and components that are applied to it to filter the required information For example, there may be several news feeds stored in the database, but only the news feed specified in the News Feed module will be passed There may be polls on several subjects, but only the subject specified in the Polls module will be passed on to the visitor
After it is decided what information is to be displayed, the selected template is applied to it The template consists of styles that give an attractive look to the content It also defines the design and structure of the web site because it contains the screen position of several modules, such as where the Polls, Search box, and Popular links modules are supposed to appear on the web site Joomla provides three built-in templates to give a dynamic appearance to your web site, but you can always download more templates from the Internet and install them to be used in your web site
It is also possible to make your own custom templates, but that is a more complex process and is beyond the scope of this book
2. Joomla Characteristics
Joomla is heavily used in developing highly interactive multi-language web sites, blogs, discussion forums, online communities, e-commerce applications, and much more Joomla has several characteristics that make it an in-demand CMS, including the following:
- Joomla offers a huge number of extensions You can easily enhance features of your web site by installing more extensions, some of which follow:
-
- Dynamic form builders: These components help you take feedback from visitors and accordingly display a form back to them For example, visitors paying for a product in cash will see a form that prompts themto fill in bank name and account details, and visitors paying via credit card will see a form that has a list of credit cards to choose from and a field to enter the credit card number information
-
- Image and multimedia galleries: These components help you add images to your web site, view image thumbnails, customize image size, apply special effects on images when the mouse is moved over them, and so on These components also allow you to add music and animations to your web site
- E-commerce and shopping cart engines: These components help you create and manage shopping carts, complete with PayPal support, in minutes Examples of these components are MijoShop, VirtueMart, and HikaShop
- Forums and chat software: Forums are used for discussing subjects, getting the views of visitors, replying to queries, and so on Kunena is a Joomla component that can add a forums facility to your web site Similarly, several chat components are available, including ActiveHelper and BlastChat
- Calendars: Calendar extensions can display monthly calendar information You can switch to the calendar of any month and year, and the date on which you click will be retrieved for processing
- E-mail newsletters: To contact visitors of your web site and get their feedback, e-mail is the best communication medium Joomla provides many e-mail marketing newsletter components for doing this job, including jNews, Newsletter Subscriber, Phoca Mail, and others
-
- Data collection and reporting tools: These components search through data to collect the requested information and display reports — such as sales reports, market survey reports, and sales forecasting reports — in tabular or chart formats
- Banner advertising systems: These components are used for managing and displaying advertising banners on your site You can also specify the period for which the banner will be published on your web site (eg, for a specified number of hits or for an unlimited period)
- You can easily install any of these hundreds of extensions to increase the functionality of your web site
- Joomla has an active community of more than 200,000 users and developers
- Working with Joomla is very simple Its user-friendly, menu-driven system and tools allow even nontechnical users to add or edit web site content
- Joomla is very easy to install and setup when compared with other CMSs such as Workdpress and Drupal
- Joomla runs on Windows, Linux, FreeBSD, Mac OS X, Solaris, and AIX
- With Joomla, you can build completely database-driven sites
- With Joomla, you can upload images to be used anywhere in the site Joomla has a Media Manager component that allows you to upload images These uploaded images can then be used on any number of web pages (also called articles)
- Joomla contains image libraries that can store all type of picture formats (including PNG, GIF, and JPEG) along with other document types, such as PDF, DOC, and XLS
- Joomla contains an Automatic Path-Finder tool, which allows you to place an image from the image library (Media Manager) and have Joomla set its path automatically
- With Joomla’s Remote author contribution tool, authors can add articles, news, and links to your web site remotely Joomla supports different groups of users, each having different rights and permissions (eg, authors, editors, publishers, and managers), which enables authorized users to contribute to the web site from anywhere
- For every article, Joomla provides two options, “E-mail a friend” and “Print,” so you don’t have to write code to provide these facilities
- Joomla provides two inline text editors for adding or editing articles and information: TinyMCE and XStandard Lite These WYSIWYG editors help you apply different fonts, styles, and sizes to your text
- Joomla supplies several ready-to-use modules that can be used directly in your web site, including Polls, Popular, RSS Feed, and Banner
- With Joomla, you can change the sequence of appearance of modules on your web site
- Administrators can administer the web site remotely with the help of a browser
- You can apply different templates to give a dynamic look to your web site. (A template contains styles and screen positions for placing modules and components) Joomla provides several templates by default that you can immediately apply, and you can also download many more.
3. Advantages of Joomla
There are several advantages of using Joomla to build your web site:
- Joomla is absolutely free and easy to install
- Joomla offers many extensions to enhance the features of your web site For example, in just a few minutes you can add extensions that provide discussion forums, chat features, and shopping carts to your site.
- Many free plug-ins are available at the Joomla site home page.
- Joomla’s home page provides great support to beginners and developers by supplying links for tutorials, tools, and discussion forums.
- Joomla supports multiple languages.
- Joomla can be controlled remotely using a web browser Its web site can be easily maintained from anywhere by using its browser-based Administrator interface.
- Joomla supports XAMP technology The X in XAMP designates the three operating systems that it supports (Windows, Linux, and Mac OS X); and AMP refers to the three pieces of server software that it is built upon: Apache, MySQL, and PHP.
- Joomla can manage web site content using any of the popular web browsers. It is fully tested on Firefox 13 and Internet Explorer 8; and newer Safari 51+, Opera 116+, Chrome XY+, and Yandex 1410+.
4. Disadvantages of Joomla
Joomla has a couple of disadvantages, too Let’s have a quick look at them:
- Even though Joomla has many modules and templates, there are not many options for more advanced users, and some plug-ins and modules are not free.
- Joomla offers more than 3,000 extensions, which can be hard to keep track of.
- Some of the Joomla plug-ins have compatibility issues, so you might need to write PHP code to resolve them.
- The learning curve of Joomla is longer when compared with other open source platforms.
Source: Harwani B M (2015), Foundations of Joomla!, Apress; 2nd ed edition