Joomla! 4 Masterclass - Luca Marzo - E-Book

Joomla! 4 Masterclass E-Book

Luca Marzo

0,0
27,59 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Joomla has been the second-most used open-source content management system for years. It has always had many built-in features, but several of them are not very well-known in the market. This book brings to you all the major features of the Joomla 4.x series that’ll enable you to build your own website and CMS on Joomla.
The book begins by introducing you to the content management features that represent the hearth of the software and show you how to structure your website content to get the most out of it. You’ll also find out how to extend your content with custom fields, go multilingual, and set up your custom workflow. As you advance, you’ll learn all about the customization of the website, introducing templates, and child templates and overrides that’ll allow you to make your site unique. The concluding chapters will take you through four different case studies, including an online learning system, a B&B booking system, and corporate and editorial websites to see how Joomla has been used in real life to achieve a specific goal for your clients.
By the end of this book, you’ll be able to confidently build modern websites on Joomla to deliver tailor-made solutions to your clients.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Seitenzahl: 331

Veröffentlichungsjahr: 2023

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Joomla! 4 Masterclass

A practitioner’s guide to building rich and modern websites using the brand-new features of Joomla 4

Luca Marzo

BIRMINGHAM—MUMBAI

Joomla! 4 Masterclass

Copyright © 2023 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author(s), nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Group Product Manager: Alok Dhuri

Publishing Product Manager: Harshal Gundetty

Book Project Manager: Prajakta Naik

Senior Editor: Rounak Kulkarni

Technical Editor: Jubit Pincy

Copy Editor: Safis Editing

Project Coordinator: Manisha Singh

Proofreader: Safis Editing

Indexer: Tejal Daruwale Soni

Production Designer: Alishon Mendonca / Ponraj Dhandapani

Developer Relations Marketing Executive: Deepak Kumar and Rayyan Khan

Business Development Executive: Puneet Kaur

First published: January 2023

Production reference:1221222

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham

B3 2PB, UK.

ISBN 978-1-80323-897-5

www.packt.com

To my grandmother, Gina, for her love and support.

Special thanks to my friends Eugenia and Giovanni, and my sister Erica, for their support on this writing adventure.

– Luca Marzo

Foreword

Powering millions of websites worldwide, Joomla has proven to be one of the major content management systems (CMSes). It’s flexible, versatile, secure, and very stable, and it’s packed with possibilities, right inside the core. Whether you’re a first-time hobby user or a web developer by profession, Joomla 4 (the latest version) offers you a platform you can use to build almost everything you can imagine… if you know how and where to start.

And that is exactly what this book is about. In Joomla! 4 Masterclass, Luca Marzo explains everything you need to know to create any – and by any, I really mean any – kind of website. The book covers information for users at various skill levels, whether creating your first content, customizing the look and feel of your website, using extensions, creating overrides, or using Joomla’s CLI.

If anyone can thoroughly guide you through the many options of Joomla, it is Luca. He has been secretary of Joomla’s board of directors since 2017 and was in several Joomla teams before that (in case you didn’t know, the developers, maintainers, and everyone else working for Joomla are all volunteers). Luca breathes Joomla. He is dedicated, committed, thorough, and meticulous, and he knows virtually everything there is to know. When he told me he was going to write this book, I was thrilled, because I knew it would turn out the way it has: a comprehensive guide for everyone who wants to explore the countless features and possibilities of the world’s most powerful CMS.

Enjoy the ride!

Anja de Crom

Team Leader, Joomla! Community Magazine Team

Contributors

About the author

Luca Marzo is a technology professional with more than 15 years of experience. During his career, he has had the chance to develop websites with Joomla as a freelancer for small to medium-sized companies. He served as an IBMer for 1.5 years. After that, he moved to the web hosting industry. His love for Joomla was born in 2007, a few months after which he started contributing to the Italian Joomla Community. He then progressed to contribute to the global community, where he had the opportunity to serve as the secretary and member of the board of directors for The Joomla Project at a global level for more than 5 years. In The Joomla Project, he has also contributed to the Certification Program, the Community Magazine, and the Extensions Directory.

About the reviewers

Pascal Abatiello is a trainer, editor, and writer. He founded his company in 2012, developing a network of e-learning websites and providing training classes about major CMSes, including Joomla, WordPress, and PrestaShop; SEO techniques; and digital marketing. He’s also the co-founder of Host Academy, a leading e-learning portal that has trained thousands of webmasters and website integrators.

Benjamin Trenkle is a Joomla developer and the owner of Wicked Software, a web development company based in Munich, Germany. He is deeply involved in the Joomla! community, serving as a release lead and production department coordinator. In his free time, Benjamin enjoys programming and volunteering. He is passionate about using his skills to make a positive impact on the world. On his home page, www.wicked-software.de, Benjamin showcases some of his work and extensions and provides information on his services and experience.

Table of Contents

Preface

Part 1 – Joomla! Out of the Box

1

A Powerful and Extensible Core

Technical requirements

The backend application

The backend experience

Exploring the Joomla dashboards

Extensions

Extension types

Extensions management

Exploring the included components

The Banners component

The Contacts component

The News Feeds component

The Smart Search engine

The Tags component

Summary

Further reading

2

How to Manage Content

Exploring articles in Joomla

Creating a new article

Content

Images and Links

Exploring Publishing and SEO settings

Article Options

Exploring the Media Manager

Media editing features

Getting to know categories

Page, post, or article? That is the dilemma!

Exercises

Exercise 1 – categories

Exercise 2 – articles

Summary

3

Advanced Content Management

Enrich your articles with custom fields

What is a custom field?

Custom field groups

Adding custom fields to articles

Adding content to custom fields

Case study – building a directory with custom fields

Planning the structure

Custom publishing workflow

Exploring workflows

Transitions

Basic Workflow

Case study – an online magazine with Joomla

Workflow implementation

Accessibility by default – the JooA11y tool

Exercises

Exercise 1 – Create a custom field

Summary

Further reading

4

Exploring the Flexibility of Modules

What is a module?

Exploring the types of modules

The custom module

Module positions and assignments

Adding a module to your website

Backend modules

Case study – a custom backend dashboard

The scenario

Implementation

Summary

Exercises

Exercise 1 – creating a custom module

Resources

5

Building Your Site Structure: the Menu System

The menu system

Creating a menu

Creating a new menu item

Exploring available menu item types

Menu item options

Menu and SEO configuration

Menu and languages

Summary

Exercises

Exercise 1 – create a menu and a menu item

Exercise 2 – a category list

6

Managing Users and Their Permissions

Users Dashboard

User accounts

Creating a new user account

Editing a user profile

User Groups

Creating a user group

Access levels

Creating a new access level

Managing permissions and privileges

Managing permissions of a component

Managing permissions for a single item

Specifying access permission for items

Users – custom fields

User notes

Mass mail

Built-in privacy features

Privacy Dashboard

Setting a privacy policy

Privacy requests

User Action Log

Summary

Exercises

Exercise 1 – user groups and permissions

Exercise 2 – privacy features

Part 2: Advanced Features

7

SEO at Its Best

Exploring on-page SEO features

Optimizing an article

SEO options offered by menus

Robots management

SEO-friendly URLs

Handling 404 errors

Exercises

Exercise 1 – Friendly URLs

Exercise 2 – Article SEO

Summary

Further reading

8

One Site, Multiple Languages

Building a multilingual website

How to set up a multilingual website

Plugin: System – Language Filter

Plugin: System – Language Code

Checking your website’s multilanguage status

Remove the module that holds the home for all languages

Publishing home pages for each language

Publishing the Language Switcher module

Managing content in multiple languages

Multilingual Associations

A different website for each language

Exercises

Exercise 1 – Set up a multilingual website

Exercise 2 – Multilingual Associations

Summary

Further reading

9

Planning Operations with Scheduled Tasks

What is a Scheduled Task?

Creating a scheduled task

Example – scheduled maintenance window

Example – automatically optimizing your images

Exercises

Exercise 1 – handling planned maintenance

Exercise 2 – calling an endpoint

Summary

Further reading

10

Tailored Communication with Mail Templates

Notifications as a branding item

The Mail Templates feature

Customizing an email template

Case study – customizing the user registration email

Exercises

Exercise 1 – customizing the courtesy Contact Form Mail Copy

Exercise 2 – modifying your emails with your logo

Summary

11

Command-Line Interface

Using Joomla via the CLI

Available commands

Example – managing users through the CLI

Example – updating your site through the CLI

Exercises

Exercise 1 – accessing Joomla’s CLI

Exercise 2 – Scheduled Tasks via the CLI

Summary

Further reading

Part 3: Styling and Securing Your Website

12

Styling Your Website – Templates

What is a template?

Template management – templates

Template management – styles

Example – a powerful frontend template, Cassiopeia

Exploring backend templates

Template positions

Exercises

Exercise 1 – customizing your frontend template

Exercise 2 – creating a new template style

Summary

13

Customize Everything with Overrides

What is an override?

Where to use overrides

Example – overriding the appearance of a single article

Example – overriding the style of a module

Language overrides

Exercises

Exercise 1 – Create a module override

Exercise 2 – Create a language override

Summary

Further reading

14

Child Templates

What is a child template?

Creating a child template

Child templates and overrides

Child templates or duplicated templates

Exercises

Exercise 1 – creating a child template

Summary

Further reading

15

Template Frameworks

What is a template framework?

Why use a template framework

Most used template frameworks

Example – Helix Ultimate

Installing Helix Ultimate

Customizing with Helix Ultimate

Example – T4 Framework

Installing T4 Framework

Customizing with T4 Framework

Example – Gantry

Installing the Gantry framework

Customizing with Gantry

Exercises

Exercise 1 – Use a template framework

Summary

Resources

16

Advanced Features – Access and Security

Setting up passwordless authentication for your website

Multi-factor authentication

Verification Code

YubiKey

Web Authentication

Email Verification

Fixed Code

Enabling multi-factor authentication

Increasing your website security with HTTP headers

Exercises

Exercise 1 – WebAuthn authentication

Exercise 2 – multi-factor authentication

Summary

Further reading

Part 4: Case Studies

17

Case Study – A Corporate Website in Joomla

Introduction

Project goals

Why Joomla?

Reproducing the previous website using another technology

A fast and modern website

Keeping the position

Extensions used

Summary

18

Case Study – Online Academy with Joomla

Introduction

Project goals

Why Joomla?

The solution

Extensions used

Summary

19

Case Study – A B&B Booking System with Joomla

Introduction

Project goals

Why Joomla?

The solution

Extensions used

Summary

Index

Other Books You May Enjoy

Preface

Joomla! 4 Masterclass is a book that explores all the major functionalities of the new version of the software. Joomla is one of the most widely used Content Management Systems (CMSes), powering around 2.7% of the world’s websites. Joomla 4.x, released in the third quarter of 2021, is the new major version of the CMS, coming 9 years after the release of Joomla 3.0, and is packed with many new features that empower website integrators, allowing them to build rich websites with ease.

CMSes such as Joomla allow you to develop a website without having coding skills or a command of the PHP, JavaScript, or CSS language. In many cases, you can build composite layouts visually using a drag-and-drop interface. Furthermore, you can extend a CMS’s functionalities by adding extensions, such as plugins, so that you can transform your website into an online shop, a reservation system, or an e-learning portal. All the major CMSes on the market benefit from a large ecosystem of developers providing extensions and templates to heavily customize a website and satisfy most of the needs of website developers or owners.

This book will show you how to build a website, using the numerous features included in Joomla, and debunk certain myths related to its perceived complexity.

Use of the Joomla!® name, symbol, logo, and related trademarks is permitted under a limited license granted by Open Source Matters, Inc.

Who this book is for

This book is ideal for all those who want to start using Joomla, irrespective of whether they have used a previous version or not. Joomla newcomers will benefit from the inclusion of screenshots depicting the functionalities and step-by-step guides. Experienced Joomla users will be introduced to the brand-new features of Joomla 4, seeing them in action in the examples and analyzing three real case studies.

This book is suitable for either website developers or CMS integrators, as well as website owners that would like to become independent, managing their websites by themselves. Exercises at the end of each chapter allow the readers to apply and test their knowledge.

What this book covers

Chapter 1, A Powerful and Extensible Core, introduces the Joomla core, presenting the backend interface and its main features, and the opportunities to expand its functionalities using extensions.

Chapter 2, How to Manage Content, explores the content management features, explains how to structure content, and compares Joomla’s functionalities with other major CMSes.

Chapter 3, Advanced Content Management, points out some advanced features for handling content, whether scheduled publishing options, custom fields, how to build a custom publishing workflow, or how to produce accessible content.

Chapter 4, Exploring the Flexibility of Modules, explains modules, a basic and flexible element that is used to build both the frontend and backend layouts of the website. Modules can display specific content in a particular position on the website.

Chapter 5, Building Your Site Structure – the Menu System, teaches the reader how to build the navigation system of a website through the menu, build complex navigation structures, handle different menu item lists, manage language associations for multilingual sites, and govern access permissions.

Chapter 6, Managing Users and Their Permissions, demonstrates how to manage user accounts, registration, login, permissions, and much more. Furthermore, it introduces the powerful Access Control List (ACL) system.

Chapter 7, SEO at Its Best, details all the integrated features that can improve the Search Engine Optimization (SEO) of the website.

Chapter 8, One Site, Multiple Languages, illustrates how to build a multilanguage website in Joomla thanks to the built-in features.

Chapter 9, Planning Operations with Scheduled Tasks, presents the tool for scheduling and automating recurring operations on a website.

Chapter 10, Tailored Communication with Mail Templates, shows the reader how to customize default emails sent by their website.

Chapter 11, Command-Line Interface, describes the CLI offered by Joomla, showing how to execute operations on the website through the terminal.

Chapter 12, Styling Your Website – Templates, provides an overview of the templates and shows how to customize the look and feel of a website using Joomla’s options.

Chapter 13, Customizing Everything with Overrides, is all about overrides, a method that allows you to customize how part of a website looks without the need to alter the original template.

Chapter 14, Child Templates, reveals a brand-new functionality of Joomla that allows you to create derived styles and templates, increasing the degree of customization and simplifying maintenance.

Chapter 15, Template Frameworks, goes through the most used template frameworks in Joomla, going through their options and showing how to build a custom style with ease.

Chapter 16, Advanced Features – Access and Security, covers some advanced functionalities dedicated to logging in, multi-factor authentication, and site security hardening.

Chapter 17, Case Study – A Corporate Website in Joomla, makes use of a case study to show how the CMS has been used to build a company’s main website, replacing an old JSP frontend with a fast and lightweight website.

Chapter 18, Case Study – An Online Academy with Joomla, implements another case study with a CMS that has been used to build an e-learning portal that sells and provides access to thousands of online lessons for many students.

Chapter 19, Case Study – A B&B Booking System with Joomla, incorporates another practical example of a CMS that has been used to build the website for a tourist rental flat, implementing a full-featured reservation system integrated with online booking portals.

To get the most out of this book

It’s recommended to set up a personal installation of Joomla that can be either local (for example, using XAMPP) or online (for example, using launch.joomla.org). Using an online free instance would be preferable, as you don’t have to install and configure local web servers.

Software/hardware covered in the book

Operating system requirements

Joomla 4.x

Windows, macOS, or Linux

SP Page Builder

A modern web browser (Mozilla Firefox, Google Chrome, or Apple Safari)

Solidres

Helix Ultimate

T4 Framework

Gantry

In the case study presented in Chapter 19, the Pro version of Solidres and some paid plugins were used.

Download the color images

We also provide a PDF file that has color images of the screenshots and diagrams used in this book. You can download it here: https://packt.link/jaQUU.

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: “Simply create a new file under the /css folder of your template called custom.css.”

A block of code is set as follows:

.myfooter {   font-size: 13px;   font-weight: 600;   color: #1c77ba; }

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “From System Dashboard, open Site Templates.”

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you’ve read Joomla! 4 Masterclass, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

Download a free PDF copy of this book

Thanks for purchasing this book!

Do you like to read on the go but are unable to carry your print books everywhere?

Is your eBook purchase not compatible with the device of your choice?

Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.

The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

Follow these simple steps to get the benefits:

Scan the QR code or visit the link below

https://packt.link/free-ebook/9781803238975

Submit your proof of purchaseThat’s it! We’ll send your free PDF and other benefits to your email directly

Part 1 – Joomla! Out of the Box

In this part, you will get an overview of the Joomla Core and its functionalities. You will discover the features included in the Content Management System (CMS) and how to use them. This part will also cover how to create and manage content through articles and modules. You will then go through some advanced publishing features and see how to create a navigation system for your website. The final part of the section is dedicated to user and permission management functionalities.

This section has the following chapters:

Chapter 1, A Powerful and Extensible CoreChapter 2, How to Manage ContentChapter 3, Advanced Content ManagementChapter 4, Exploring the Flexibility of ModulesChapter 5, Building Your Site Structure – the Menu SystemChapter 6, Managing Users and Their Permissions

1

A Powerful and Extensible Core

One of the major characteristics of Joomla is represented by its core: a modern and robust web application that integrates many features and allows you to plan, build, and manage a complete website without the need to use a high number of extensions.

There have been several discussions over the years within the Joomla development team about decoupling features from the core in favor of a more lightweight core. However, over the years, the application has been constantly enriched by powerful and useful functions.

As of the 4.x version, Joomla includes features to create, organize, handle, and enrich articles and content, which is its primary scope. Plus, it offers a series of additional functions to build multilingual websites, manage users, build publishing workflows, handle media files, and customize the appearance of websites.

Furthermore, the main advantage of Joomla is its extensibility, allowing a website administrator to install additional features through third-party extensions to build complex websites and rich applications.

After reading this chapter, you will have gained the following capabilities:

An understanding of the Joomla backend applicationTo know what a Joomla extension is and the different types of extensions availableTo be familiar with the extensions shipped with the basic Joomla package

Technical requirements

To complete the exercise proposed in this section of the book, you need to have a Joomla instance installed on a Linux, Apache, MySQL, PHP (LAMP) stack, either locally or remotely. You can easily install Joomla following the instructions published at https://docs.joomla.org/J4.x:Installing_Joomla.

If you don’t have an online hosting, you can launch a Joomla instance online for free using the official service at https://launch.joomla.org.

Note

LAMP is commonly used to refer to a Linux-based hosting environment, on either local, shared, or dedicated hosting, which offers Apache, PHP, and MySQL services.

Once you have your instance up and running, you can log in to the backend section of the website, accessible from <yoursiteurl.tld>/administrator. This represents the Joomla backend application that we’ll explore in depth in the next section.

The backend application

Joomla comprises two interconnected applications: a frontend application and a backend one. The frontend is the part of the system that is visible to website visitors. The backend is the part of the system that is used by the webmaster or the administrator to configure, build, and manage the website.

The backend is also the area that hosts most of Joomla’s functionality. These features include, but are not limited to the following:

Log-in/log-outArticle managementCategory managementMedia managementCustom fieldsModule managementMenu managementUpdates managementExtensions managementUsers managementPermissions managementTemplate managementLanguage managementApplication configuration

Joomla also exposes a wide set of APIs that allow extension developers to integrate core features (for example, category management) into their extensions, providing administration users with a consistent experience within the backend application.

Throughout this book, we’ll go through the features offered by the Joomla core and explore their options and the possibilities they provide.

The backend experience

One of the novelties introduced in Joomla 4 is a completely redesigned backend user experience, with a collapsible sidebar menu that replaces the previous horizontal top-bar drop-down navigation system provided by Joomla until version 3.10.

Figure 1.1 – The Joomla 4 dashboard

The new backend design found its origin in UX research conducted by Elisa Foltyn, who published a draft of the administration experience in the Joomla Community Magazine in December 2017 (A new User Interface for the Joomla Backend, Episode IV, https://magazine.joomla.org/all-issues/december-2017/episode-iv-a-new-user-interface-for-the-joomla-backend). The draft and preview were discussed extensively among the community and core developers, with the final version being slightly different from the original proposal. However, some key concepts are implemented in what we can now appreciate as Atum, the backend template.

Now that we know a little about the backend, let’s go on to explore the various menus in the dashboard.

Exploring the Joomla dashboards

Beyond the left sidebar menu for administration, Atum features another new concept to Joomla: dashboards. Dashboards have been introduced to provide a summary page where users can access all the relevant features for a specific area. Some of the dashboards are pre-defined and available to all Joomla administrators upon installation, for example, the Content Dashboard, Users Dashboard, Components Dashboard, Menu Dashboard, and System Dashboard:

Figure 1.2 – Components Dashboard

As shown in the preceding screenshot, dashboards are a collection of links to useful resources and functions. Let us explore these dashboards to see what each one has to offer.

Content Dashboard

In Figure 1.3, we can see the Content Dashboard, which allows us to access all the most common features to manage content.

Figure 1.3 – Content Dashboard

The dashboard includes the following links:

Table 1.1 – Content Dashboard

To summarize, the Content Dashboard allows an administrator to access almost all aspects of content management for the website, thanks to direct links to the features.

As we can see in Figure 1.3 and Table 1.1, the dashboard can be completely customized. In fact, the administrator can add, move, and remove modules in the Content Dashboard, as well as in any other of the pre-defined dashboards. This is particularly important as it allows the administrator to build a personal backend experience, with custom modules and dashboards that are tailored to their specific needs.

Also, as we’ll understand further in this book, every block (module) includes Permissions management features, allowing the site administrator to create personal dashboards also based on the permission level, differentiating the backend experience for the different access levels and permissions.

Next, we’re going to explore the the Home Dashboard.

Home Dashboard

The Home Dashboard is a special dashboard that is shown right after logging in to the backend of the website:

Figure 1.4 – The Home Dashboard serving as the control panel

It allows the administrator to quickly access the most used and useful features, as well as to instantly check the status of the website. Let us explore a few of these in detail, starting with the Site module.

The Site module

From the Site module under Home Dashboard, the administrator can access the following options:

UsersArticlesArticle CategoriesMediaModulesPlugins

Figure 1.5 – The Site module

Another key module in this dashboard is the Latest Actions module.

The Latest Actions module

The Latest Actions module shows the five most recent actions executed by users and administrators on the website. The module takes data from the User Action Log feature included in User Management, which we will see later in the book.

The System module

Toward the right side of the screen, we can find the System module.

Figure 1.6 – The System module

As you can see in the preceding figure, this module displays three buttons:

Global Checkin: This option allows you to check whether some items are locked in the database (for example, articles and contacts)Cache: This option allows you to check the status of the system cache and purge itGlobal Configuration: This option allows you to access the Global Configuration screen

Next comes the Notifications module.

The Notifications module

The Notifications module shows four status icons/buttons, as seen in the following screenshot:

Figure 1.7 – The Notifications module

Let us look at what each of these does:

Joomla! Update Status: This area checks and provides notifications on the availability of an update for the CMSAvailable Updates: This section checks and notifies the user of the availability of updates for any of the installed extensionsOverride(s) to check: This section notifies the administrator about the need to verify whether an update of the CMS files may have caused the overrides to be obsoletePrivacy Requests: This section shows whether there are any privacy information or deletion requests that are classified as urgent

In Figure 1.7, the status is up to date, but the notifications change based on the status.

Note

The threshold to classify a request as urgent is completely customizable. We will discuss the core privacy features in Chapter 6 of the book.

Next, let’s look at the Privacy Dashboard.

Privacy Dashboard

The Privacy Dashboard module shows the list of the most recent privacy information or deletion requests. Just like the notification icon presented in Figure 1.7, this module is also directly connected to the Privacy Tool Suite of features that were introduced in Joomla in version 3.9. We will explore the privacy features in depth in Chapter 6.

Logged-in Users

The Logged-in Users section displays the list of users that are currently logged in to the system, either in the frontend or backend applications. The application to which they are logged in is displayed next to the name of the user. For users logged in to the website frontend, the administrator can also log them out.

The Recently Added Articles module

The Recently Added Articles module shows the list of the latest articles created on the website, together with their author and date of creation.

In addition to this, there is the Popular Articles module, which shows the most-read articles on the site.

Toward the bottom of the dashboard, there is a button that allows you to add a module to it so that you can customize the appearance of the dashboard. Moreover, each of these modules can also be customized/edited and rearranged in another position or unpublished.

With this module, we have completed the exploration of the Home Dashboard. We will now explore another useful dashboard, the System Dashboard.

System Dashboard

Another special dashboard is the System Dashboard, which collects all the principal options to set up and configure the Joomla installation:

Figure 1.8 – System Dashboard

This dashboard is made up of modules that cannot be edited or unpublished since it is the only path to access some specific features of the application.

Let’s explore the commands and options provided by the System Dashboard:

Table 1.2 – System Dashboard

Once again, it is possible to add additional modules to this dashboard to customize its appearance.

We’ll now move on to another important dashboard, the Component Dashboard.

Component Dashboard

The Component Dashboard represents the access point to the installed components, which we’ll explore later in the chapter. This dynamic dashboard will grow automatically as we install other components on our websites.

The dashboard is made up of the same links to component parts that can be found under the Components menu in the sidebar.

Every installed component has a specific menu that allows the administrator to access a specific page or function.

For example, the Contacts component that is included by default in any Joomla installation has four links both in the Components Dashboard and in the Components menu. These links allow you to do the following:

Open the list of created contactsOpen the list of categories of contactsOpen the list of custom fields for contactsOpen the list of groups of custom fields for contacts

There is no standard number of menu items for each component, as the needed number is specific to the needs of the component.

Extensions

As mentioned at the beginning of this chapter, Joomla is a flexible CMS that allows you to extend its functionality with the help of additional software that can be installed on top of its core. Extensibility is a common feature for a CMS and has been key to the success of Joomla. In fact, this aspect allowed the growth of an extensions developer ecosystem, which has resulted in thousands of extensions being published over the years.

So, what is an extension? As the name suggests, an extension extends the CMS, providing additional functionality.

Possible examples are that you need to install a specific extension to add e-commerce features to your Joomla installation, or you need to install a photo gallery extension to build galleries easily on your website.

Extension types

In contrast to the other CMSs, Joomla makes use of several types of extensions. In fact, in Joomla you can have the following extension types:

ComponentsModulesPluginsLibrariesPackagesTemplates

There are several differences between the types of extensions, and we will explore each one in brief here (you can refer to the Further reading section at the end of this chapter to learn more about these extensions).

Components

Components are mini applications. If you consider Joomla to be your website operating system (OS), you can consider a component as an application that you install on your OS. Components are installed to add features to the website and have two parts—an administration part, accessible via the backend of Joomla, and a site part, accessible through the website frontend.

Several components are provided in the core installation of Joomla, including Contacts, Tags, News Feeds, and Banners, which we will explore in a separate section.

You will need a component to add the following features:

BackupE-commerceNewsletter

When you install an extension that adds specific functionality, it generally includes a component and other parts such as modules, plugins, and libraries.

Modules

Modules are used to display information or render data from components. They are used to build the page layout, showing specific features, such as the login module and the latest articles modules. Modules are assigned to menu items so that you can show a module on specific pages of the website. It is also possible to create custom HTML modules to show information or custom code.

Modules are used extensively in the backend and the frontend of the website.

Plugins

Plugins are the smallest type of Joomla extensions and provide features associated with trigger events. That means that when an event (for example, a page load) occurs, the function provided by the plugin is triggered.

There are multiple categories of plugins, based on the event type with which they are associated, for example, users, system, content, and authentication.

Also, any extensions can add custom events that trigger the action of specific plugins.

Libraries

Libraries are additional packages of code that provide a group of functionalities. Also, Joomla includes a series of external libraries to provide some features, for example, PDF export features, jQuery, PHPMailer, and a rapid application development framework.

Packages

Packages are a particular type of extension that allows administrators to install multiple extensions at once. For example, if an extension comprises a component, some modules (frontend and backend, for instance), and some plugins, it is common for the developer to provide just a single package. This way, it is easier to install the extension with all the needed pieces at the same time instead of executing multiple installations.

Templates

Templates are a type of extension that dictates how a website looks. There are two different types of templates: frontend templates and backend templates.

Frontend templates are used on the publicly accessible side of a website. The default frontend template for Joomla 4 is Cassiopeia.

Backend templates are used to render the administration interface. Atum is the default backend template for Joomla 4, and it is the one visible in the screenshots included in this chapter.

Extensions management

The backend application of Joomla includes several functions to manage extensions, allowing the administrator to conduct the following operations:

Install a new extensionUpdate an extensionDelete an extensionSee the list of installed extensions

All extensions, whether downloaded for free or paid, are provided in the .zip file format and can be installed through the dedicated function in the Joomla backend.

The extensions management features are accessible through the System Dashboard.

The Joomla! Extensions Directory

From the backend of the application, you can access the Install from Web feature, which allows you to install any of the thousands of extensions published on the Joomla! Extensions Directory. This is a web portal in which third-party developers publish their extensions, either free or paid.

Extensions will add to your website additional features and capabilities, on top of those included by default. In the next section, we will explore the components included in the standard Joomla setup.

Exploring the included components

By default, Joomla includes a bunch of components, as well as other extensions, providing some basic features. Let’s explore the components shipped with the default package.

The Banners component

Banners is a component that allows an administrator to manage advertising banners on their website. Banners are a piece of content that might include media and/or text that contains advertising material. For each banner, the component allows you to set up the maximum number of impressions and the type of advertising strategy (for example, periodic or unlimited). Each banner should be linked to a client. The number of times a banner is displayed on the website (impressions) and the number of clicks on the banners are tracked by the component.

Banners might be placed in modules on the website frontend, such as common advertising that we are used to seeing on many websites nowadays.

The Contacts component

Contacts is one of the most used components in Joomla. It allows you to create contacts and provide a contact form for each of the contacts created. It is used to handle an address book of the different contacts of a company, allowing users to write to the desired person through a contact form published on the website frontend. Contacts can be organized into categories and can be enriched with additional custom fields.

The News Feeds component

News Feeds is a component that allows an administrator to integrate content from other websites. It gets as input an RSS feed and can import the content from a third-party website. Such external content might be displayed in a frontend module. For example, a local news website could use the News Feeds component to provide additional national news to their readers, importing RSS feeds of a national news provider.

The Smart Search engine

Smart Search is the internal search engine of Joomla. Smart Search indexes automatically, if enabled, the contents of the website and provides pertinent search results upon request to website users through a search engine module.

It is a comprehensive solution to index the content and provides users with an OpenSearch-compatible search engine. Administrators can extend the types of indexable content through additional plugins, allowing the component to index products, users, and much more.

The Tags component

Tags is a supporting component that allows administrators to introduce an additional level of categorization to their content. Tags are used to mark related content, surpassing the limit of a category for each item. Also, the same tag can be applied to content items across content types.

Tags are like labels that can be applied to content items. The component is used only to create, list, and manage tags.

Summary

In this chapter, we have discovered the overall experience offered by the backend of Joomla, which tools it provides, and how it is structured. We have also learned what dashboards are available in the backend and how they can be customized to fit the needs of any website administrator.