
Wat is nieuw in Joomla 5.1?
Op 16 april 2024 is Joomla 5.1 uitgebracht. Heb je een website met Joomla versie 4.x of 5.x, dan kun je jouw Joomla website met 1 druk op de knop updaten.
Deze release brengt vele kleine (code-) verbeteringen met zich mee en er zullen een aantal opties en mogelijkheden bijkomen. In dit artikel laat ik je de belangrijkste veranderingen zien.
Veilige Joomla updates met TUF
Het Joomla! Project neemt kwetsbaarheden in de beveiliging serieus. Als zodanig houdt het Joomla! Security Strike Team (JSST) toezicht op de beveiligingsproblemen van het project en volgt op een aantal specifieke procedures bij het aanpakken van deze problemen.
Soms komen er kritische problemen aan het licht en deze worden dan door dit team opgelost. Dit gebeurde bijvoorbeeld bij deze release van Joomla 4.2.8. Het team zag na het uitbrengen van deze versie al binnen enkele uren aanvallen op websites die niet bijgewerkt waren.
Het probleem is dat je handmatig een nieuwe Joomla versie moet installeren en niet iedereen is hiervan op de hoogte. Deze updates verzorg ik natuurlijk voor alle klanten met een onderhoudsabonnement. Zij hoeven zich geen zorgen te maken, maar wanneer je jouw website niet goed onderhoud, loop je dus een aanzienlijk risico. Het zou mooi zijn als het Joomla! Security Strike Team een release Joomla automatisch kan updaten zodat alle websites meteen beveilgd zijn.
Voordat we kunnen denken aan automatische updates moet er eerst voor gezorgd worden dat het updatesysteem veilig en 100% betrouwbaar is. Met de release van Joomla 5.1 is The Update Framework (TUF) een belangrijke mijlpaal in het waarborgen van de integriteit en beveiliging van Joomla-installaties wereldwijd.
TUF maakt gebruik van een reeks cryptografische technieken zoals digitale handtekeningen, metadataverificatie en op rollen gebaseerde toegangscontrole om een veilig en transparant updateproces tot stand te brengen. Door deze technieken te incorporeren, verkleint TUF aanzienlijk het aanvalsoppervlak en verbetert het de algehele beveiligingspositie van software-update mechanismen. Een super belangrijke functie waar je waarschijnlijk helemaal niets van gaat merken ;)
Welkom bij Joomla! rondleiding
Sinds Joomla 4.3 is het mogelijk om verschillende rondleidingen te bekijken.
Wanneer je een nieuwe Joomla versie installeert krijg je vanaf nu een "Welkom bij Joomla!" rondleiding te zien. Deze tour geeft in 6 stappen een snel overzicht van hoe met Joomla! te beginnen. Handig voor nieuwe gebruikers! Al is het op dit moment nog niet zo dat een nieuwe gebruiker deze rondleiding automatisch te zien krijgt.
Verbeterde donkere modus
In Joomla 5.0 werd de donkere modus van het beheergedeelte geintroduceerd. Van de weergave was ik persoonlijk niet zo'n fan. Het zag er in mijn ogen niet zo mooi uit. Maar daar komt bij de release van Joomla 5.1 verandering in. Er is een grote slag gemaakt met deze weergave.
Even een vergelijking:
Zo zag het eruit in Joomla 5.0
In Joomla 5.1 is dit:
Zelf je lichte of donkere modus kiezen
De donkere modus in Joomla 5.0 paste zich automatisch aan aan de instellingen van je apparaat of browser. Het was binnen Joomla zelf niet mogelijk om de keuze voor lichte of donkere modus te maken. In Joomla 5.1 wordt deze optie toegevoegd en wel op verschillende plaatsen.
1) In het gebruikersmenu komt een extra optie om van modus te wisselen. Deze keuze wordt opgeslagen in de cookies van je browser.
2) Je kunt deze keuze ook opslaan bij een gebruiker, zo wordt deze instelling overgenomen in verschillende browsers. Deze optie wordt wel overruled als je via bovenstaande manier voor een andere modus kiest, dan jouw standaard keuze.
3) Ook kun je deze keuze maken bij de template zelf via: Systeem > Beheer templatestijlen > Kleurinstellingen, dan gelden deze opties voor alle gebruikers, tenzij zij een andere keuze maken in hun profiel of in het gebruikersmenu.
Nieuwe SEO-opties in Joomla 5.1
Strikte afhandeling van index.php
Deze optie is te vinden in de plugin "Systeem - SEF".
Al vanaf het begin van Joomla kennen we de optie "Gebruik URL herschrijven" in de algemene instellingen. Deze optie zorgt ervoor dat je een pagina ook zonder index.php kunt bereiken, bijvoorbeeld: website.nl/index.php/blog wordt dan website.nl/blog. Echter is de pagina met index.php dan nog wel te bezoeken. Dit zorgt officieel voor duplicate content volgens Google.
Deze nieuwe optie maakt een strengere behandeling van 'index.php' in URL's mogelijk wanneer 'Gebruik URL herschrijven' is ingeschakeld bij de algemene instellingen. Het zal 'index.php' verwijderen als een URL die nog bevat en inkomende verzoeken met 'index.php' omleiden naar de versie zonder de 'index.php'.
Standaard staat deze optie uit (op zowel updates als nieuwe installaties). Het is aan te bevelen om deze optie aan te zetten.
Achter-slash voor URL's
Deze optie is te vinden in de plugin "Systeem - SEF".
Dwing Joomla om alleen URL's met of zonder Achter-slash te gebruiken. Indien ingeschakeld, zal dit de juiste URL met doorverwijzingen forceren en alleen worden toegepast wanneer 'suffix toevoegen aan URL' uitgeschakeld is.
Wanneer je een website met deze URL structuur: website.nl/blog/ dan zal de laatste slash verwijderd worden als je voor deze optie kiest en je krijgt dan website.nl/blog . Zelf kom ik dit tegen bij websites die bijvoorbeeld gemigreerd zijn van WordPress naar Joomla.
Melding in de algemene configuratie
Om gebruikers te attenderen op deze opties is een nieuwe melding toegevoegd aan de algemene configuratie (SEO opties) waar een verwijzing is gemaakt naar de "systeem - SEF plugin".
Nieuwe snelkoppelingen
Om snel van het ene naar het andere scherm te gaan zijn er nieuwe knoppen toegevoegd op verschillende pagina's.
Bij extensies beheren vind je nu een knop om naar de extensie-updates te gaan.
Bij extensie-updates vind je nu een knop om naar de extensiebeheer te gaan.
Bij taalbeheer is een knop toegevoegd naar het installeren van talen.
Bij het installeren van talen is een knop toegevoegd met een link naar de inhoudstalen.
Nieuwe opties in de rondleidingen
- Ondersteuning toevoegen voor selectievakje/radio/selectiedoelelement voor interactieve veldtypen
- Ondersteuning toevoegen voor textarea doelelement naast invoerteksttype doelen
- Velden die niet 'verplicht' zijn in de DOM toestaan om verplicht te zijn in het veld bijv. voor rondleidingen met betrekking tot zoeken waar het invoerveld verplicht is voor de rondleidingen maar niet door Joomla of de actieve paginacomponent
- Toestaan dat de rondleiding aandringt op een specifieke vereiste waarde (vertaalbaar) zodat de context van de rondleidingen kan worden behouden terwijl deze vordert, bijvoorbeeld zoeken naar een specifieke tekstwaarde.
Aanpassingen in de Toegankelijkheidscontroleur
In deze plugin zijn wat aanpassingen gedaan. Zo wordt er geen gebruik meer gemaakt van een speciale Joomla versie, maar van het standaard sa11y pakket. Dit biedt ook meer opties die je in de plugin kunt instellen.
Lijst veld aanpassing
Het lijst custom field wordt uitgebreid met een header. Deze tekst wordt gebruikt om geen waarde te selecteren.
Nieuwe API mogelijkheden
In de API is het nu mogelijk om te filteren op een zoekopdracht.
{{base_path}}/api/index.php/v1/tags?filter[search]=text
{{base_path}}/api/index.php/v1/content/categories?filter[search]=text
Nieuwe CLI mogelijkheden
Voor de mensen die gebruik maken van de Command Line Interface (CLI) van Joomla zijn nieuwe commando's beschikbaar.
Bijwerken van de Joomla databasestructuur via CLI
Via het commando: php cli/joomla.php maintenance:database
Joomla extensie-updatescontrole via CLI
Via het commando: php cli\joomla.php update:extensions:check
Beheer Joomla core update kanaal via CLI
pas bijv. het updatekanaal aan naar Joomla next via het commando: php cli/joomla.php core:update:channel next
Tijdzone Fancy select veld
Het veld om de tijdzone te selecteren in de algemene configuratie, is nu een "fancy select veld". Het voordeel hiervan is dat het een zoekfunctie heeft waardoor je sneller de juiste tijdzone kunt vinden.
Subforms verplaatsen via omhoog/omlaag pijltjes
De subforms zijn te verplaatsen door middel van drag en drop. Nu zijn er 2 pijltjes toegevoegd zodat je met een klik ook de subform-velden op een andere positie kunt zetten.
Nieuw artikel toevoegen via blogweergave
In de blogweergave van Joomla 5.1 verschijnt nu een knop om een nieuw artikel toe te voegen (uiteraard alleen wanneer je de rechten hebt om via de voorkant van de website een artikel toe te voegen aan deze categorie)
Artikel schema.org plugin
Er is een nieuwe plugin toegevoegd die de basale opties voor content ondersteund.
Algemene schema.org plugin
In Joomla 5.0 is het schema.org tabblad geintroduceerd. Nu wordt er op deze pagina ook een algemeen veld toegvoegd.
Hiermee kun je een aangepaste schema.org JSON-LD aanmaken.
Formulier validatie met regex.
De basisklasse voor Formulier validatieregels heeft validatie met reguliere expressie geïmplementeerd, maar geen manier om een reguliere expressie in te voeren via de formulierdefinitie. Je moet je eigen validatieregel klasse bouwen, deze registreren in Joomla en dan gebruiken. Dat lijkt te complex voor dit doel, dus Joomla 5.1 voegt een regel toe om reguliere expressie validatie toe te voegen.
Voor je veld voeg je validate="regex" toe aan je formulierdefinitie en de reguliere expressie via validate_regex="". De waarde van het veld wordt dan server-side gevalideerd aan de hand van de opgegeven regex. Je moet er wel op letten dat je de regex goed moet escapen als je deze toevoegt aan het validate_regex attribuut.
bijvoorbeeld:validate="regex"
validate_regex="^([A-Za-z0-9_-]+:)?[A-Za-z0-9-][A-Za-z0-9\.-]*$"
SVG afbeeldingen in mod_banners
In de advertentie module is het nu ook mogelijk om SVG afbeeldingen te laten zien.
Afbeeldingen in com_mails
Bij het verzenden van html mails gemaakt met com_mails is het mogelijk om afbeeldingen toe te voegen.
De functie convertRelativeToAbsoluteUrls zorgt ervoor dat de afbeeldingen absolute referenties hebben, zodat ze in de e-mail worden geladen. Als de afbeelding echter aan de e-mail is toegevoegd met behulp van de mediabeheerder, worden loading="lazy" en data-path= gestript.
<img src="/images/9.webp" width="1141" height="720" loading="lazy" data-path="local-images:/9.webp">
wordt omgezet naar:
<img src="https://www.website.nl/images/9.webp" width="1141" height="720">
Opnieuw opbouwen in Tags
Wanneer er een probleem is ontstaan met ongeldige lft- en rgt-waarden in de tags-tabel, dan kun je dat nu eenvoudig oplossen door middel van de "opnieuw opbouwen" knop op de tags-pagina.
Code aanpassingen
- Alle modules zijn omgebouwd naar de nieuwe codestyle "service provider".
- De banner module gebruikt nu JLayout joomla.html.image in plaats van een hard gecodeerde afbeelding.
- Het assocciaties-component bestaat nu alleen uit vanilla JS en heeft geen JQuery meer nodig.
- <main> element toegevoegd aan de error.php-pagina.
- Nieuwe modal dialog op diverse plaatsen.
Diverse Updates
- FontAwesome is geupdatet naar versie 6.5.1
- TinyMCE is geupdatet naar versie 6.8.3 (changelog)
Wil je meer weten?
Ben je benieuwd of ik de geschikte partner voor jouw project ben? Kijk dan eens in mijn portfolio, bekijk wat mijn klanten vertellen of neem direct contact met mij op.
Over Jeroen
Sinds 2006 werk ik met Joomla! Ik bouw en onderhoud Joomla-websites en webshops. Daarnaast heb ik veel kennis van zoekmachine-optimalisatie (SEO), hosting en het ontwikkelen van templates en extensies.
Ik bezoek regelmatig JoomlaDagen en gebruikersgroepen, waar ik soms ook als spreker optreed.
Daarnaast zet ik me actief in voor de Joomla-community. Ik ben lid van het Joomla Extensions Directory-team en organiseer de Joomla-gebruikersgroep Breda en JoomlaDagen Nederland.
Ben je op zoek naar een Joomla-specialist? Neem gerust contact met me op!
