Skip to main content

Waarom Joomla?

Ik ben ongeveer 16 jaar geleden begonnen met het bouwen van websites. Pas in 2008 besloot ik om als webontwikkelaar aan de slag te gaan, dus ik begon verschillende CMS'en uit te proberen (WordPress, Joomla, Drupal, MODX enz.) om het CMS te vinden dat het beste bij me paste en dat mijn werk zou vereenvoudigen.

Omdat ik een beginner was op het gebied van webontwikkeling, koos ik WordPress omdat het administratiepaneel veel eenvoudiger en gebruiksvriendelijker leek dan bij de andere CMS'en die ik had geprobeerd. Ik leerde dus mijn eigen thema's te maken en websites te bouwen op dit prachtige CMS, en ik was er erg trots op.

Slecht nieuws!

Helaas was het (relatief vroeg) tijd voor een hobbelige landing. Het was toen dat ik ontdekte dat ongeveer 30% van de websites wereldwijd was gehackt! Het opmerkelijke was echter dat al die sites gebouwd waren op WordPress. Het was een massale aanval op WordPress.

Ik was helemaal geschokt! Ik had zoveel tijd, moeite en geld geïnvesteerd in dit CMS om alle geheimen te leren kennen en zo productief mogelijk te worden. Wat nu? Wat gebeurt er vanaf nu? Ik heb ervaring met programmeren sinds de vroege jaren 90 en mijn belangrijkste principe bij alles wat ik deed was veiligheid. Veiligheid eerst.

Ik stond voor een dilemma: of ik moest mijn basisprincipe schenden, of ik moest alles weggooien wat ik had geïnvesteerd in het leren van WordPress. Zonder na te denken, besloot ik voor het laatste. Ik voel me volledig gerechtvaardigd door deze beslissing, want vanaf dat moment tot het moment dat ik deze regels schrijf, zijn er nog veel meer van dit soort aanvallen uitgevoerd met het arme WordPress als slachtoffer.

Het is tijd voor Joomla!

Mijn zoektocht naar het juiste CMS begint opnieuw. Kiezen was niet moeilijk, want vanaf het begin was Joomla het tweede CMS dat mijn voorkeur had. Nogmaals op het nulpunt! Ik moest leren om mijn eigen thema's te maken (in Joomla heten ze templates) en ook om me te verdiepen in een systeem met vrijwel eindeloze mogelijkheden. Dit was het schijnbaar moeilijkere deel vergeleken met WordPress (waarin je om zelfs maar basisfuncties uit te voeren een kant-en-klare plugin moest gebruiken of het zelf moest bouwen).

Zei ik plugin?

Ik heb zojuist het kernprobleem gevonden van het CMS waar ik zo van hield. Voor bijna elke functie heb je een plugin nodig die achterdeurtjes opent voor wanna-be hackers. Helaas kun je echt niet weten wat de kwaliteit van de code is van elke plugin die je gebruikt en of deze voldoet aan de basisprincipes van beveiliging. Je weet ook niet of de ontwikkelaar het zal blijven updaten en het compatibel zal houden met elke nieuwe versie van het CMS. Zal het blijven werken na de volgende WordPress update, of zal de hele site erdoor crashen?

Genoeg over de oude dingen, dat is verleden tijd.

 

Heb ik de ideale gevonden?

Er zijn talloze artikelen geschreven over het beste CMS. WordPress vs Joomla, WordPress vs Drupal, WordPress vs Joomla vs Drupal, en de lijst houdt nooit op.

Vanuit mijn ervaring kan ik zeggen dat er geen ideaal CMS bestaat. Elk CMS heeft zijn eigen toepassingsgebied, voor- en nadelen. Het ideale CMS is het CMS dat vooral veilig is, maar waarmee je ook gemakkelijker en sneller kunt werken, zodat je het beste resultaat krijgt.

Persoonlijk was ik geïnteresseerd in een CMS dat standaard alle basisfuncties heeft die nuttig kunnen zijn voor het ontwikkelen van een website, zodat ik geen extensies hoefde te gebruiken die gebouwd waren door externe ontwikkelaars. Dit betekent dat ik de problemen die ik hierboven heb genoemd zoveel mogelijk zou vermijden, maar ook de kosten voor het bouwen en onderhouden van een website zou verlagen, wat uiteindelijk ten goede zou komen aan de klant. Deze en nog veel meer dingen die we hieronder zullen zien, ontdekte ik dat ik kan doen met Joomla!

Key Features van joomla

Configuratiescherm - Achterliggende organisatie

Het Joomla beheerpaneel is veel overzichtelijker met veel eenvoudigere beschikbare opties dan in andere CMS. Het is een geweldig hulpmiddel voor het eenvoudig maken en beheren van inhoud en het beheren en onderhouden van allerlei soorten websites: van blogs tot grote internationale portals.

Als je naar de algemene instellingen van Joomla kijkt, vind je opties voor van alles en nog wat: redirects, SEO-instellingen, e-mailinstellingen, caching, parameters en nog veel meer. In plaats van parameters voor slechts een paar elementen van je site, heb je parameters voor alle elementen. Is dat niet geweldig?

Voor gebruikers die een goede organisatie aan de achterkant nodig hebben, is Joomla waarschijnlijk de beste keuze. Natuurlijk vereisen al deze opties en parameters iets meer leertijd, vooral voor beginners. Deze extra tijd is het echter waard vanwege de toegenomen functionaliteit.

Structuur

De structuur van Joomla is duidelijk. Bovenaan staan categorieën en onder elke categorie staan de artikelen. Elk artikel hoort maar bij één categorie, maar je kunt artikelen van verschillende categorieën met elkaar in verband brengen door tags te gebruiken. Een vrij duidelijke structuur die zelfs de meest onwetende gebruiker kan begrijpen. Er zijn geen verstrengelingen tussen berichten en pagina's zoals elders.

Als je een nieuw menu wilt toevoegen, is de optie super eenvoudig en hoef je niet een hoop code te schrijven. Hetzelfde geldt als je artikelen wilt beperken tot bepaalde pagina's. Je kunt eenvoudig en snel alles doen wat je nodig hebt.

Structuur van Joomla

 

Inhoud

Je kunt de artikelen naar wens bestellen. Ook kun je, als je dat wilt of als de omstandigheden dat vereisen, de start- of einddatum van de publicatie van een artikel of een module plannen (we zullen het hieronder hebben over modules). In artikelen heb je de optie om verschillende foto's te gebruiken voor de introtekst en het hoofdartikel. Erg handig is ook de optie om een oudere versie van je artikel te herstellen (versiebeheer).

Je hebt ook de mogelijkheid om zoveel kopieën te maken als je wilt van bijna alles: categorieën, artikelen, modules, menu's en meer, je kunt ze klonen en bewerken met één klik. En dit alles zonder dat je een plugin nodig hebt!

Joomla Inhoud

Overschrijft

Joomla is gebouwd op het MVC (Model-View-Controller) model. Een moderne architectuur die een grote en eenvoudige flexibiliteit biedt. In dezelfde architectuur is het merendeel van de Joomla extensies gebouwd. De mogelijkheid om (dankzij deze MVC-architectuur) alles te overschrijven, van de taal tot de template en extensies, maken Joomla een van de krachtigste CMS'en en een uitstekende multi-tool in de handen van een ontwikkelaar.

Flexibiliteit

Voor de meeste mensen is flexibiliteit het enige dat telt.

Met Joomla kun je verschillende soorten inhoud op dezelfde website weergeven. Als u bijvoorbeeld wilt dat uw blog er anders uitziet dan uw productpagina, hoeft u er alleen maar een andere sjabloon aan toe te wijzen. Installeer gewoon het sjabloon dat u wilt, wijs het toe aan de menu-items die u wilt en u bent klaar.

Er zijn ook zoveel instellingen in de menu-items dat je niet alleen afhankelijk bent van de algemene instellingen. En geloof me, dit is een echte levensredder!

Flexibiliteit

Modules

Een ander groot onderdeel dat bijdraagt aan de flexibiliteit van Joomla zijn modules. Modules zijn "kleine" uitbreidingen (zoiets als de "widgets" van WordPress) die je op verschillende posities op je pagina kunt plaatsen (Joomla templates hebben veel van zulke posities) en die specifieke soorten vooraf gedefinieerde inhoud weergeven. Typische voorbeelden zijn de inlogmodule, bannermodule, diavoorstellingsmodule, laatste nieuwsmodule, enz.

Modules maken het mixen van inhoud op een website heel eenvoudig. Je zou dus kunnen zeggen dat modules voor Joomla een Zwitsers zakmes zijn!

Joomla Modules

Contactformulieren

Elke website moet een contactformulier hebben. Dit is het meest basale en noodzakelijke element voor elke website. In Joomla is de mogelijkheid om een contactformulier te maken ingebouwd, dus je hoeft geen plugin te installeren om deze basisfunctie te gebruiken.

 

Contactformulieren

Meertaligheid

Vaak komen klanten met het verzoek om een meertalige website te bouwen (een website waarvan de inhoud in meer dan één taal wordt gepresenteerd).

In WordPress is het bouwen van een meertalige website een lastige klus. Je moet een plugin kopen die past bij het thema dat je hebt gekozen en als alles goed gaat, ga je verder met het bouwen van de site.

Gelukkig geldt dit in een parallel universum en niet in Joomla. In Joomla hoef je niets toe te voegen omdat het meertalige functionaliteit out of the box biedt. Je installeert gewoon de gewenste talen via de taalmanager, steekt de handen uit de mouwen en gaat aan de slag!

Meertaligheid

Aangepaste velden

Als modules het Zwitserse zakmes voor Joomla zijn, dan zijn aangepaste velden de hoofdsleutel die alle deuren opent. Wil je dat sommige van je categorieën of artikelen meer of andere secties bevatten dan normaal? Kijk dan niet verder. De mogelijkheden zijn praktisch eindeloos, en natuurlijk zonder dat je een extra plugin nodig hebt.

 

De toegangscontrolelijst (Access Control List)

Dit is een van de mooiste en krachtigste functies die Joomla van zichzelf biedt. Via ACL kan men toegang verlenen tot de inhoud van de website afhankelijk van het niveau van de gebruiker. Dit geldt zowel voor de voorkant als de achterkant van de website.

Om specifieker te zijn, ervan uitgaande dat we een website hebben met inhoud die alleen toegankelijk mag zijn voor geregistreerde gebruikers, dan is ACL het hulpmiddel dat we nodig hebben. Via de ACL kunnen we verschillende rollen aanmaken die gebruikers toegewezen krijgen wanneer ze zich registreren en op basis van die rollen wordt de overeenkomstige inhoud ontgrendeld. Dat is alles voor de voorkant van de site.

Wat de backend betreft, hebben we een vergelijkbare functie waar we verschillende rollen kunnen toewijzen en op basis van die rollen kunnen gebruikers de overeenkomstige inhoud bewerken. Vooral bij zakelijke projecten kunnen we dus verschillende rollen toewijzen aan het personeel dat zorgt voor het onderhoud en bijwerken van de website. Op deze manier voorkomen we fouten en inconsistenties en is iedereen alleen verantwoordelijk voor een specifiek deel van de site.

De toegangscontrolelijst wordt geleverd met een aantal voorgedefinieerde rollen, die we kunnen configureren en verrijken volgens onze vereisten. En dit alles zonder extra extensies te installeren!

 Joomla ACL

Toegankelijkheid - WCAG 2.0 AA

De komst van Joomla 4 bracht een van de belangrijkste functies, ondersteuning voor toegankelijkheid. Joomla voldoet nu aan WCAG 2.0 Niveau AA, wat betekent dat het beheerpaneel, de uitbreidingen en ook de websites die met Joomla zijn gebouwd nu gemakkelijk te gebruiken en te begrijpen zijn voor de meerderheid van de mensen met of zonder handicap.

Daarnaast brengt een relatief nieuwe functie de toegankelijkheid naar een nog hoger niveau. Het is de Toegankelijkheidscontrole die veel fouten en waarschuwingen detecteert en hulp en tips geeft om ze te verhelpen.

Je hoeft niet langer te investeren in extensies of plugins, dankzij ingebouwde toegankelijkheidsondersteuning voor zowel frontend als backend. Dit is een fantastische functie voor iedereen die in het verleden heeft geworsteld met toegankelijkheid.

Accessibility - WCAG 2.0 AA

Takenplanner

Nog zo'n handig ding voor de websitebeheerder. Als er taken zijn die constant herhaald worden of taken die niet vergeten mogen worden en ingepland moeten worden voor de toekomst, dan kunnen ze gedaan worden met de Taakplanner, ongeacht of de host cronjobs toestaat om te draaien of niet.

Takenplanner

Beveiliging

Ik heb het (voor mij) belangrijkste deel voor het einde gelaten. Beveiliging.

In tegenstelling tot WordPress, waar je je gebruikersnaam alleen vanuit de database kunt wijzigen, kun je dit bij Joomla eenvoudig vanuit het configuratiescherm doen. Denk je dat dit iets nutteloos is? Niet voor de kenners...

Als u het Joomla Dashboard opent, worden de laatste login en de recente activiteit van uw gebruikers weergegeven. Zo weet je wie en wanneer heeft ingelogd en welke wijzigingen heeft aangebracht in het systeem.

Voor degenen die veel waarde hechten aan beveiliging, biedt Joomla de optie om Two-Factor Authenticatie (2FA) in te schakelen. 2FA voegt een extra beveiligingslaag toe aan het inlogproces van gebruikers, waardoor de kans dat je account in gevaar komt sterk wordt verkleind.

Joomla biedt standaard de mogelijkheid om HTTPS af te dwingen. Dit betekent dat (als u een SSL-beveiligingscertificaat op de server hebt geïnstalleerd) al het gegevensverkeer van en naar uw website noodzakelijkerwijs wordt versleuteld. Anders worden je gebruikersnaam en wachtwoord, wanneer je bijvoorbeeld inlogt op je website, niet versleuteld verzonden, maar gaan ze als niet-versleutelde tekst over het internet. Griezelig, hè?

HTTP-beveiligingsheaders zijn standaard aanwezig in Joomla en voegen een extra beveiligingslaag toe aan je website, waardoor aanvallen en beveiligingslekken worden beperkt.

Door mijn jarenlange ervaring in de industrie heb ik ontdekt dat WordPress is gebouwd op spaghetti-code (en soms verouderd) met patches op patches en de twijfelachtige kwaliteit van de ontwikkelaars van al deze toevoegingen maken het een van de meest onveilige CMS'en. Het Joomla team was daarentegen niet bang om een groot deel van de kerncode opnieuw te schrijven om het schoon, modern en veilig te houden.

Gemeenschap

De Joomla gemeenschap is echt geweldig. Ontwikkelaars die echt houden van wat ze doen, elkaar oplossingen en hulp bieden en geweldige extensies bouwen die de functionaliteit van Joomla naar een hoger niveau tillen. Voor elke functie die uw site moet uitvoeren, als deze niet standaard wordt gedekt door Joomla, is er zeker al een goed gebouwde extensie die de klus kan klaren en meer. Bovendien zijn de kosten voor de aankoop van Joomla extensies altijd betaalbaar, in tegenstelling tot de meeste WordPress extensies.

Slotopmerkingen

Hoewel ik omwille van de beknoptheid veel Joomla functies heb weggelaten, is het uit het bovenstaande goed te begrijpen waarom ik dit CMS heb gekozen voor de websites die ik bouw.

Dit krachtige CMS biedt de nodige schaalbaarheid om kleine, middelgrote en grote sites te beheren. Met alle native functies die het biedt, kan het de ontwikkeling van elk soort website ondersteunen. En als beveiliging een onderwerp is dat je serieus neemt, dan is een CMS als Joomla duidelijk een must voor je.

 

 

 

Bron: Net 'n' Design

Waarom Joomla?