Welcome to the first chapter of Kevin’s Guides Intro to Joomla! series. In this chapter, you will learn about what Joomla is, what you can do with it, and the basics of how it works.
Each chapter will build upon the last. If you already know the basics, you may skip ahead to later chapters.
The goal of this series is to get you up and running with a stable working website. We’ll cover all the fundamentals and talk about using some essential open source extensions provided by the Joomla! development community. By the end, you should have all the knowledge necessary to build and manage Joomla powered websites.
Without further ado, let’s get started!
On Joomla 5…
Joomla has recently updated to the next major version, 5. This new version is functionally identical to version 4.4, for now. Virtually everything in this series that applies to 5 also applies to 4, and vice versa. If you are starting new, I would suggest just beginning with version 5.
What is Joomla?
Joomla! is a free to use, open source content management system built primarily using PHP and MySQL. It powers millions of sites worldwide. A content management system (CMS) is any software platform that allows users to create, modify, and publish information.
There are many content management systems out there. WordPress is the largest by user base, Shopify is a distant second, and Joomla is third. While there are certain advantages to each option, Joomla excels in a few key areas.
Advantages of Joomla
- Able to handle very large collections of articles
- Highly configurable with hundreds of excellent extensions
- Open source, free, with a decently active community
- Built in multilingual site support, if you intend on making content available in multiple languages
- Extensive user management capabilities and permission handling
- Developer friendly
Simply put, Joomla is the best open source CMS for handling extensive collections of content. I believe Joomla is the best content management system, WordPress is the best blogging platform, and Shopify is the easiest to use eCommerce solution.
If you’re a web developer, Joomla is easy to make extensions for. It is the better solution for informational websites, documentation websites, internal company websites, directories, and any website that needs to allow concurrent users to edit it. Once you learn the essentials of Joomla, you can easily go off to create nearly any type of website you could dream of.
The “Bones” of Joomla
PHP is a widely used server-side programming language that Joomla was written in. PHP was chosen for several reasons. The main benefits of using PHP are that it’s a very popular language, so many developers know how to use it, it’s free to use and run, giving it a wide reach, and it has relatively low overhead on web servers. It’s efficient. This flexibility is a plus for Joomla.
MySQL (pronounced “my-see-quill”) is a database system. There are a variety of different SQL platforms, and Joomla supports a few. There are free versions and commercial versions. Because of the popularity of SQL databases, and their ready accessibility, it’s another significant reason for Joomla to use them. Joomla uses MySQL databases to store all the information or content of the website. Things like usernames, passwords, articles, dates, and more are all stored in a MySQL database.
WordPress, the world’s most popular CMS, is also built on PHP and MySQL. Don’t be put off by the technical details of PHP or MySQL. You don’t actually need to know much about them to get started with Joomla unless you plan on being a web software developer. No programming or advanced database administration skills are required to get a website up and running with Joomla. The CMS itself handles all the technical work for us.
Joomla also incorporates other web technologies, such as Bootstrap and jQuery. You don’t need to worry about that if you’re not a developer. They also use some client side JavaScript for the more interactive elements of the website.
A Brief History
Joomla was originally developed as a fork or spin-off project of the now defunct Mambo CMS, which existed from 2000 through 2008. It essentially started as a heavily changed version of Mambo. In fact, in its early days, many third party extensions and templates that worked in Mambo also worked in Joomla with little or no changes required. Now, Joomla has grown to a point where it no longer uses any of the original Mambo codebase. In fact, most of Joomla has been rewritten several times over to keep up with the ever-changing demands of growing web technologies.
Still, at its core, Joomla operates similarly to how the original Mambo CMS operated. A Mambo administrator from 2005 would find themself relatively at home using up to Joomla 3. Joomla 4 made several significant changes to the back end, and now looks entirely different from the original Mambo administration panel. Joomla 5 looks roughly the same as Joomla 4, with a dark mode.
As you can see from the above images, although they all look different, at their core they all contain similar options for managing content and users.
Who Makes Joomla?
Joomla is developed by Open Source Matters (OSM), Inc, a nonprofit organization dedicated to updating and maintaining Joomla. Since Joomla is open source, members of the community are free to view the source code and make changes as needed. If the changes are approved, they may be added to a future release of Joomla so everyone can benefit from the enhanced features. OSM has a board of directors responsible for the legal, organizational, and financial aspects of maintaining Joomla. They are largely based in different European nations, but the overall Joomla! community is worldwide.
What can I do with Joomla?
The options for customization are truly endless with Joomla, and so are the types of sites you can make. There are thousands of extensions (free and commercial) available through the Joomla Extensions Directory that can serve just about any purpose. Out of the box, Joomla has all the tools you need to create a content driven website, such as a blog, an online magazine, or a collection of guides (like this website!). With extensions, you can create online stores, forums, directories, image galleries, or even your own social network, all without having to write a line of code. Hundreds of templates exist, so you can customize the style of your website as you see fit. If you need even more customizability beyond what you can find in an extension, you can hire a developer to do these customizations for you, or if you know how to code, do it yourself.
How Joomla! Works
The software behind Joomla itself comprises a large amount of files (mostly PHP files). Once uploaded to a web host that supports both PHP and MySQL (usually Apache web server), you can set up your Joomla installation, configure things in the admin panel, add your content, and ultimately publish your website. A web server is the computer that hosts the web pages and, in our case, has the software needed to run PHP files. It also serves the files from Joomla to the end user, so they can see the website in their browser.
The web server can be anywhere, and there are many types. You can use your own personal computer as a web server, you can buy web hosting from a hosting company or use cloud services. We have an entirely separate guide on selecting a web host. For the purposes of this series, we’ll be testing out Joomla in our own local testing environment. This is free and relatively easy to do. We’ll set everything up in the next chapter. While you can host a website from your own computer and serve it to the world wide web, this isn’t recommended for security and reliability reasons. We’ll only be using our local PCs as testing environments, not accessible to anyone on the internet.
I’d recommend you purchase web hosting down the road when you get serious about your website and have enough content to make it worthwhile. Thankfully, hosting is very affordable these days, with prices ranging anywhere from $5/mo for websites with little traffic to thousands of dollars per month for websites with millions of active daily users.
Key Terms
Review the terms below as they relate to Joomla. They will be mentioned a lot during this series.
The front end of a website is the side the public (or registered users) can see. You are viewing Kevin’s Guides front end right now.
The back end of a website is the area only authorized users may access. It’s where we make major changes to the website and its content. As an administrator, you will do most, if not all, of your site edits in the Joomla Back End, called the Administration panel.
The global configuration is the area of the admin panel where we can change our most important site settings.
An extension is any piece of software we add on or install to Joomla. These could be plugins, components, templates, etc.
A template is an extension that provides a website its unique style, color scheme, and layout. Depending on the developer, a template may have no customization options or thousands of options.
An article is a piece of content (usually HTML) stored in Joomla’s database. This page is an example of a Joomla article. Articles could be pages, blog posts, news pieces, product descriptions, etc.
A category is a collection of articles or other categories.
An administrator is a person responsible for managing a website, its users, and its settings. In Joomla, the role of administrator grants a user permission to make nearly any change to the website. We will discuss roles and permissions in more detail later.
WYSIWYG stands for “What You See Is What You Get.” It’s a type of editor that allows you to visually write and format content for display without needing to understand HTML. Kind of like a word processor.
A user is anyone who uses the website, including the general public, registered users, site authors, and administrators. Joomla divides users into user groups.
A menu is a structured list of links allowing the user to navigate to different areas of a website. In Joomla, menus can also help dictate where the user is in the address bar.
Don’t worry about studying the above too hard. You’ll learn everything in more detail as this series progresses. These are just some of the fundamental pieces of Joomla! which we’ll be discussing in greater detail in upcoming chapters.
Conclusion
You should now know a little bit more than you did before about Joomla. If you’d like to learn more about the specific features of Joomla, check out this official website. In the next chapter, you will learn how to setup a local test server and install Joomla for the first time.