More than 60 gems for Joomla 4 I can’t live without

by Marc Dechèvre

woluweb

Marc

Present slides https://slides.woluweb.be

1. INTRODUCTION

I am always very happy to pay Developers for Joomla Extensions because they deserve it.

Some extensions are widely known because they are available on the Joomla! Extensions Directory™ https://extensions.joomla.org/ and have excellent reviews.

But there are also many gems out there which are less known, for example because they are only available on Github .In this article I wanted to share with you my own list of those little extensions that I use on most of my Joomla 4 websites, together with a few tips & tricks.

The vast majority of these extensions are open source (in which case I encourage you to contribute!) or at least free of charge. I have gathered them in 9 themes:

  1. MEDIA MANAGER
  2. SEO & OPEN GRAPH
  3. CUSTOM FIELDS
  4. EDITOR
  5. CONTENT
  6. ADMINISTRATION
  7. ADDITIONAL FEATURES
  8. LEARN MORE
  9. BEYOND JOOMLA

Have fun and enjoy Joomla! ❤️💙🧡💚

2. I love them all

I love each of the following extension of course.

But I have limited time for this session so I added a ❤️ on the ones I want to focus on.

3. The Gems

3.1. MEDIA MANAGER

3.1.1. Allow SVG in the Media Manager ❤️

What about allowing the upload of SVG images in the Media Manager? All it takes is 30 seconds to adapt the Options.

https://www.youtube.com/watch?v=U7hHYpuNqsg

Txs Brian!

3.1.2. Responsive Images ❤️

3.1.2.1. The Responsive Images plugin itself

What about generating automatically AVIF & WEBP images and creating source sets (ie creating different sizes of each image in order be totally responsive) ?

https://responsive-images.dgrammatiko.dev/

Txs Dimitris!

3.1.2.2. A CLI to generate all the resized images at once

[ added on 2023.08.23 ]

In combination with the previous plugin, this CLI (Command Line Interface) allows to have all images “resized” at once (instead of slowing the site down when a page gets visited for the first time)

https://github.com/ttc-freebies/responsive-cli

Txs Dimitris!

3.1.3. A different folder for each User in the Media Manager

What about restricting access to a specific part of the images folder (images/user/userName, where userName is either the real or a hashed version of the user name). The plugin could be enabled per user group.

https://restrictedfs.dgrammatiko.dev/

Txs Dimitris!

3.1.4. FTP, Pixabay, Pexels, Emoji, Filters directly in the Media Manager ❤️

What about seeing not only local files but also distant files in the Media Manager? And having Filters and other additional features?

https://joomla.digital-peak.com/products/dpmedia

Txs Allon!

3.1.5. Allowing Documents -PDF etc- in the Custom Field of Type Media

Want to have a Custom Field of Type Media which would allow to select not only Images but also (for example) Documents?

The paid version of DP Media mentioned just above allows this (and many more things)

Txs Allon!

3.2. SEO & OPEN GRAPH

3.2.1. Open Graph – images used when sharing on social media ❤️

What about automatically generating Open Graph images for your site’s pages, superimposing text and graphics over an image or solid color background

https://github.com/lucid-fox/social-magick

Txs Crystal!

3.2.2. Sharing Buttons ❤️

What about having lightweight Sharing Buttons with no javascript and no tracking?

https://github.com/woluweb/Sharing-Buttons

Txs me!

3.2.3. Yoast SEO

What about having SEO tips when you edit an Article?

https://www.firecoders.com/joomla-extensions/route-66

Txs Firecoders!

3.2.4. SEO ❤️

What about having an SEO extension that does it all (Open Graph but also structured data, sitemap, internal linking content writing assistance, broken links, error pages, redirections, …)? Given all these features (and I still discover new ones every time I use it), this is a paid extension.

https://weeblr.com/joomla-seo/4seo

Txs Yannick G.!

3.2.5. SEOInfo❤️

What about having a free browser extension for Firefox, Chrome and chromium-based browsers such as Edge or Brave, displaying SEO information about visited pages and alerts you of SEO and performance issues?

https://weeblr.com/doc/products.seoinfo/current/

Txs Yannick G.!

3.3. CUSTOM FIELDS

3.3.1. More Types of Custom Fields ❤️

What about having 26 new Types of Custom Fields (videos, maps, …) on top of the 16 native ones

https://www.tassos.gr/joomla-extensions/advanced-custom-fields

Txs Tassos!

3.3.2. Chained Fields

What having having the ability to create cascading dropdown fields that dynamically change based on the previous selection? That is 1 of the 7 extra Types of Custom Fields you get with the paid version.

https://www.tassos.gr/joomla-extensions/advanced-custom-fields/docs/the-chained-fields-field

Txs Tassos!

3.3.3. Fields inception

What about nesting Custom Fields of Type Subform (a repeatable list consisting of other Custom Fields)

Txs Nicholas!

3.3.4. Filtering ❤️

What about adding the following kinds of filters for each category displayed in the frontend of your site: Subcategory / Tags / Custom fields

https://github.com/nikosdion/plg_system_filtermagic

Txs Nicholas!

3.3.5. Sort by field ❤️

[ added on 2023.08.30 ]

What about sorting the articles in a category by the value of a custom field.

https://github.com/nikosdion/sortbyfield

Txs Nicholas!

3.3.6. Lite Youtube

[ added on 2023.08.30 ]

Renders faster than a sneeze. Provide videos with a supercharged focus on visual performance. This custom element renders just like the real thing but approximately 224× faster.

https://github.com/brianteeman/ytlite

Txs Brian!

3.3.7. Synchronize CF and Creation Date

[ added on 2023.09.13 ]

When you use Smart Search (or JFilter which allows to filter on Custom Fields… and also uses the Smart Search view – https://extensions.joomla.org/extension/jfilters/) you can only order by

So when you display Events (where each Event is an Article having a Custom Field of Type Calendar in order to select the Date+Time of the event) by default you cannot order them by Date of Event.

This plugin allows to “copy-paste” that Date+Time from the Custom Field to the Creation Date… so that ordering the Articles by Creation Date simulates ordering the Articles by Date of Event…

https://github.com/coolcat-creations/cccsetcreatedate

Txs Elisa!

3.3.8. Conditional fields – showon

[ added on 2023.09.13 ]

Using conditional fields (“showon”) has been a very developer centric feature and since Joomla 4.3, that notion is available for Custom Fields.

Works also with Custom Fields of type Subform (“Repeatable” Custom Fields)

https://www.youtube.com/watch?v=_uozqGT1LC0

Txs to the contributors and txs Olivier for the presentation!

3.4. EDITOR

3.4.1. WYSIWYG ❤️

What about enabling true WYSIWYG for Joomla’s tinyMCE Editor?

By default it supplies only the required files for the Cassiopeia template but you can use it for any other template as well.

https://wysiwyg.dgrammatiko.dev/

Txs Dimitris!

3.4.2. A different Edit Form per Category

What about customizing any back-end / front-end com_content Edit Form per Category?

https://github.com/ttc-freebies/custom-edit-forms-per-cat

Txs Dimitris!

3.4.3. Facilitate the customization of front-end editing

What about improving the editing of articles in the front-end a little?

https://obix.nl/en/joomla/joomla-extensions-by-obix/front-end-edit-helper

Txs Pieter-Jan!

3.4.4. Facilitate the customization of back-end editing

What about improving the editing of articles in the back-end? This paid extension allows to customize totally the fields and/or tabs.

https://data2site.com/extensions/d2-profiles

Txs Sigrid & Peter!

3.4.5. Better front-end edition

What about making editing content in the front-end of your Joomla 4 website distraction free?

https://github.com/brianteeman/cleanedit

Txs Brian!

3.4.6. Shortcuts in TinyMCE

What about having a set of keyboard shortcuts to use when creating content with Joomla 4 and the default editor (TinyMCE).

https://github.com/brianteeman/slashtools

Txs Brian!

3.4.7. Customizing TinyMCE menus ❤️

This all started with a question I asked on the Joomla Facebook Group: https://www.facebook.com/groups/joomlanospam/posts/10158526033230997/

There are 2 ways to add Styles to the predefined menus of TinyMCE:

See more explanations about this (including the content of those files) at the bottom of https://wysiwyg.dgrammatiko.dev/documentation/index.htmlIf you use a Child Template, you can simply put those file in your Child Template (which is handy and makes sure your files are never overwritten):

Note: in the case of multilingual websites, if those files in your Child Template do not “trigger” then simply make sure

Txs Dimitris!

3.4.8. Customizing further TinyMCE ❤️

Wha about having a system plugin to customise TinyMCE beyond what Joomla lets you do?

https://github.com/nikosdion/plg_system_tinymod

Txs Nicholas!

3.4.9. Inserting Code in TinyMCE… with Code Highlighting ❤️

[ added on 2023.08.23 ]

If you want to use TinyMCE in Joomla! and its builtin “Insert/Edit code” feature, you need this plugin to have syntax highlighting on your site.

https://extensions.joomla.org/extension/prism-syntax-highlighter-for-joomla/

Txs Andre!

3.5. CONTENT

3.5.1. Translations with Deepl ❤️

What about translating all your content to other languages thanks to Deepl, directly from your Editor (so keeping all the HTML tags!)

https://obix.nl/en/joomla/joomla-extensions-by-obix/editor-translation-plugin

Txs Pieter-Jan!

3.5.2. Artificial Intelligence with ChatGPT

Too lazy to create your own content? Want to use ChatGPT directly from your Joomla Editor?

https://github.com/R2H-BV/chatgpt

Txs Rick!

3.5.3. Create Articles or Categories in bulk ❤️

What about creating Article or Categories in bulk, including the corresponding Menu Items?

https://www.joomlashack.com/joomla-extensions/oscontent/

Txs Steve!

3.5.4. Create Articles from a Google Sheet ❤️

What about creating hundreds of thousands of Articles, including their Custom Fields directly from a Google Sheet (thanks to the Joomla API)?

Well, I have written a series of articles in the Joomla Community Magazine (JCM) about this.

Txs Alexandre!

3.5.5. Create Articles from a CSV file

What about importing/exporting your Articles in batch, including their Custom Fields, directly from a CSV file?

https://github.com/AlekVolsk/cfi/

Txs Alek!

3.5.6. A super simple Form to let visitors -or administrators- create Articles from the front-end ❤️

What about a super simple Form to let visitors (or administrators) create Articles from the front-end, including the Custom Fields (thanks to the Joomla API)?

This is just one example of what is possible with Convert Forms 4, I think only in the paid version.

https://www.tassos.gr/joomla-extensions/convert-forms/docs/webhooks#webhooks_article

Txs Tassos!

3.5.7. RO-CSVI in general ❤️

I have just mentioned 4 tools to import Articles in Joomla. It would not be fair not to mention the most complete tool afaik allowing import/export, being logically a paid extension.

https://rolandd.com/products/ro-csvi

Txs Roland!

3.5.8. RO-CSVI to import from Wordpress in particular

[ added on 2023.08.23 ]

Elisa shared this tip to import from Wordpress: https://joomlacommunity.cloud.mattermost.com/main/pl/5kfem5957tdmmbscph73fbshcw

I just migrated a blog category so easily with RO-CSVI I am so happy.

1) Exported the Wordpress Posts with:

SELECT 
    p.ID, 
    p.post_title, 
    p.post_content, 
    p.post_date, 
    p.post_status, 
    (SELECT guid FROM #__posts WHERE ID = meta.meta_value) AS introimage
FROM 
    #__posts p
LEFT JOIN 
    #__postmeta meta ON (p.ID = meta.post_id AND meta.meta_key = '_thumbnail_id')
WHERE 
    p.post_type = 'post' AND p.post_status = 'publish';

2) Imported with RO-SCVi

Everything is done!

NB: It seems Compojoom has a (paid) tool for J3 but the db export was enough for my usecase

Txs Elisa!

3.5.9. db8 ipsum

[ added on 2023.09.16 ]

This Console Plugin works on the command line. It generates Categories, Articles, Menu Items and Category/Article Images.

https://github.com/pe7er/plg_console_db8ipsum

Txs Peter

3.6. ADMINISTRATION

3.6.1. Access your Log files ❤️

What about accessing your Log files directly from the backend (instead of FTP)?

https://weeblr.com/joomla-seo/4logs-simple-free-logs-viewer

Txs Yannick G.!

3.6.2. Task list

What about having your Task list directly in the backend of your website?

https://github.com/brianteeman/tasklist

Txs Brian!

3.6.3. A Task Scheduler to check in all your content ❤️

What about having all your Articles, Menu Items, Plugins etc be automatically checked in every night or at the frequency that you choose?

https://github.com/zero-24/plg_task_checkin

Txs Tobias!

3.6.4. Administration Dashboard

What about having a Dashboard Module, ready to configure?

https://github.com/micker/mod_dashboard

Txs Yannick B.!

3.6.5. Impersonation

What about allowing administrators to log in as any other user?

https://github.com/akeeba/skeletonkey

Txs Nicholas!

3.6.6. Joomla! Downloader ❤️

[ added on 2023.08.30 ]

What about having a PHP script to automatically download the latest version of Joomla! directly server to server without having to download it locally. The script also extracts the zip directly on your server after downloading it.

https://github.com/JoomlaLABS/Joomla_Downloader

Txs JoomlaLABS!

3.7. ADDITIONAL FEATURES

3.7.1. A powerful comment system ❤️

What about having a fast, powerful and highly configurable comment system for Joomla?

https://www.akeeba.com/products/engage.html

Txs Nicholas!

3.7.2. Invalidate browsers caches

We have all experienced this: we have changed some CSS or JS file… but our users don’t see the result because of their browsers cache.

https://github.com/dgrammatiko/invalidate-cache

Txs Dimitris!

3.7.3. Dark Mode for your back-end

What about having an alternative version of Atum, the backend template of Joomla4? This is Muta

https://muta.dgrammatiko.dev/

Txs Dimitris!

3.7.4. Dark Mode for your back-end and/or front-end

What about taking care of your eyes?

https://github.com/nikosdion/DarkMagic

Txs Nicholas!

3.7.5. Cards Layout

What about having nice overrides with configuration settings to create Card Layouts?

https://github.com/brianteeman/joomla-cards

Txs Brian!

3.7.6. Login Modal

What about displaying the login module in a modal/popup?

https://github.com/brianteeman/loginmodal

Txs Brian!

3.7.7. Module Versioning ❤️

What about having Module Versioning (the same way we have Article Versioning natively)?

https://github.com/R2H-BV/

Txs Rick!

3.7.8. Orphan images ❤️

What about finally cleaning your website? This starts by identifying orphan images.

3.7.8.1. R2h Image Manager

R2h Image Manager is a Joomla Component, meaning you have an interface to identify your orphan images or move them (and have the links adapted)

Joomla 3 version is free, Joomla 4 version is paid

R2H Image Manager https://www.r2h.nl/joomla-extensions

Txs Rick!

3.7.8.2. tidyup_myfile

tidyup_myfile is a PHP script allowing to

Versions:

Txs Guido!

3.7.8.3. jfindfiles

jfindfiles is a bash script allowing to find used and unused content files in your Joomla website

[ works with Joomla 3 – checking whether it is compatible with Joomla 4 ]

https://github.com/renekreijveld/joomlabashscripts/blob/master/src/jfindfiles

Txs René!

3.7.9. Using Bootstrap in Joomla 4

Ever wanted to know how to enable Bootstrap in Joomla4 (for example if you need a Slideshow, an Accordion, …)?

https://gist.github.com/dgrammatiko/efb3de4aa7cab4813a244f93f73cc0fd

Txs Dimitris

3.7.10. Export your Child Template

Ever needed a Graphical User Interface (GUI) way to export your Child Templates? Here’s a little module that does exactly that.

https://github.com/dgrammatiko/mod_child_export/

Txs Dimitris!

3.7.11. user.css creator

[ added on 2023.08.23 ]

What about either generating a color scheme or picking own colors directely via a form? Then you can download the generated user.css file and upload it into you Cassiopeia child theme

https://colours.joomla.com/

Txs Elisa!

3.7.12. Export your Joomla Articles to md

[ added on 2023.08.30 ]

What about having a simple CLI (Command Line Interface) Plugin to export to md (Markdown)?

https://github.com/dgrammatiko/export-to-md

Txs Dimitris!

3.7.13. AdvancedRedirect Plugin

[ added on 2023.08.30 ]

This plugin is based on the Joomla Core Redirect Plugin and acts as a so-called drop in replacement for the Core Plugin. In addition to the Joomla Core Plugin, it allows you to define your own derivation rules.

This plugin has three plugin modes:

https://github.com/zero-24/plg_system_advancedredirect

Txs Tobias!

3.8. LEARN MORE

3.8.1. Joomla! 4 Masterclass

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

Paperback so paid of course (PDF version included)

https://www.amazon.com/Joomla-Masterclass-practitioners-building-brand-new/dp/1803238976

Txs Luca!

3.8.2. Extension Development

The missing Joomla™ reference for extension developers

https://www.dionysopoulos.me/book.html

Txs Nicholas!

3.8.3. Joomla 4 – Developing Extensions

550 pages to lean developing extensions

https://ug-mayen.de/images/aextension2301262/1.en.pdf

Txs Astrid!

3.8.4. Learn Joomla 4

Powerful user tips & secrets about Joomla 4 (13 videos atm)

https://www.youtube.com/@learnjoomla4/videos

Txs Brian!

3.8.5. BasicJoomla

Hundreds of videos

https://www.youtube.com/@Basicjoomla/videos & https://www.youtube.com/@Basicjoomla/streams

Txs Tim!

3.8.6. Creating Joomla Content Plugins With Examples

[ added on 2023.04.26 ]

https://kevinsguides.com/guides/webdev/joomla4/ref/content-plugins-with-exs

Txs Kevin!

3.8.7. Astrid Guenther’s blog

[ added on 2023.08.23 ]

What about learning many things about Cassiopeia (or Joomla in general), like adding Local Fonts to your template? Next to her book mentioned above, Astrid also has a blog (available both in English and German).

https://blog.astrid-guenther.de/en/ > Cassiopeia

Txs Astrid!

3.8.8. The Joomla 4 templates book

[ added on 2023.08.23 ]

What about having a eBook explaining everything about Joomla templates for only € 16?

Txs Cédric!

3.8.9. Cassiopeia Template – a bunch of Tips & Tricks

[ added on 2023.08.23 ]

What about having one place gathering all Tips & Tricks about Cassiopeia

https://slides.woluweb.be/cassiopeia/cassiopeia.html

Txs Marc – myself :D

3.9. Beyond Joomla

In this section I mention tools which go beyond the Joomla realm but can be useful for Joomlers :)

3.9.1. php_grep

[ added on 2023.08.30 ]

This script will allow you to scan files of your website and search for a specific pattern; f.i. a word or a sentence.

Example: for a recent hack in a well-known extension you wanted to spot all the files containing '$_COOKIE’. With this little script you can easily find them very quickly, even on your distant server.

https://github.com/cavo789/php_grep

Txs Christophe!

3.9.2. aesecure_quickscan

[ added on 2023.08.30 ]

aeSecure QuickScan allows to scan your website for suspicious files:

In order to help users affected by the hack of a well-known extension, a 2.0 version has been released end of August 2023 which

This will greatly accelerate the scan and reduce the number of false positives.

https://github.com/cavo789/aesecure_quickscan

Txs Christophe!

4. Get in touch

https://slides.woluweb.be

Any suggestion about this presentation?
Please feel free to contact me. I’ll be happy to keep improving it 🙂

Marc Dechèvre | woluweb
+32 474 37 13 12 | +32 2 772 58 69

https://www.woluweb.be/contact

https://www.slideshare.net/woluweb