Chapter 1. Overview

There are so many great ideas and purposes for websites. Yet how do you make yours a reality without spending a ton of money? Where do you start? What resources are available to support you? Do you have to know a bunch of code that makes you feel like a deer in the headlights in order to get the result you want?

No, you don’t need a lot of money. Just some time. In Using Joomla, we’ll show you where to start and take you step-by-step along the way. You’ll be given resources on where to look for further help if you need it. You won’t need to know any code, though a little HTML and CSS will make your journey a bit easier.

All of this is accomplished by using Joomla for your next website.

Joomla is a content management system (CMS) which allows users to add, change, and manage website content with ease. Using Joomla is going to give you the directions to build a Joomla website step-by-step: from planning (Chapter 2), installation (Appendix A), setting up the structure (Chapter 4), and creating content (Chapter 5), to more complex operations such as extending Joomla with third-party extensions (chapters 7 to 11), migration (Appendix B), multiple languages (Chapter 7), security (Chapter 14), and more. All of this will use Joomla 3.x, the latest and most exciting release to date!

A Brief History of Joomla

In 2000, the Australia-based company Miro developed a proprietary CMS called Mambo and, a year later, released it for free to the public under the GNU General Public License (GPL) (see Why Open Source and the GPL? for more on GPL). Mambo quickly garnered a lot of community support and enthusiasm. But in 2005, a copyright dispute with the Mambo Steering Committee caused most members of the Mambo Core Team to resign. The result was a new entity called Open Source Matters and a code fork (a point at which a new version of the source code “forks” in a different direction) of Mambo called Joomla. Joomla, which is a phonetic spelling of the Swahili word “Jumla” meaning “all together,” was officially launched with version 1.0 on September 16, 2005. The first version was primarily a rebranding with a few bug fixes, but 14 updates and numerous open source awards followed over the next two years.

On January 21, 2008, the first major revision to Joomla was announced: Joomla 1.5. It was a monumental effort on the part of many and brought a whole new level of power and features to the open source CMS world. Joomla received a new API and became a truly international CMS, with support for extended character sets and right-to-left languages. It grew leaps and bounds in areas like usability, extensibility, and template control—where it was already superior to other options.

In July 2009, the Joomla Project announced a restructuring of its management to increase productivity and efficiency. The Core Team that originally led the project was replaced by the Joomla Leadership Team. This redefined the role of the team leading the project and structured it more around community involvement in events, the Google Summer of Code projects, and other activities. This somewhat federative approach to team-building was also an effort to increase community participation in the development process instead of relying on a small group of coders to do most of the work.

In January 2012, the third revision to Joomla was announced: Joomla 2.5—another fantastic effort by the Production Leadership Team and others in the Joomla Community. Joomla 2.5 brought many vital new features and a new API, giving Joomla greater ease in use, user control, multilanguage abilities, and the ability to update with one-click.

Quickly after the release of Joomla 2.5, work was under way on the Joomla 3.x series. Joomla 3.x focuses on mobile-friendly websites on the frontend, as well as backend administration. With greater ease in navigation and more user-friendly means of editing Joomla sites, Joomla 3 is fabulous and the focus of this book. As of April 2014, Joomla 3.3 is the current release within the Joomla 3 life cycle. Every two to three months there will be a new minor release within the Joomla 3.x series. Minor releases are whatever comes after the dot (3.4, 3.5, 3.6, etc.). When the last minor release for Joomla 3 is released, it will be supported for two years. We do not know how many there will be as of June 2014.

This release structure allows new features to be added to Joomla 3 as they are needed. Additional features and changes to Joomla 3 are to be fully backwards-compatible from Joomla 3.4 on. This means that updating Joomla 3 within the version won’t break Joomla and won’t break any break third-party extensions.

Checking the information about Joomla CMS versions will keep you up to date on Joomla versions and their support dates.

Joomla Series End-of-Life Dates

Nothing lasts forever (except maybe a Twinkie) and that goes for Joomla releases, too. The following is a list of previous Joomla releases and their end-of-life dates:

  • Joomla 1.0.x: July 22, 2009. We advise you to migrate to Joomla 3.x in order to stay current.
  • Joomla 1.5.x: September 2012. We advise you to migrate to Joomla 3.x in order to stay current.
  • Joomla 2.5.x: December 2014. We advise you to migrate to Joomla 3.x before Joomla 2.5 is end of life.

(For more information on upgrades and migration, see Appendix B.)

Why Open Source and the GPL?

The idea behind open source software—that it can be freely used, modified, or even sold—is a powerful one. This doesn’t mean that open source software is always cost-free, but users like you and me are allowed to change and improve it, which spurs creativity and innovation.

The Joomla Project believes strongly in the power of the GNU GPL. It’s not just because it’s the most popular of the open source licenses, but the project also feels it offers the best freedoms for third-party developers and encourages them to follow the project’s lead in choosing to make their software open source. Visit the Open Source Initiative for more information. For more information about the GNU GPL, visit the Free Software Foundation.

The Advantages and Disadvantages of Using a CMS: Static Versus Dynamic

For many years, the traditional way of building a website has been with plain, static HTML. Whenever a change was needed, web designers used tools like Adobe Dreamweaver to perform tasks manually. If the websites were small, it was a fairly simple task. Now that even relatively small sites contain hundreds of pages and the largest ones contain hundreds of thousands, the time and expense involved in maintaining a static HTML website is much greater than when the Web was young. An advantage to static HTML sites is that they are less likely to have security vulnerabilities and require very little ongoing maintenance.

A CMS has many advantages because of its dynamic structure. You can make one simple menu change and have it reflect throughout your entire site—no matter the size. Your content is organized and maintained through a backend system, allowing you to manage templates, content, images, and more. A CMS like Joomla has many powerful features, like contact forms and search, already built in. It can also help teams effectively collaborate, create content based on specified permissions, and manage documents and digital assets.

The disadvantage of using a dynamic CMS as opposed to a static site is that it requires commitment and ongoing maintenance. Software of a CMS must be updated to keep features and security up to date. Frequent security updates happen with the core software and third-party extensions. While some may think it is optional to do these updates, one of the top reasons for problems in a CMS is the core or third-party extensions not being properly updated in a timely fashion. Thus, your commitment is necessary. It’s similar to a vehicle. Everyone knows that the oil needs to be changed regularly or the vehicle will not perform optimally or can even break. It is the same with software like Joomla. Getting the oil changed doesn’t take very long. It does need to be done, though. Depending on the number of third-party extensions your website is using, your time commitment could be as small as 10 minutes every month. Not bad and very doable! Still, if you cannot commit to the necessary time, perhaps a static site is best for you.

Since you are reading this book, we’ll trust that you are totally committed to your Joomla site and will be on your game keeping it up to date. You can get into planning your website in Chapter 2 or you can jump in and start on Appendix A to install Joomla and take a tour of the Administrator Panel (Chapter 3).

Joomla Concepts

Joomla is database-driven. Your content is stored in a database that is created at the time of installation (see Appendix A).

Joomla is menu-based. Your content displays in various ways according to menus and menu items. This is often referred to as the site navigation or site map.

Menus give your visitors a way to reach your content. Content is most often an article or a group of articles in a specific category displayed in the main content area of your site. Third-party components like a forum or store display in the main content area by means of specific menu item types, which are as part of the component.

Often one wants to display smaller blocks of content above, below, or in the sidebars of the main content area. These blocks are called modules. Modules display in module positions defined by the template, and based on their menu assignment.

For example, you may want one or more modules displayed only on the home page above your main content article. You may want a specific module displayed only on your store pages to bring attention to specific products. Each module can display on one or more menu items regardless of their type.

URLs are displayed based on menu item aliases. The alias is set within the menu item and displayed on the frontend of your site as the URL for that page.

Figure 1-1 shows an example of a typical site page that includes a module, menu, and main content area.

Menus, modules, and main content area of a Joomla site
Figure 1-1. Menus, modules, and main content area of a Joomla site

As you can see, a typical page is made up of articles, menus, and modules. Understanding this will make planning your website easier and will help you know the terminology better. Check out the Preface for more on terminology in your Joomla site.

The first step in building a website is to plan. Planning takes patience and decision-making. It’s OK for it to take time. The better you plan, the easier it will be to build your site. In Chapter 2, we will take a step-by-step process and plan a website.

Get Using Joomla!, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.