Table of Contents
I would like to dedicate this book to my wife, Carly.
Without her love, support, and patience, none of this would be possible.
About the Authors
Cory Webb is a web designer and developer and the owner of Cory Webb Media, LLC, where he specializes in building web sites with the premier content management system (CMS), Joomla!. He is perhaps best known for his instructional site, HowToJoomla.net, where he shares his insights and experiences through tips and tricks for beginning Joomla! users. Since the inception of HowToJoomla.net, he has written dozens of articles that have been well received by the Joomla! community. He has received numerous accolades such as Sweet Jesus, thank you! I spent a day and a half looking for this bit of code! Youve saved my sanity! and Thank You! I REALLY needed this solution! He began working with Joomla!s predecessor, Mambo, in 2003 when he was given the task of building a web site for his employer. After an exhaustive search for the right CMS, he found Mambo and never looked back. In May 2006, Cory started working part-time as a freelance developer for JoomlaShack.com. In February 2008, he parlayed that freelance work into a full-time career as the founder of Cory Webb Media, LLC.
Credits
Acquisitions Editor
Jennifer Watson
Development Editor
Sydney Jones
Technical Editor
Shane Sevo
Production Editor
Kathleen Wisor
Copy Editor
Kim Cofer
Editorial Manager
Mary Beth Wakefield
Production Manager
Tim Tate
Vice President and Executive Group Publisher
Richard Swadley
Vice President and Executive Publisher
Joseph B. Wikert
Associate Publisher
Jim Minatel
Project Coordinator, Cover
Lynsey Stanford
Proofreader
Jen Larsen, Word One
Indexer
Robert Swanson
Acknowledgments
The Joomla! project was founded on the principle that open source matters, and that a truly successful open source project is only successful with a thriving community. I would like to thank the Joomla! core team, working group members, contributors, and countless other volunteers who have worked together to build one of the best open source projects in the world.
I would also like to thank the kind people at Wrox for giving me the opportunity to share my thoughts, insights, and experience with the Joomla! community. This has been a truly humbling and rewarding experience, and I am grateful for every minute of it. Special thanks to Jenny Watson for approaching me about the possibility of writing a book about my favorite CMS. Thank you also to the development editor, Sydney Jones, whose patience and encouragement have helped me get through this process more than shell ever know. I also want to thank Shane Sevo, the technical editor. His insights and suggestions have been tremendously helpful in making this book the best it can be. Thank you also to the rest of the Wrox team who have worked to bring this book to the Joomla! community.
Finally, and most importantly, I want to thank my wife Carly for supporting me throughout this whole process. She put up with many weeks of long hours, late nights, and a cranky, sleep-deprived husband. From the bottom of my heart, I could not have done this without her.
Introduction
Content management systems have been around in one form or another for as long as there has been content. The efficient and effective management and presentation of content is one of the most important tasks facing web designers, web developers, and web site administrators. Some systems of managing and presenting content are more efficient and effective than others.
Ten years ago (and perhaps for some of you, ten minutes ago) web content was managed and presented in a terribly inefficient manner. The system consisted of web directories full of HTML (HyperText Markup Language) files, images, and other media files, and was organized in a directory tree structure much like your computer operating system is organized. Each page of content in a web site represented a single, stand-alone HTML file. Making any sort of changes to your content required a working knowledge of HTML, and the patience to dig through all of the files to find the correct file to change. Changing the overall look and feel of the site was an even more arduous task, because it required changing the HTML of each and every file in the system. What a nightmare!
It didnt take long for many to transition from this system to a slightly more efficient system of server side includes (SSI). This was a method of building one HTML file to serve as the framework for the look and feel of the site, and including content from other text files within that HTML file. This was one way to separate the presentation of the content from the actual content itself. You could more easily make a change to the look and feel of the site by changing the main HTML file, but making changes to content still required a working knowledge of HTML.
As server-side scripting languages like PHP (Hypertext Preprocessor), ASP (Active Server Pages), and Macromedias Cold Fusion, and open source database systems like MySQL and PostgreSQL began to gain traction, newer and more efficient means of managing and presenting content began to emerge. Content could now be easily stored in a database system and retrieved for presentation in a web browser by a server-side language. To the end user, nothing was different because content was still consumed as HTML in a web browser. The major difference was that web administrators could now more easily manage the content that was being displayed.
In 2000, an Australian company called Miro Construct Pty. Ltd. began development on a closed source, proprietary content management system called Mambo. Then, in 2001, apparently recognizing the value of open source development, the company released Mambo under the General Public License (GPL), and an open source project was born. In the years that followed, Mambo began to experience tremendous growth and attract a core team of top-notch developers from all over the world.
Introduction
By mid 2005, Mambo had become one of the premier content management systems in the world and had gained a huge following among developers and hobbyists alike. In August of 2005, Mambo Foundation, Inc. was formed as a not-for-profit organization to handle legal and financial matters related to Mambo.
Due to concerns over the structure of the foundation and fears that Mambo would depart from the open source principles that got it to where it was, the entire core development team left the project and formed Open Source Matters, Inc. (OSM), which is the not-for-profit organization that handles organizational, legal, and financial matters for the Joomla! project.
The OSM team and the community came up with the name Joomla! to re-brand Mambo, and Joomla! 1.0 was released on September 1, 2005. Since that time, Joomla! has grown to become one of the most popular open source content management systems in the world. As of December 2008, it has been downloaded more than 7.5 million times. The official Joomla! forums have almost 240,000 registered members with nearly 1.5 million posts in close to 320,000 topics. It has one of the most active communities of any open source project in the world.