It’s been a year since I met Jennifer Marriott at the Tulsa Tech-Fest, and I feel bad it’s taken me this long to finish reading The Official Joomla Book. Last year we talked a little about the strong improvement in PHP/MySQL, and a greater acceptance of these technologies in the .NET world, and that discussion is what put her book in my hands. One of the shining stars of the PHP world is the Joomla! CMS. It’s full featured and very customizable, but is very easy to set up and administer. Joomla! is perfect for many websites of all kinds—business, non-profit, civic, etc. My friend Tom at Frames and Pixels makes part of his living implementing Joomla! sites for his clients, and his sites are but a few of the millions powered by Joomla!. It’s been six years since the initial release of Joomla!, and the community shows no signs of slowing down.
Before we get into discussing the book, I should point out that this book is meant for the folks who install, configure and maintain Joomla! websites. The basics of designing templates and using extensions are covered, but if you’re interested in a source-code level book to help you write extensions, this isn’t it. In the past, I’ve used other CMSs to build client sites, and always wished there was a manual I could hand over with the site so the client would have a reference. That this book has several chapters “for the client†is one of its strengths. Also, if you are about to start your first Joomla! site, don’t expect to go chapter-by-chapter. Read this book first, because there are things you need to think about before you install all through the book.
Chapter 1 is “All About Joomlaâ€, and I can’t describe it better. It’s all about the history and philosophy of Joomla! (including what the name means), gives a shout out to major contributors in the Joomlasphere, and suggests important conferences.
Chapter 2 covers decisions you need to make prior to installing Joomla!. It’s really a guide for the client and business analyst to decide on the branding and audience. It also covers how to choose a good host.
Chapter 3 covers the installation and configuration of Joomla!. The authors show us “the long wayâ€, which involves downloading the code and FTP’ing to our server. Briefly discussed is the option of an automated install. Check with your host to see if they have an automated installation option for Joomla! (of you don’t have a host yet, this may be a decision point for you). Many hosts do, which simplifies the setup considerably. Requirements for installation include PHP and MySQL. Not discussed is installing in Windows machines. On Windows machines, where PHP and MySQL aren’t usually found, Microsoft provides the Web Platform Installer, which will install all the components you need to run Joomla! and Joomla! itself. Regardless of which way you install Joomla!, the configuration parts of the chapter should be the same.
Chapter 4 digs into creating and managing content, and is one of the chapters applicable for client and solution provider alike. With menu items, categories, pages and articles, there are a number of ways to organize your content, all of which emphasize why Chapter 2 is worth including. Once you have your content outlined, Chapter 4 shows you how to do it.
It would be a rare client indeed who didn’t want some customization to their site. Out of the box, Joomla! is a very basic site with a great ability to be modified and extended. Chapters 5 and 6 cover the basics of editing templates and installing/using extensions. These are the chapters where a client’s site will really take shape.
Chapter 7 is about the care and feeding of a Joomla! site, including search engine optimization and hints for designing the site’s navigation. This is another chapter for client and provider alike.
Chapters 8, 9 and 10 are more in-depth examinations of using Joomla! for a business, non-profit/NGO and a school site. These are meant for both client and provider, and are logical follow-ups for Chapter 2. Some of the best parts of these chapters are the suggested extensions for the three site types. This is a HUGE time saver when it comes to adding functionality to the basic site. Other topics include template designs, accessibility options, community building, e-commerce and multilingual sites. These three chapters alone are probably worth the price of the book.
Chapter 11 is a look ahead to the future of Joomla!. Since it’s taken me so long to complete this review, much of that future has arrived with the release of version 1.7 last month.
Chapter 12 is comprised of a number of interviews with leaders in the Joomla! community. Each interviewee focuses on a particular aspect of Joomla!—the project itself, hosting, branding, extending and using Joomla! in a sector such as education or business. Each interview contains a few pieces of advice that may prove invaluable in preventing common mistakes or creating a site that sets itself apart from others.
This book finishes with three appendices. Appendix A has solutions to common problems, including the famous lost administrator password. Appendix B is a huge list of resources to help you build your skills, design your site, get help or content. Appendix C covers the new Access Control List functionality in version 1.6. User permissions have become very granular, and we can set up groups of users with the same permissions. As any network admin can attest, groups make managing large users bases much easier.
One place where I can see this book being very useful is in Give Camps, where teams of developers have a weekend long “lock in†and create sites for charities. Using a CMS like Joomla! is critical to the success of Give Camp sites, and a book like this would be extremely useful to the advance planning of the charity’s site. This book would be a great asset to both the development team and the charity’s “site ownersâ€.
All in all, if you’re in the beginning stages of your Joomla! experience, or have inherited a Joomla! site, you owe it to yourself to get this book. Very advanced Joomla! admins and developers will probably find this information to be too basic, but they are not who this book is for. Thank you very much to Jennifer and Addison-Wesley for giving me the opportunity to review this book!