Welcome to Joomla!®. If you’re new to content management systems (CMSs) or even new to building websites, this book will help you get up and running in no time. Whether you’re a web designer or an experienced developer, this tome will help you to use Joomla, one of the most popular content management systems available today.
Who Should (and Shouldn’t) Read This Book
Have you been asked to build a website in a short period of time? Do you want to convert an existing site to a CMS? Do you have a client who needs a powerful website with lots of functionality? If any of these are true, or you just want to know more about this thing called “Joomla” that people are talking about, this book is for you.
We’d like to think Joomla is for everyone, but if you’re a developer looking to create extensions or build on top of Joomla’s framework, this book isn’t for you. It’s also not meant for those who want to build a static site that rarely needs altering, as Joomla comes with management overhead.
How This Book Is Organized
Each chapter of this book breaks down the extensive features of Joomla into easy-to-understand sections, many with hands-on exercises to help you get going quickly:
- Chapter 1, Overview
- Get a little background on Joomla and its history, and a tour of the administrator panel.
- Chapter 2, Planning Your Website
- Planning is number one in most endeavors. Plan your navigation (menus), categories, articles, modules, templates, and more in this planning chapter.
- Chapter 3, A Tour of the Administrator Panel
- Learn how to move around the Administrator Control Panel.
- Chapter 4, Setting Up the Basics of Your Website
- Create categories, articles, menus, and modules for your website. Set up your template in this chapter, too.
- Chapter 5, Creating Content
- Learn the ins and outs of creating content.
- Chapter 6, Managing Media and Creating Galleries
- Discover how to manage images, files, and videos in Joomla. Learn how to create image galleries as well.
- Chapter 7, Making Your Website Speak Multiple Languages
- The Internet makes a very big world small. Make your website serve content in multiple languages.
- Chapter 8, Starting a Blog
- You, too, can be a writer with your very own blog! Learn how to create a great blog with Joomla.
- Chapter 9, Create and Share an Event Calendar
- Events are fun for everyone. Keep an events calendar on your site to make your visitors aware of fun events happening in your world.
- Chapter 10, Creating Forms
- Very few sites exist without forms. Create contact forms or even forms that can accept payments.
- Chapter 11, Building an Online Store
- Sell your wares in an online store in Joomla.
- Chapter 12, Engaging and Keeping in Touch with Your Users
- Your website needs people. Chapter 12 helps you engage and stay in touch with your visitors in multiple ways.
- Chapter 13, Solutions to Common Problems
- Learn about more lengthy solutions that didn’t fit into other chapters, such as SEO, User Groups, ACLs, and more.
- Chapter 14, Making Your Website Secure and Optimized
- Keeping your visitors and your website safe is very important. It takes diligence yet isn’t difficult.
- Appendix A
- Here you’ll find step-by-step instructions to install Joomla.
- Appendix B
- Keep your Joomla installation up-to-date and learn how to migrate it, which is sometimes necessary to keep it secure.
- Appendix C
- So many extensions, so little time. Learn how to choose the right extensions for your site. A list of extensions used in this book can be found here.
- Appendix D
- You may want to develop an extension or app with the Joomla Framework. Perhaps you’re not a coder and want to get more involved and give back. This is the appendix for you.
- Appendix E
- Little snippets and goodies are here.
Conventions Used in This Book
The following typographical conventions are used in this book:
- Indicates new terms, URLs, email addresses, filenames, and file extensions.
- Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords.
Constant width bold
- Shows commands or other text that should be typed literally by the user.
Constant width italic
- Shows text that should be replaced with user-supplied values or by values determined by context.
This element signifies a general note.
This element indicates a warning or caution.
Using Code Examples
This book is here to help you get your job done. In general, if this book includes code examples, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless you’re reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from O’Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product’s documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: “Using Joomla by Ron Severdia and Jennifer Gress (O’Reilly). Copyright 2014 Ron Severdia and Jennifer Gress, 978-1-449-34539-6.”
If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at email@example.com.
Some Basic Terminology
In dealing with any new technology, becoming familiar with the lingo can be a frustrating process. This section explains some of that lingo in plain English.
Frontend Versus Backend
If you’re not familiar with Joomla, you’ll quickly learn the difference between the frontend and backend. It is a very simple concept. The frontend is what visitors see when viewing your website. However, site administrators have access to a control panel they can use to build and manage the website. This is called the backend, which is sometimes referred to as the Administrator Backend.
Like most modern content management systems, Joomla allows the installation of add-ons to extend the basic functionality. In Joomla, users can extend the functionality to add features like a shopping cart, discussion forum, calendar, and lots more. These add-ons are collectively referred to as extensions.
There are seven different types of extensions: components, modules, plugins, templates, languages, libraries, and packages. Each of these types interact with Joomla in a unique way and offer tremendous flexibility in what a user will experience on the frontend of the website. Each extension type is summarized below and will be addressed in more detail throughout this book.
These are typically the most powerful of the seven types of extensions. Located in the main body of the page, a component is an application that runs within your Joomla website. Examples of a component include a discussion forum, calendar, or contact form, or even displaying a simple article of text. Every page on a Joomla website must load at least one component.
If you think of your web pages broken up into blocks or zones, most of the blocks that live outside the main page area are made up of modules. A module can display a menu, show how many items are in your shopping cart, randomly display an article, or even ask the user for certain information. Modules themselves are managed and created through the Module Manager. The location and position modules on the frontend are dictated by module positions in the template. The possibilities are almost endless as to what you can do with a module. Modules are optional but very useful.
Plugins are a lot more powerful than they are given credit for. In short, they process web page information as it loads and can do just about anything, from searching content to masking email addresses to protect them from spambots. Plugins are optional extensions on the frontend, but are very powerful.
Although most people do not think of templates as extensions, they are classified as such. You can think of a template as a theme or a skin. Joomla makes it easy to change the template on your site as a whole or use templates for individual pages. At least one Site template and one Admin template must be installed on every Joomla website.
Joomla is truly an international CMS and is used by people all over the world. For instance, if you live in the Netherlands, you might prefer to have the Joomla interface in Dutch. Using the Dutch translation, this is done with only a few mouse clicks. Every page on a Joomla website must load at least one language.
Libraries are packages of code that provide a related group of functions. Third-party extension developers can use libraries for their extensions.
Packages are a collection of extensions. For example, a package might contain a template, modules, and plugins used by that template. When a package is uninstalled, it uninstalls all the extensions in the package.
As in other content management systems, content is the information contained on your web site. There can be many different types of content on your web site including articles, photos, calendar events, products for sale, and more.
Categories and articles
The most common type of content in a default Joomla installation are called articles. Articles are organized into categories. Categories are used to group related articles.
For many users new to Joomla, the concept of articles and categories is fairly easy to understand. We’ll make it even simpler, though, to clear up any confusion. Think of your website like a filing cabinet. The file folders are the categories. The pieces of paper inside the folders are the articles. You can have multiple articles in a single category. You cannot have an article in multiple categories.
Safari® Books Online
Technology professionals, software developers, web designers, and business and creative professionals use Safari Books Online as their primary resource for research, problem solving, learning, and certification training.
Safari Books Online offers a range of product mixes and pricing programs for organizations, government agencies, and individuals. Subscribers have access to thousands of books, training videos, and prepublication manuscripts in one fully searchable database from publishers like O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology, and dozens more. For more information about Safari Books Online, please visit us online.
How to Contact Us
Please address comments and questions concerning this book to the publisher:
|O’Reilly Media, Inc.|
|1005 Gravenstein Highway North|
|Sebastopol, CA 95472|
|800-998-9938 (in the United States or Canada)|
|707-829-0515 (international or local)|
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at http://bit.ly/joomla-2e.
The authors also have a companion website at http://www.usingjoomlabook.com.
To comment or ask technical questions about this book, send email to: firstname.lastname@example.org.
For more information about our books, courses, conferences, and news, see our website at: http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia
About the Technical Reviewers
Matt Simonsen, a systems engineer at Khoza Technology, Inc., became interested in Joomla as clients needed solutions to their hosting challenges. As his team has grown and began to take on more development projects, Matt has actively participated in the Bay Area Joomla User Group and is a founding member of the Central Valley Joomla Users Group.
David Beuving is the CTO of Khoza Technology, Inc. and leads the company’s LAMP development team. He has been using Joomla since version 1.0, has authored a number of extensions, and has contributed code to numerous third-party extensions and even the Joomla core. He lives in Jackson, California, where he enjoys spending time with his family and playing music at church.
Duke Speer is on a campaign to save the world, one nonprofit at a time. He let passion become mission a decade ago when he traded the world of being a CIO at a major Southern California-based broker-dealer for the Park City, Utah, lifestyle. As a contributer to The Joomla Project, Duke is the Manager of the Trademark and Licensing Team, serves on the Governance Working Group, and contributes articles and art to the Marketing Team and Joomla Community Magazine. He is probably best known in the Joomlaverse as the designer of the Joomla Framework’s logo, a popular speaker at many JoomlaDays, and the Host of Joomla!Ignite at the Joomla World Conference.
I want to thank the Joomla people who got me involved in the project back at the beginning. A huge thanks goes to Louis Landry, Rob Schley, Andrew Eddie, and Andy Miller for all you’ve taught me about development, open source, and community. A big thanks also goes to my co-author of the first edition, Ken Crowder, who was my first Joomla “spirit guide” on what was to become quite a journey.
Also a big thanks goes to the amazing Ryan Ozimek for his tireless and endless contributions to Joomla, his relentless pursuit of ways to make it better, and for writing the foreword to this book. A debt of eternal gratitude goes to you for all you do.
Thank you to the Joomla men who taught me so much:
- Brian Watters for introducing me to Joomla all those years ago.
- Andy Van Valer for having such belief in me that he got me to start a business building Joomla websites.
- Roland Hall for teaching me the technical side of Joomla and servers so well I could do it myself.
- James Foreman for tirelessly working with me with clients and the JUG, and for being an excellent colleague and friend.
I send gratitude to my daughter Aurora, who allowed me to give my time to this publication and for her tireless and constant support. You are the best daughter ever and I love you mucho!
Many thanks to my family and my friends who have encouraged me while writing this book and building a business—I wouldn’t have done it without you.
Additionally, I want to thank the fabulous people and developers in the Joomla community. You are inspiring, and I am grateful to be a part of such an excellent group of people.
Last but not least, thank you to the entire team at O’Reilly—you are all fantastic. Special thanks to Allyson MacDonald who rocked it doing whatever was needed to make Using Joomla happen and be great.