Preface Preface
Joomla! is an open source content management system (CMS) that anyone can download for free (see http://forge.joomla.org/sf/go/projects.joomla/frs). This makes it an ideal choice for small businesses. Don't let the price tag fool you, though; Joomla! is powerful and robust, and more big organizations are choosing to use open source software solutions all the time. Its universal appeal has made Joomla! hugely popular as a CMS.
As Joomla! matures, it is being adopted by more and more organizations, from corporations to schools and universities to government organizations to newspapers and magazines to small businesses. Its greatest advantage is its flexibility. You can see it on a huge variety of sites.
The Purpose of This Book
This book is about Joomla!, a popular and award-winning ("Best Linux/Open Source Project" for 2005) open source CMS. This book walks, step-by-step, through everything you need to develop a successful website powered by Joomla!. The book gives a general overview of management of a CMS and teaches you key concepts regarding content organization, editing, and templates. Finally, this book examines some more general topics, such as how to maximize search engine optimization (SEO) with Joomla! and what resources are available in the Joomla! web community.
This book focuses on the most current release of Joomla!, Joomla! 1.5, which is a significant update to this CMS.
This Book's Target Audience
This book primarily targets people using Joomla! 1.5 to create a website, either for themselves or their clients. It's easy to read and low on technical jargon. It doesn't assume that you know PHP or CSS.
All the concepts in this book are explained with step-by-step contextual examples. If you follow all the steps in all the chapters, you will build seven separate Joomla! websites!
How to Use This Book
You can use this book in several ways. You can start at the beginning and go chapter-by-chapter, as you develop your own site. The book is carefully laid out so that introductory ideas in the earlier chapters are developed and built on to help you understand more advanced concepts later on. You can also use the book as a reference. If you need some quick ideas of what newsletter extensions are available, for example, head to Chapter 6, "Extending Joomla!" Finally, the appendixes contain valuable information about various aspects of Joomla!.
Chapter 1: Content Management Systems and an Introduction to Joomla!
In today’s fast-moving web, if you have a website that doesn’t have rich functionality or fresh content, you will find yourself at a disadvantage to those who do. The idea of powering websites with a CMS has been around for some time, but it is only recently with the advent of high quality open source CMS scripts like Joomla! that we have seen these powerful CMS tools coming into our hands.
In this chapter, I explain in detail the difference between a “traditional” website and one using a CMS. We also look at the history of Joomla! and an overview of some of its features.
Chapter 2: Downloading and Installing Joomla!
Joomla! is one of the most popular open source CMS on the planet. The first step in becoming part of the “Joomla!sphere,” the vibrant community that exists around the Joomla! Project, is to download Joomla! and install it on your web server.
This chapter shows you how to get up and running with a Joomla! site. The two steps are to download the latest files and to install them on a web server. This chapter describes both a local (your home computer) installation to use as you read this book (if you don’t have a hosting account or have a slow Internet connection) and real web server installations.
Chapter 3: Joomla! Administration Basics
The term “site administration” usually means the day-to-day tasks of adding content, managing users, and making sure installed components and modules are running correctly. With a properly configured Joomla! site, the administration burden is relatively low. Most of the effort can be dedicated to generating that all important content.
In this chapter, we go on a whirlwind tour of the core administrative functions you need. I won’t be going step by step, explaining every last button in the admin backend, but rather picking out key functions, tips, and tricks that you’ll need to know to keep your site humming.
Chapter 4: Content Is King: Organizing Your Content
As a CMS, Joomla!’s primary function is to organize and present all the content in your site. It does this through content articles. These discrete pieces of content must be organized into a two-level hierarchy called sections and categories.
This chapter provides an in-depth tutorial that explains how Joomla! displays its content articles and how you can organize the hierarchical structure of them. It details how to plan and organize the content and user experience for the site. It also explains the hierarchy structure currently used in Joomla!, sections and categories, and how to best structure content into them for small and large sites.
Chapter 5: Creating Menus and Navigation
Menus are perhaps the core of a Joomla! site. In a static HTML site, they merely serve as navigation. In a Joomla! site, they serve that purpose, but they also determine the layout of what a dynamic page will look like and what content will appear on that page. The relationship between menus, menu items, pages, and modules is perhaps one of the most confusing in Joomla!. This chapter explains this relationship so that you can create a navigation scheme that works for your site.
Chapter 5 examines how the navigation (menus and links) is built for a Joomla! website and how the different aspects interact to produce a coherent navigation structure.
Chapter 6: Extending Joomla!
It’s hard to find a Joomla! powered website that has not added functionality beyond the basics with some sort of extension. The word extension collectively describes components, modules, plugins, and languages. There are many hundreds available both free and commercially from third-party providers.
In this chapter, we look at some examples of core and third-party Joomla! extensions. We also examine how they are installed and managed in Joomla!.
Chapter 7: Expanding Your Content: Articles and Editors
There are two main ways to add and manage content to a Joomla! site: through the frontend or backend. Part of the biggest attraction of Joomla! is to easily add and edit content through a What You See Is What You Get (WYSIWYG) editor.
In this chapter, we start out looking at WYSIWYG and how it functions in the backend with Managers, Administrators, and Super Administrators. We then examine how authors, editors, and publishers manage content through the frontend.
Chapter 8: Getting Traffic to Your Site
Search Engine Optimization (SEO) might be one of the most maligned subjects on the web. From talk to black hat SEO, people who use unethical methods to gain rank in search engines, to their counterparts of white hat SEO, the good guys, how best to get traffic to your site is loaded with opinion and myth.
Trying to learn about SEO is difficult, to say the least. In this chapter, I emphasize Search Engine Marketing (SEM). I point out some obvious SEO tips and how they apply to Joomla!, but I’ll also discuss a more holistic marketing plan including such strategies as Pay Per Click and blogging.
Chapter 9: Creating a Pure CSS Template
In this chapter, we go through the steps of creating a Joomla! template. Specifically, we create a template that uses Cascading Style Sheets (CSS) to produce a layout without use of tables. This is a desirable goal as it means that the template code is easier to validate to World Wide Web Consortium (W3C) standards. It also tends to load faster, be easier to maintain and perform better in search engines. We discuss these issues in detail later in the chapter.
Chapter 10: Creating a School Site with Joomla!
School websites tend to be medium to large in size. One of the defining characteristics of Joomla! is that it is very powerful and flexible but can be quite time intensive to set up. This leads us of course to this chapter, an extensive guide to creating and setting up a school website using the Joomla! CMS.
Chapter 11: Creating a Restaurant Site with Joomla!
The chapter looks at the entire process of creating a restaurant website from scratch. We examine how to build a small business website, in this case a restaurant. Starting from an analysis of needs, this chapter shows you how to organize possible content all the way through to adding photos and considering further extensions.
Chapter 12: Creating a Blog Site with Joomla!
It seems like everyone has a blog these days. Many people still think of blogs as personal diaries, but more and more organizations and companies are using blogs as a way to shape perceptions of who they are and what they do. Chances are, if you go to a website today, you will find a link to the owner's blog somewhere on the site. What is becoming more common on websites now is a section of the site that is dedicated to the blog.
This chapter talks about blogs in a more general sense: a dynamic communication medium for a person or organization to interact with stakeholders. We look at creating a blog site from scratch using Joomla!.