1. Introduction to Joomla
Joomla is a content management system (CMS) that helps you build dynamic and functional websites with a minimum of effort. It is possible to make all kinds of web sites with Joomla, from personal web sites to blogs and discussion forums, and even fully functional professional web sites such as e-commerce stores. All this is possible because Joomla is supported with hundreds of freely available plug-ins and extensions that can be easily applied to a web site to increase its capabilities. By default, Joomla provides all the standard web site content such as menus, articles, and modules, all of which can be customized via the Administrator interface. So the overhead of making a web site from scratch is highly reduced because of this system.
In a CMS, the content of the web site (articles, pictures, and so on) is stored in a database, which makes creating and maintaining a web site very simple. Traditional web sites are often bulky and unwieldy because they consist of a large amount of content (several web pages) that displays information to the visitor. The greater the number of web pages, the more difficult it is to maintain that web site. It is for this reason that a group of people usually maintain traditional web site.
In Joomla, however, because all the web content is maintained in a database, its maintenance cost is highly reduced (as youll see throughout this book, maintaining a database requires less effort than manually changing web content). Moreover, Joomla provides a user-friendly Administrator interface that guides the administrator through maintaining the web site content stored in the database. Even just one person can easily maintain a web site with the help of Joomlas easy-to-use, menu-driven administrative interface. With a little training, a web developer or administrator can easily administer a web site and change its content, navigation features, and structure with just a few clicks of the mouse. Lets dig a bit deeper into what a CMS is and what makes Joomla so special.
What Is a CMS?
As mentioned previously, a content management system (CMS) is a software system that enables you to create, edit, and different types of documents. These documents can include data files, audio/video files, image files, and most other forms of web content. A CMS not only helps manage all this content (without requiring any technical knowledge of HTML) but it also defines different groups of users, each with different roles and responsibilities. The idea is that more than one person in an organization can contribute to creating, editing, and managing content, whereas normal visitors are given limited access privilegesusually just permission to view the content. In short, you can make an easily maintainable web site with the help of a CMS in which creating, editing, and managing content are simple tasks.
In a CMS, the whole of the web site is contained within a database. All links, articles, user information, images, and other parts of the web site are maintained by the administrator using that database. This talk of databases may sound a bit scary, but all the web site maintenance is carried out using the Administrator interfacea user-friendly, menu-driven system that makes the task of updating or managing the content of the web site very easy. The Administrator interface is accessed through the web browser and is simple to operate. All the changes that you make in the Administrator interface are reflected in the database in which the content of the web site is kept.
Making a web site from scratch is usually a time-consuming task that requires expertise to develop all the individual site parts. The processes of coding and integrating these different parts are highly error-prone, and thorough testing procedures are needed before new parts can be added to a web site. In a traditional web application, you might have several different criteria for modules that you want to add to your site, such as the following:
Login system: Provides a means of authenticating a user
Account Creation module: Provides users with a form to enter information, which is then stored in a database for future use
Forgotten Password module: Helps users who have forgotten their password or user ID
Popular module: Displays popular web site content or services
Banner module: Displays clients banner for advertisement purpose.
RSS Feed module: Syndicates the web site for others to read
Feed Reader module: Enables reading of RSS feeds from different web sites
Search box: Enables users to search web site content
Multilingual module: Makes it possible to implement multilingual facilities in a web site
Granting-and-Revoking-Permission module: Facilitates assigning permissions to users to allow them to view (or block them from viewing) certain information
In a CMS system, all these modules are already built for you and are easy to add to an existing site. You just need to configure them and decide on their position and appearance in your web site. Creating a web site is thus very easyyou can have it ready in a couple of hours. Also, maintaining the content of the web site doesnt take much effort; the configuration of the modules provided by a CMS and maintenance of the web content is all done with the easy-to-use Administrator interface.
Why Are CMSs So Popular?
There are many reasons why people choose to use a CMS rather than creating a site from scratch in code, but Ill run through a couple of the big ones. You will always need to update your website to keep viewers returning to it, and a CMS makes this very easy. For example, you may need to do the following:
Deliver new articles or information about your organization to visitors
Inform readers about any forthcoming events
Introduce new services or products
Besides this easy and quick updating, you might also need to add some extra features that do the following:
Allow users to sign up on your web site with different privileges
Add a shopping cart module
Add multilingual support to your web site
Apply different dynamic styles to your web site
Add a third-party module to provide extra features such as Google Maps or a search box
To deal with natural demands of webmasters, CMSs appear as helping hands because they store all the contents of the web site in a database and enable the webmaster to manipulate the database contents with an easy-to-operate, browserdriven Administrator interface. So, in simple terms, using a CMS is a way to manage the content of a web site with the click of a mouse button instead of hours spent typing in code.
CMSs are popular because they separate the web content from the presentation. As a consequence, the content developer can concentrate on creating that content, and web designers can focus on giving that content a dynamic appearance by applying different templates (or developing their own custom templates) without interfering with each other. Hence, the content development and presentation process can proceed simultaneously in a CMS.
Note
To compare the available CMSs and to determine which is best for your situation, see www.cmsmatrix.org/ .
What Is Joomla?