Van artikels tot REST API: wat er echt in Joomla zit
De meeste mensen kennen drie dingen van Joomla: artikels, gebruikers en een backend. Dat is minder dan tien procent van wat er standaard in de core zit — zonder één extensie te installeren.
Hieronder een chronologisch overzicht van alle noemenswaardige features, van de eerste release in 2005 tot vandaag. Niet als marketingpraatje, maar als eerlijk antwoord op de vraag: wat krijg ik eigenlijk?
Joomla is geen blogplatform met wat extra's. Het is een volwaardig CMS met toegangscontrole, meertaligheid, versiebeheer, een REST API en ingebouwde automatisering. Dat is niet niks voor iets wat gratis is.
Wat er al in zat vanaf 2005
De eerste stabiele release van Joomla — versie 1.0, september 2005 — leverde meteen een volledig CMS. Geen skelet dat je nog moest opbouwen. Artikels en categorieën, modules per pagina aan- en uitzetten, meerdere menu's naast elkaar, een mediabibliotheek, sjablonen volledig los van de inhoud, contactformulieren met categorieën, en een ingebouwde zoekmachine. Alles van dag één.
Wat veel mensen vergeten: ook het bannerbeheer zat er al bij. Klik- en impressietellers per banner. Dat klinkt onschuldig, maar het betekent dat Joomla van bij het begin dacht aan sites met meer dan één doel — niet alleen content tonen, maar ook beheren.
Wat er bijkwam in Joomla 1.5 en 1.6 (2008–2011)
Joomla 1.5 (2008) bracht twee dingen die tot op vandaag fundamenteel zijn: template-overrides en plugins.
Template-overrides zijn het systeem waarmee je de HTML-output van elke component of module kan aanpassen zonder de core aan te raken. Je kopieert één bestand naar je template-map, past het aan, en bij de volgende update van Joomla of de extensie blijft jouw versie intact. Klinkt technisch, maar het is de reden waarom ik al 20 jaar geen maatwerk-installaties hoef te repareren na een update.
Plugins zijn stukjes code die op events draaien. Inhoud aanpassen vóór weergave, externe authenticatiesystemen koppelen, editor-knoppen toevoegen, automatische taken uitvoeren. De meeste sites gebruiken er tientallen zonder het te weten.
Joomla 1.6 (2011) was de echte sprong. Drie dingen veranderden alles:
- ACL: onbeperkt nestbare gebruikersgroepen en toegangsniveaus. Per artikel, per categorie, per module kan je instellen wie mag lezen, bewerken of publiceren. Meer controle dan de meeste betaalde CMS'en bieden.
- Meertaligheid in de core: volledige meertalige sites zonder extensie. Artikels, menu's en modules per taal, met koppelingen tussen vertalingen.
- Nestbare categorieën: categorieën in categorieën, voor alle componenten. Einde van de rigide "sectie + categorie"-structuur.
De features die het meest worden onderschat
In 2017 kwamen Custom Fields. Eigen velden toevoegen aan artikels, contacten, gebruikers of categorieën — tekst, datum, keuzelijst, kleur, bestand, URL, herhaalbaar veld — zonder één regel code. Dit is het onderdeel dat ik het vaakst zie missen op sites waar een derde extensie al geïnstalleerd is voor exact datzelfde doel.
Een praktijkvoorbeeld: een klant had een extensie voor "producteigenschappen" die zijn site elke update vertraagde. Na de overstap naar Custom Fields: zelfde resultaat, geen extra extensie, snellere backend.
Content Versioning (2013) is een ander geval. Elke wijziging aan een artikel wordt automatisch bewaard. Versies vergelijken, terugzetten, permanent bewaren. Werkt ook op categorieën, banners en contacten. Vanaf Joomla 6.0 (2025) registreert het systeem ook wijzigingen aan custom fields en tags. Hoeveel sites gebruiken dit? Weinig.
Joomla als automatiseringsplatform (2021–2022)
Joomla 4.0 (2021) bracht drie dingen die samen een ander soort platform maken:
Workflows: een redactieproces met eigen stappen en overgangen. Van "kladversie" naar "ter review" naar "gepubliceerd", met mailnotificaties en per-stap rechten. Nuttig voor verenigingen of redacties waar meerdere mensen schrijven maar één iemand publiceert.
Web Services API (REST): een volledige REST API op de core. Artikels, gebruikers, menu's, categorieën — leesbaar en schrijfbaar van buitenaf. Hiermee koppel je Joomla aan een mobiele app, een boekingssysteem of een extern CRM.
WebAuthn: inloggen zonder wachtwoord, met een hardware-sleutel of biometrie. Vingerat of Face ID. Ingebouwd, geen extensie nodig.
Joomla 4.1 (2022) voegde Scheduled Tasks toe: ingebouwde cron-jobs. Backups maken, sitemaps genereren, logs roteren, custom fields bijwerken via een externe API, berichten versturen. Op een vast schema, zonder extra extensie. Samen met Workflows en de REST API maakt dit van Joomla een volwaardig automatiseringsplatform — iets wat de meeste mensen niet verwachten van een "gewoon CMS".
Volledig overzicht: alle Joomla-features per versie
| Feature | Wat het is | Versie | Jaar |
|---|---|---|---|
| Artikels & categorieën | De content-basis van Joomla. Onbeperkt nestbaar sinds 1.6, met eigen rechten per categorie. | 1.0 | 2005 |
| Modules & module-posities | Losse blokken (menu, login, banners, eigen HTML) die je per pagina toont of verbergt via menu-toewijzing. | 1.0 | 2005 |
| Menu Manager | Meerdere menu's per site, elk met een eigen sjabloon en eigen rechten. | 1.0 | 2005 |
| Media Manager | Ingebouwd bestandsbeheer voor afbeeldingen en documenten, met uploadrechten per gebruikersgroep. | 1.0 | 2005 |
| Sjablonen (templates) | Volledig gescheiden van de inhoud. Per menu-item kan je een ander sjabloon of stijl toewijzen. | 1.0 | 2005 |
| Contacten-component | Adresboek met categorieën en contactformulieren per persoon. Later uitgebreid met custom fields. | 1.0 | 2005 |
| Banners | Advertenties of sponsorblokken beheren met klik- en impressieteller per banner. | 1.0 | 2005 |
| Newsfeeds | RSS-feeds van externe sites inlezen en tonen als content in je eigen site. | 1.0 | 2005 |
| Zoekcomponent | Basis-zoekmachine over alle content. Later aangevuld met Smart Search. | 1.0 | 2005 |
| Template-overrides | De HTML-output van een component of module overschrijven zonder de core aan te passen. Updates blijven werken. | 1.5 | 2008 |
| Plugins | Code die op events draait: inhoud aanpassen, authenticatie via externe systemen, editor-knoppen, automatische taken. | 1.5 | 2008 |
| Gebruikersgroepen & ACL | Onbeperkt nestbare gebruikersgroepen en toegangsniveaus. Per item instelbaar wie mag lezen, bewerken of publiceren. | 1.6 | 2011 |
| Meertaligheid (core) | Volledig meertalige site zonder extra extensie. Artikels, menu's en modules per taal, met koppelingen tussen vertalingen. | 1.6 / 1.7 | 2011 |
| Nestbare categorieën | Categorieën binnen categorieën, voor alle componenten. Einde van de "sectie + categorie"-beperking. | 1.6 | 2011 |
| Update-manager | Core, extensies en sjablonen bijwerken vanuit één scherm. Later aangevuld met e-mailmeldingen. | 1.6 | 2011 |
| Smart Search | Geavanceerde zoekmachine met indexering, stemming en autocompletie. Werkt ook op custom fields. | 2.5 | 2012 |
| Tags | Transversale labels die artikels, contacten, newsfeeds en andere items groeperen, los van de categoriestructuur. | 3.1 | 2013 |
| Content Versioning | Elke wijziging automatisch bewaard. Versies vergelijken, terugzetten en permanent bewaren. | 3.2 | 2013 |
| Tweestapsverificatie (2FA) | Inlogbeveiliging met Google Authenticator of YubiKey. Per gebruiker in te schakelen. | 3.2 | 2013 |
| Install from Web | Extensies rechtstreeks vanuit de backend installeren via de Joomla Extensions Directory. | 3.2 | 2013 |
| Custom Fields | Eigen velden toevoegen aan artikels, contacten, gebruikers of categorieën — zonder code. Het meest onderschatte stuk van Joomla. | 3.7 | 2017 |
| Meertalige menu-associaties | Ook menu-items koppelen tussen talen, niet alleen artikels. | 3.7 | 2017 |
| Privacy-tool (AVG/GDPR) | Verzoeken tot inzage en verwijdering afhandelen, toestemmingen loggen, privacy-consents beheren. | 3.9 | 2018 |
| Action Logs | Logboek van wie wat wanneer heeft aangepast in de backend. Handig voor audit en voor sites met meerdere redacteurs. | 3.9 | 2018 |
| Nieuwe backend (Atum) | Volledig herwerkte admin-interface met Bootstrap 5, toegankelijker en responsive. | 4.0 | 2021 |
| Workflows | Redactieproces met eigen stages en transities, mailnotificaties en per-stage rechten. | 4.0 | 2021 |
| Web Services API (REST) | Volledige REST API op de core: artikels, gebruikers, menu's, categorieën leesbaar en schrijfbaar van buitenaf. | 4.0 | 2021 |
| WebAuthn | Inloggen zonder wachtwoord, met hardware-sleutel of biometrie (vingerafdruk, Face ID). | 4.0 | 2021 |
| Scheduled Tasks | Ingebouwde cron-jobs: backups, sitemaps, logs, API-koppelingen. Alles op schema, zonder extensie. | 4.1 | 2022 |
| Child Templates | Een sjabloon "kopiëren" en alleen je eigen aanpassingen bijhouden. Updates van het oudersjabloon raken je maatwerk niet. | 4.1 | 2022 |
| Jooa11y (toegankelijkheid) | Accessibility-checker in de frontend-bewerking. Signaleert WCAG-problemen terwijl je typt. | 4.1 | 2022 |
| Multi-factor authenticatie (MFA) | Meerdere methodes combineerbaar, af te dwingen per gebruikersgroep. | 4.2 | 2022 |
| Guided Tours | Rondleidingen in de backend voor klanten. Zelf aan te maken voor specifieke taken. | 4.3 | 2023 |
| Dark Mode backend | Donkere modus voor het beheergedeelte, per gebruiker instelbaar. | 5.0 | 2023 |
| Schema.org-integratie | Automatische structured data voor organisatie en sitenaam. Helpt Google je site beter te begrijpen. | 5.0 | 2023 |
| AVIF in Media Manager | Ondersteuning voor AVIF: kleinere bestanden dan WebP of JPG met dezelfde kwaliteit. | 5.0 | 2023 |
| Nieuwe Articles-module | Vervangt alle oudere "populaire / laatste / featured"-modules, met filteren op categorie, tags en custom fields. | 5.2 | 2024 |
| HTML-mailsjablonen | Templates voor alle systeem-e-mails die je rechtstreeks in de backend aanpast. | 5.2 | 2024 |
| Strict routing & SEF | Dubbele content en overbodige redirects vermijden via strengere URL-regels. Winst voor SEO. | 5.2 | 2024 |
| Content Versioning uitgebreid | Versiegeschiedenis registreert nu ook wijzigingen aan custom fields en tags. | 6.0 | 2025 |
Wat je hiermee doet
Gebruik je op dit moment extensies voor meertaligheid, extra velden, versiebeheer of redactieworkflows? Dan is de kans groot dat je dat niet nodig hebt — en dat je installatie onnodig zwaar is.
Ik doe regelmatig audits van bestaande Joomla-sites en zie telkens hetzelfde: extensies die de core dupliceren, updates die uitgesteld worden omdat het systeem te complex is geworden, en eigenaars die niet weten wat er allemaal al ingebouwd is.
Stuur me een bericht als je wil weten wat er in jouw Joomla-installatie onbenut blijft. Ik bekijk het met je.