Dag 10: Extensies, Componenten, Modules en Plugins

Nu we de basis van Joomla in de vingers hebben gaan we ons in de komende tutorials richten op het toevoegen van extra functionaliteiten aan onze website, zogenaamde Extensies. In vergelijking met Wordpress en Drupal is het uitbreiden van Joomla een tikkeltje ingewikkelder omdat er verschillende typen extensies zijn. Dit vraagt om wat extra uitleg.

Hoe en waarom van Extensies

Typisch van een contentmanagementsysteem is dat ze in de basis zo klein en beheersbaar mogelijk worden gehouden. Niet iedereen heeft immers behoefte aan een contactformulier, fotogallerij of forum. Zal dat wel het geval zijn geweest dan heb je het probleem dat iedereen weer iets anders verlangt van een bepaalde functie.

Om aan alle wensen te kunnen voldoen zou Joomla al snel uitgroeien tot een veel groter, complexer en langzamer systeem. Dit maakt het up-to-date houden van de code en het verhelpen van beveiligingslekken ook een stuk lastiger, helemaal als je beseft dat dit door een team van vrijwilligers moet gebeuren.

dag10 1 Joomla-extensie-pagina

Als oplossing zijn er optionele uitbreidingen beschikbaar die door leden van de community worden geleverd en onderhouden. Net als bij Wordpress en Drupal werkt dit goed. Voor bijna elke functionaliteit, zoals social share buttons of slideshows, worden meerdere varianten aangeboden op de Extensies pagina van Joomla.org. Ongeveer 70% van de extensies zijn gratis, voor de rest betaal je een bedrag dat doorgaans tussen de €10 en €35 ligt.

Het verschil tussen Componenten, Modules en Plugins

In de Joomla wereld vallen alle onderdelen die je kunt in- en uitschakelen of in- en desinstalleren onder de noemer Extensies. Extensies zijn onder te verdelen in drie soorten: Componenten, Modules en Plugins. Een extensie kan zowel een component als een module en/of plugin bevatten.

Wanneer je een nieuwe extensie zoekt op Joomla.org wordt met een icoontje (dag10 2 extensie-icon) aangegeven of je van doen hebt met een plugin (dag10 2 extensie-icon-p), module(dag10 2 extensie-icon-m) en/of een component(dag10 2 extensie-icon-c). Een extensie met een component bevat in veel gevallen ook een module en één of meerdere plugins.

Maar wat zijn nu de verschillen?

Componenten

Componenten zijn van de drie extensie-typen de grootste en meest complete uitbreidingspaketten. Je kunt ze zien als zelfstandige applicaties binnen jouw CMS systeem. In een komende tutorial gaan wij bijvoorbeeld een Component installeren waarmee formulieren aangemaakt kunnen worden. Wanneer je een component installeert, wordt er een snelkoppeling toevoegd aan het Componenten menu. Via deze snelkoppeling krijg je toegang tot alle mogelijkheden van een Component, bijvoorbeeld tot het aanmaken en beheren van formulieren.

Modules

Met modules zijn we op Dag 8: Modules beheren al in aanraking gekomen. Een module laadt een stukje content op een bepaalde positie en pagina. Die content kan zowel van een interne (bijv. een menulijst) of externe (bijv. een twitterfeed) bron komen. Daarbij kun je tot zekere hoogte bepalen hoe de module de content presenteert. De eerder genoemde formulierextensie bevat het component voor het beheren van formulieren, maar kan daarnaast ook een gespecialiseerde module bevatten om een formulier in een zijbalk te plaatsen.

dag10 4 moduletypes

Zoals je weet kun je modules beheren via Extensies > Modulebeheer. Klik je hier op Nieuw dan zie je een lijst van alle moduletypen die je kunt aanmaken. Op het moment dat je een nieuwe module installeert en activeert, zul je deze module kunnen terugvinden in deze lijst.

Plugins

Plugins zijn meestal toevoegingen aan bestaande componenten die je kunt in- of uitschakelen. Om weer een formulierextensie als voorbeeld te nemen: een bijbehorende plugin kan bijvoorbeeld een Captcha zijn. Die Captcha plugin zou onderdeel kunnen uitmaken van de formulierextensie, maar kan ook door een andere maker als losse plugin worden aangeboden.

Een plugin kan ook een kleine, zelfstandige, functie toevoegen. In dat geval is er meestal sprake van enkele configuratiemogelijkheden. Voor een plugin waarmee je een Facebook Like button toevoegt, zou je bijvoorbeeld kunnen instellen hoe groot het Facebook-icoontje moet zijn en of het aantal Likes weergegeven moet worden.

dag10 5 pluginbeheer

Het in- of uitschakelen en configureren van plugins gebeurt via Extensies > Pluginbeheer. Wanneer je op de naam van een plugin klikt kun je de eventuele opties ervan aanpassen.

Indien een Facebook Like extensie geen module bevat, heb je geen of weinig controle over de positie van de Like knop. De Like knop wordt dan waarschijnlijk automatisch aan de onderzijde van een artikel weergegeven.

Net zo goed kan een Facebook Like extensie bestaan uit aleen een module, of zelfs alleen een component. Let daarom op de icoontjes zodat je na installatie weet waar je een extensie moet activeren en configureren.

 

Slot

Zowel componenten als plugins en modules kun je naar eigen voorkeur in- of uitschakelen en configureren. Het verschil is dat componenten kunt beschouwen als een applicatie op zich, plugins als kleine toegevoegde functionaliteiten en modules als doorgeefluiken voor content die op een bepaalde plek of pagina moet worden geplaatst.

In een gebruikelijke situatie bestaat een extensie uit een hoofdonderdeel (het component), enkele subonderdelen (de plugins) en eventueel een uitvoerkanaal (de module).

Tot zover dit dagje theorie. Morgen gaan we een eerste functionaliteit toevoegen aan de website met behulp van een al aanwezig component.

Laatst gewijzigd op: