Home Web Development Joomla! 4 Masterclass

Joomla! 4 Masterclass

By Luca Marzo
ai-assist-svg-icon Book + AI Assistant
eBook + AI Assistant $28.99 $19.99
Print $36.99
Subscription $15.99 $10 p/m for three months
ai-assist-svg-icon NEW: AI Assistant (beta) Available with eBook, Print, and Subscription.
ai-assist-svg-icon NEW: AI Assistant (beta) Available with eBook, Print, and Subscription. $10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime! ai-assist-svg-icon NEW: AI Assistant (beta) Available with eBook, Print, and Subscription.
What do you get with a Packt Subscription?
Gain access to our AI Assistant (beta) for an exclusive selection of 500 books, available during your subscription period. Enjoy a personalized, interactive, and narrative experience to engage with the book content on a deeper level.
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
Gain access to our AI Assistant (beta) for an exclusive selection of 500 books, available during your subscription period. Enjoy a personalized, interactive, and narrative experience to engage with the book content on a deeper level.
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Along with your eBook purchase, enjoy AI Assistant (beta) access in our online reader for a personalized, interactive reading experience.
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
ai-assist-svg-icon NEW: AI Assistant (beta) Available with eBook, Print, and Subscription. ai-assist-svg-icon NEW: AI Assistant (beta) Available with eBook, Print, and Subscription. BUY NOW $10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime! ai-assist-svg-icon NEW: AI Assistant (beta) Available with eBook, Print, and Subscription.
eBook + AI Assistant $28.99 $19.99
Print $36.99
Subscription $15.99 $10 p/m for three months
What do you get with a Packt Subscription?
Gain access to our AI Assistant (beta) for an exclusive selection of 500 books, available during your subscription period. Enjoy a personalized, interactive, and narrative experience to engage with the book content on a deeper level.
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
Gain access to our AI Assistant (beta) for an exclusive selection of 500 books, available during your subscription period. Enjoy a personalized, interactive, and narrative experience to engage with the book content on a deeper level.
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Along with your eBook purchase, enjoy AI Assistant (beta) access in our online reader for a personalized, interactive reading experience.
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
  1. Free Chapter
    Chapter 1: A Powerful and Extensible Core
About this book
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.
Publication date:
January 2023
Publisher
Packt
Pages
338
ISBN
9781803238975

 

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 application
  • To know what a Joomla extension is and the different types of extensions available
  • To 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-out
  • Article management
  • Category management
  • Media management
  • Custom fields
  • Module management
  • Menu management
  • Updates management
  • Extensions management
  • Users management
  • Permissions management
  • Template management
  • Language management
  • Application 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

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

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

Figure 1.3 – Content Dashboard

The dashboard includes the following links:

Table 1.1 – Content Dashboard

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

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:

  • Users
  • Articles
  • Article Categories
  • Media
  • Modules
  • Plugins
Figure 1.5 – The Site module

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

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 it
  • Global 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

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 CMS
  • Available Updates: This section checks and notifies the user of the availability of updates for any of the installed extensions
  • Override(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 obsolete
  • Privacy 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

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

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 contacts
  • Open the list of categories of contacts
  • Open the list of custom fields for contacts
  • Open 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:

  • Components
  • Modules
  • Plugins
  • Libraries
  • Packages
  • Templates

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:

  • Backup
  • E-commerce
  • Newsletter

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 extension
  • Update an extension
  • Delete an extension
  • See 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.

After reading this chapter, you have learned how to navigate the backend of Joomla, understand the difference between the types of extensions available, and know the basics of the components shipped in a default Joomla installation. In the next chapter, we will go in-depth into the content management features.

 

Further reading

About the Author
  • Luca Marzo

    Luca is a technology professional with more than 15 years of experience. During his career, he had the chance to develop websites with Joomla as a freelancer for small to medium sized companies. He has served as an IBMer for 1.5 years, after which he moved to the web hosting industry where he works as a Customer Service Manager. His love for Joomla began 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 a 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 served in the Certification Program, the Community Magazine, and the Extensions Directory.

    Browse publications by this author
Joomla! 4 Masterclass
Unlock this book and the full library FREE for 7 days
Start now