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 go “deer in the headlights” to get the result you want?
No, you don’t need a lot of money. Just some time. By utilizing Using Joomla (O’Reilly) as a guide 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 their 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-11), migration (Appendix B), multilanguage (Chapter 7), security (Chapter 14) and more. All of this will use Joomla 3.x, the latest and most exciting Joomla CMS release to date!
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, multi-language abilities, and the ability to update with one-click.
Quickly after the release of Joomla 2.5, work was underway on the Joomla 3.x series. Joomla 3.x focuses on mobile friendly websites on the frontend and the 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 2-3 months there will be a new minor release within the Joomla 3.x series. Minor releases are whatever is 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 April 2014.
This release structure allows new features to be added to Joomla 3 ongoing. Additional features and changes to Joomla 3 are to be fully backward compatible from Joomla 3.4 on. This means that updating Joomla 3 within the life cycle won’t break Joomla or third-party extensions.
Checking the information about Joomla CMS versions will keep you up to date on Joomla versions and their support dates.
Nothing lasts forever (except maybe a Twinkie) and that goes for Joomla releases too. The following is a list of past Joomla releases and their end of life dates:
(For more information on upgrades and migration, see Appendix B.)
The idea behind open source software that 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 feels it offers the best freedoms for third-party developers and encourages them to follow their lead in choosing an open source license. Visit the Open Source Initiative for more information. For more information about the GNU GPL, visit the Free Software Foundation.
For many years, the traditional way of building a website has been with plain static HTML. Whenever a change was needed, web designers use tools like Adobe Dreamweaver to perform tasks manually. If the websites were small, it was a fairly simple task. Now that even the smallest sites contain hundreds of pages and the largest ones contain hundreds of thousands, the time and expense involved in having a static HTML website is much greater when pages are added. An advantage to static HTML sites is that they are less likely to have security vulnerabilities and require very little ongoing maintenance.
A content management system (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 managed 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 some commitment and ongoing maintenance. Software of a CMS must be updated both 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. You have to be committed to maintaining your website with a CMS. It’s similar to a vehicle. Everyone knows that the oil needs to be changed regularly or the vehicle will not perform optimally or 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 ten 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.
Being that 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 is database driven. Your content is stored in a database 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 available 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 you 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.
See Figure 1-1 as an example of a typical site page to see what is a Module, Menu, and main content area.
As you can see, a typical page is made up of articles, menus and modules. Understanding this will make planning your website easier and know the terminology better. Check out the Preface for more on terminology of 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.