CHAPTER 1

Introduction to Joomla!

I'm more excited about Joomla than any other web product I've seen in years. Joomla exploded onto the web scene in 2005 and drastically simplified web design, development, deployment, and maintenance. It's also done its fair share to beautify the web world. By using Joomla, you can instantly banish ugly, poorly structured interfaces from your web sites—even the default installation shown in Figure 1-1 shows how pleasing a Joomla web site can look. Adding content or updating the design of your entire web site is a snap . . . and that's just for openers!

This book will guide you through nearly every aspect of the Joomla system, from basic deployment to writing your own extensions. By the time you've reached the last page, you'll be able to make Joomla do almost anything that a manually designed web site can do—and in a fraction of the time. Before we get started, let's take a quick glance at what makes Joomla such as revolutionary technology. The sections that follow describe the advantages of using a content management system (CMS) like Joomla, in addition to the features and benefits that make Joomla a compelling choice.



image

Figure 1-1. The home page of a default Joomla installation

Content Management System Overview

When the World Wide Web was born, creating even the simplest web page required learning the language of the Web: HTML. Since then, great strides in the power of web authoring software have been made with the availability of professional web editors such as Adobe Dreamweaver and Microsoft Expression Web. These types of editors have made the creation and maintenance of a web site much easier by providing a graphical user interface for web construction and minimizing the amount of HTML coding required by the webmaster.

Despite these advances, when a web site grows beyond a few simple pages, even these advanced editors begin to crack under the pressure. Maintaining a web feature as simple as a site map can quickly become a tedious affair, swallowing webmasters' time and energy with every update. Other routine tasks, such as monitoring broken links, implementing a menu system, and adding a user forum, can make web site deployment a full-time job. Then there are broader challenges, such as ensuring that new content has a look and feel consistent with the rest of the site and providing web visitors a site search option.

To solve these problems, large media publishers (e.g., Time and Newsweek) turned to a special type of software called a content management system (CMS). The CMS application not only automated site content management, but also allowed nontechnical writers and journalists to contribute articles directly into the system via a custom user interface. This type of interface required no knowledge of HTML or other technical skills, minimizing the potential for problems or inconsistencies to be introduced into the publishing process.

With the implementation of a CMS, most of the headaches of site management disappear. Features such as a site map and site search will automatically update without the need for custom programming. Additional features such as forums, shopping carts, and picture galleries are either built in to the software or widely available as plug-ins. All of this serves to minimize the amount of custom development (and the substantial number of bugs and security concerns that go with it) required for more traditional web site deployment.

For web designers, the core of CMS site presentation rests on visual templates that can be set for the entire site or even associated with individual pages. These templates determine the visual representation of content to the user. When a remote author adds a new article to a web site, for example, the item is instantly published with a standardized site template, ensuring that the entire site retains the same look and feel.

For large corporations, CMS use grew dramatically in the 1990s. But with deployment costs running into the hundreds of thousands of dollars, this technology remained out of reach of smaller organizations and individual users. Even if the cost wasn't prohibitive, the professional systems generally had complicated "everything and the kitchen sink" management interfaces that would allow a large organization to maintain control over thousands of articles and hundreds of users. Simple maintenance required an expert's knowledge of the CMS application.

Enter Joomla. Not only is Joomla free, but it also has one of the most easy-to-use interfaces of any CMS. Almost anyone can download, install, and have Joomla up and running on a web server in 20 minutes or less. When people in the technology community discuss the second generation of Internet-based services commonly referred to as Web 2.0, Joomla is one application that makes this new web world not only possible, but appealing as well.

Content Management System Adoption

So why hasn't everyone switched to a Joomla already? There are several answers to that question, with the first and most likely response being inertia. When people become accustomed to a way of doing things—no matter how antiquated—they are often loath to switch. Climbing the mountain of web development from HTML to advanced web application design takes years and a great deal of work. It can be almost painful to minimize those hard-won skills with an automated solution.

Another factor slowing the move to a CMS solution is the existing hundreds of web pages that will need to be converted from their raw HTML format. For a substantial web site, content migration can pose a daunting challenge. Needless to say, the initial time investment of porting to a CMS will pay for itself many times over in maintenance time savings in the future.

The only real technical barrier to moving to a CMS is the requirement that the web host provide support for dynamic content in the form of PHP and MySQL hosting. Five years ago, there weren't many service providers who offered this option, but times have changed dramatically for the better. Now web hosting from companies such as Go Daddy (www.godaddy.com), Rochen Performance Hosting (www.rochenhost.com), and SiteGround (www.siteground.com) provide inexpensive access to servers that can run CMS technology without breaking a sweat. With most administrator tasks of a Joomla web site available through the web-based Administrator interface (see Figure 1-2), the server can be located anywhere.

image

Figure 1-2. Joomla administration is completely web based and straightforward.

Joomla! Benefits

With numerous CMS programs available, it's interesting to note that Joomla alone has been embraced by such a wide spectrum of individuals, corporations, nonprofit organizations, boutique businesses, and public organizations.

One reason for Joomla's wide adoption is its ease of use. If you have any experience with web site construction or CMS design, you can use Joomla once and understand why people and businesses have adopted it in such large numbers.

Joomla's ease of use is matched only by its built-in professional features. In addition to Joomla's robust native feature set, over 4,000 free and commercial plug-ins are available to use with it (see Chapter 7 for instructions on accessing the Joomla Extension Directory). This vast array of extensions makes it possible to deploy a Joomla system that can do almost anything you need, from chat rooms, to online auctions, to classified ads, to inventory management.

Despite the gold-medal capabilities of the system, however, I think the primary reason Joomla is so popular is the award-winning user interface aesthetics the application offers to even the most novice users. The professionally designed user interface templates, both those included with the default installation and those available from the large third-party market, can instantly make almost any web site a "sight to behold." Gone are the days when a web site required a dedicated professional web designer to look immaculate. Joomla allows the most humble blog site to stand toe to toe with a multimillion-dollar web site without blinking. That means a professional web presence is available to site creators with no graphic arts experience. The aesthetics of a Joomla site are unparalleled by any other system.

Further, many CMS systems nearly require an advanced degree to set up and maintain. Joomla, in contrast, enables you to perform all maintenance tasks through a simple and elegant administration screen (see Figure 1-2). Since Joomla administration is web-based, a Joomla site can be managed from wherever you happen to be—even if you're resting comfortably on a beach in Maui with a piña colada in one hand and laptop with a Wi-Fi connection in the other.

In the sections that follow, you'll be introduced to various Joomla features and learn, in a nutshell, how the application works.

Joomla! Features

The power and simplicity of the Joomla application may be difficult to understand if you don't have previous experience with a CMS. However, any webmaster can see that the included administrative features are compelling:

  • Complete management possible via a robust web interface
  • Web-based management of site assets such as graphics, files, and other media
  • Content approval features allow moderating of remote author postings
  • Hierarchical user group management
  • Automated menu management
  • Content publication scheduling for automatic publishing and removal of articles
  • Integration with other servers including FTP, e-mail, and LDAP
  • Contributor posting management

Even more impressive is Joomla's ability to handle content and provide interaction with site visitors. Joomla's content capabilities include the following:

  • Multiple built-in "What You See Is What You Get" (WYSIWYG) editors
  • Automatic full text search of site content
  • Optional search engine–friendly (SEF) URLs to article content
  • Full support for newsfeeds in RSS or Atom format
  • Built-in user polling
  • Banner advertising management
  • Plug-ins for e-commerce solutions, including shopping cart, picture gallery, inventory management, and point of sale
  • Multilingual internationalization features
  • Accessibility options for the disabled

Finally, Joomla offers a good number of system advantages, including the following:

  • Full open source license with free download of the application and source code
  • Availability on all major operating systems (Windows, Mac OS, and Linux)
  • Page caching for improved performance

The robust plug-in architecture has made adding missing features affordable in terms of both time and money. Joomla is completely open source, so you can make desired changes to the system, and you can also contribute your work to the Joomla community if you want. This sort of community contribution often pays dividends later, as other users build on your improvement and post back their own enhancements.

Now that you understand the reasons to adopt Joomla for your web site needs, let's take a look at how Joomla works.

How Joomla! Works

A CMS is a fair bit more complicated than a simple web server, but you will need to know only the basics to use Joomla effectively. If you understand the general process that Joomla uses to retrieve content, format it, and return it to the requesting web browser, you will be able to see how you can configure the Joomla system to present content in a manner that best suits your needs.

Figure 1-3 presents a block diagram of a simple web server. Interaction begins when a web browser requests a page of the web server. The web server retrieves the HTML code from the requested static HTML file (e.g., http://www.example.com/index.html) and returns it to the browser. The HTML file is called a static web page because the page returned to the browser is exactly the content contained in the file stored on the server—nothing more, nothing less. That's about as simple as it gets.

image

Figure 1-3. Serving process of a basic web server

Now let's take a look at the process executed by a request to the Joomla CMS, as shown in Figure 1-4. The web browser requests a page (e.g., http://www.example.com/index.php) of the web server. Although the address of the page requested in the browser's address bar may appear similar to the request for a simple HTML page, it actually activates a whole processing system. The request causes a part of Joomla to load into the web server and begin executing on the server's PHP engine. Joomla analyzes the request to determine what content is requested, and then the Joomla system opens a connection to a database server and requests the specified article from the database.

Once the article contents are retrieved, Joomla formats the article using the style selected as the user template. Joomla creates the HTML display content and sends it back to the browser, where it appears to the user in the same form as if a static HTML file was retrieved.

image

Figure 1-4. Serving process of the Joomla CMS

A CMS will dynamically feed content that has been retrieved from a database and formatted through one of the site templates to the web browser. Because the article content is stored as data, the presentation can be changed by simply altering the Joomla template. If you want an entirely new look for your web site, you can select a different template, and instantly a visitor to your site would see the original content in a completely new presentation style.

Differences Between Joomla! 1.0 and 1.5

As explained earlier in the sidebar titled "The History of Mambo and the Birth of Joomla," Joomla has roots in the Mambo open source CMS. Joomla's first version (1.0) departed from Mambo primarily in the user interface. Joomla and Mambo's shared lineage was apparent from their structural similarities to their complete mutual compatibility of modules, components, and plug-ins.

It really wasn't until the significant upgrade to version 1.5 that Joomla came into its own. If you've used Joomla version 1.0, the update will be like a breath of fresh air. There is a new administrative interface, and complex project deployment has been simplified. If you plan to program Joomla, the 1.5 update is a revolution. The new Joomla source code implementation loads painlessly into a standard HTML editor such as Dreamweaver or Expression Web (something that was never simple with the original PHP coding).

Some of the changes in the upgraded version include the following:

  • Completely revamped Administrator interface
  • Improved template preview
  • New plug-in manager
  • Multi-CSS file editing
  • Full support for Atom 1.0 and RSS 2.0 feeds
  • Improved accessibility options
  • Increased focus on internationalization, including full UTF-8 support, RTL support, and translation using INI files
  • Native LDAP support
  • XML-RPC support
  • A streamlined component call interface that allows easy implementation of Ajax applications
  • Completely overhauled Joomla programming framework

Because many readers have likely used previous versions of Joomla, I've included notes throughout the book where important differences exist. If you've never used Joomla before, you can ignore the notes specifying the version differences. Given Joomla 1.0's widespread adoption, utilities that aid in the transition to the 1.5 version are available, and it's unlikely that you'll have to manage a previous installation.

Joomla! Ranked First for Online Communities

Joomla has won a vast number of awards and continues to rack them up. At the time of this writing, Joomla was just recognized as the best software for creating online communities by ZDNet. Previously, Joomla won the Best Linux Open Source Project award at UK Linux & Open Source Awards two years in a row. In 2006, Joomla was selected as one of the 50 most important open source projects in the world at the Desktop Linux Summit. Since receiving that honorable designation, Joomla has continued to expand in breadth of deployment and depth of features. Joomla's features make it likely to remain the dominant open source CMS in the future.

And all this for free! Joomla can do most anything you want to do with it. If you want to do a quick and easy setup, no problem. If you want to do advanced development of a custom extension, the resources available to you are astounding. Whether you need to deploy an e-commerce store or write a daily blog, Joomla should be able to fit your needs.

Conclusion

If you didn't understand the utility and power of using a CMS application before you began reading this chapter, I hope you now agree with me that manually constructing a web site is a distant second-place finisher when it comes to site capabilities and maintainability. Joomla has the power and flexibility to serve the needs of almost any individual or organization. Deployment has never been easier, and you can't beat Joomla's price tag: free!

The best way to experience Joomla is to dive in feet first. With that in mind, the next chapter will take you on a "Quickstart" tour. The Quickstart will guide you through installation, configuration, and deployment of a basic Joomla site. So fire up your computer and begin taking advantage of the software that will make your web site as powerful as it is attractive.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.18.101