Plugins
Im Türchen Nummer 15 geht es um Plugins.
Plugins übernehmen sehr viele verschiedene Aufgaben, indem sie sich im System an bestimmten stellen einhaken und diverse Operationen durchführen. Die Funktion von Plugins lässt sich besser erklären, wenn man sie unterteilt. Joomla! kommt mit ca. 80 Plugins, die in Gruppen (oder Typen) klassifiziert sind:
Content (Inhalt): Können verwendet werden z.B. um der Inhalt eines Beitrags zu ändern bevor er im Frontend angezeigt wird.
System: Diese Plugins erfüllen viele verschiedene Funktionen. Sie sind nicht auf dem Inhalt beschränkt, sondern können das Verhalten des Systems beeinflussen.
Authentication (Authentifizierung): Das sind Plugins, die beim Einloggen die Benutzer authentifizieren. Standardmäßig werden die Benutzer über die Joomla Datenbank authentifiziert. Man kann aber auch externe Services mit Authentication Plugins einbauen.
Two Factor Authentication (Zweifaktoren-Authentifizierung): Sie bringen extra Sicherheit im Authentifizierung Prozess.
User (Benutzer): Alles was mit Benutzer zu tun hat.
Search (Suche): Das sind Plugins, die die Suche in den verschiedenen Inhalte von Joomla steuern.
Finder oder Smart Search: Steuern eine spezielle Suche in Joomla, die auf Index Tabellen basiert.
Editor: Um WYSIWYG Editoren einzubinden.
Editors-xtd oder Buttons: Plugins, die extra Buttons (z.B. Weiterlesen) im Editor einfügen.
Captcha: Plugins, die Captchas in Formulare einfügen. Das Joomla Core kommt mit einem Plugin für reCaptcha.
Extension (Erweiterung): Können verwendet werden um Aufgaben beim Installieren oder Entfernen von Erweiterungen auszuführen.
Felder: Custom Fields seit Version 3.7.0
Quick Icon: Diese Plugins werden verwendet um Quickicons im Dashboard des Administrators einzubinden.
Die Gruppen sind nur eine Art Plugins zu klassifizieren. Die Funktion des Plugins wird definiert durch die Events, die es anstößt. Diese Events sind typspezifisch, wie z.B. onContentPrepare für Content Plugins oder onAfterRender für System Plugins. Eine komplette Liste der Events mit Erklärungen und Beispiele kann in der offizielle Dokumentation von Joomla gefunden werden (https://docs.joomla.org/Plugin/Events).
Wo findet man die Plugins und welche sind wichtig?
Unter Erweiterungen -> Plugins findet man die installierten Joomla Plugins. Hier kann man die Plugins deaktivieren oder aktivieren und ggf. konfigurieren.
Einige sind standardmäßig aktiviert, wie z.B. Authentifizierung - Joomla!, sonst könnte man sich nicht auf der Website anmelden.
Authentifizierung / Zwei-Faktor-Authentifizierung
Eine sinnvolle Ergänzung für die Anmeldung ist eine Zweifaktoren-Authentifizierung. Joomla bringt zwei Plugins dafür: Google Authenticator und YubiKey. Beide erweitern die Anmeldung um ein zweites Passwortfeld. Für die Authentifizierung mit Google Authenticator muss jeder Benutzer in seinem Profil die Methode konfigurieren und einen geeigneten Zwei-Faktor-Generator verwenden, die das zweite Passwort für die Anmeldung anzeigt.
Alternativ ist die Nutzung eines YubiKeys möglich. Den YubiKey kann man auch im Benutzerprofil konfigurieren bzw. aktivieren.
Captcha
Wie oben erwähnt, bringt Joomla ein reCaptcha Plugin mit. Die Aktivierung dieses Plugins ist sehr zu empfehlen um Spams übers Kontaktformular zu vermeiden. Für die Nutzung des Plugins ist ein API Key von Google notwendig.
Inhalt / Content
Unter den Inhaltsplugins (Typ content) sind 9 vorhanden. Diese steuern die Seitennavigation (weiter / zurück zwischen Beiträgen), ermöglichen das Einfügen von Seitenumbrüche (für lange Beiträgen), das Laden von Modulen (über {loadposition...} in Beiträgen, usw.
Beim Plugin Seitennavigation kann man einstellen, wie und wo die Buttons angezeigt werden: Als Weiter/Zurück Text oder mit dem Beitragstitel, ob unter oder über dem Beitrag / Text:
Besonders interessant ist das Plugin E-Mail-Verschleierung: Dieses Plugin verschleiert E-Mail-Adressen mit JavaScript, um diese vor Spambots zu schützen.
Editor
Joomla kommt mit drei Editoren. Alle sind standardmäßig aktiviert und können global genutzt werden (für alle Benutzer gleich) oder über das Benutzerprofil individuell zugewiesen werden. Die Plugins geben die Möglichkeit keinen Editor zu laden (man sieht reinen HTML Code ohne Formatierung), den CodeMirror, der Code mit Hervorhebung (konfigurierbar) darstellt oder TinyMCE, ein WYSIWYG Editor mit mehreren Voreinstellungen und vielen konfigurierbaren Funktionen.
Editors-xtd
Editoren können mit Extra-Buttons erweitert werden. Diese Plugins findet man unter dem Typ editors-xtd. Darunter sind z.B. die Buttons für das Einfügen von Modulen, Feldern, Seitenumbrüche und Weiterlesen in Beiträgen.
Felder / Fields
Seit Joomla 3.7.0 gibt es die Custom Fields in Joomla Core. Die verschiedene Felder sind als Plugins des Typs fields zu finden. Bei einigen der Felder gibt es Konfigurationsmöglichkeiten, z.B. bei Bildliste kann man das Verzeichnis, aus dem die Bilder ausgelesen werden, definieren, eine Mehrfachauswahl ermöglichen und den Bilder eine Klasse zuweisen.
Mittlerweile gibt es verschiedene neue Felder zum Downloaden (extensions.joomla.org) und auch Anleitungen für das Erstellen von eigenen Feldertypen (https://coolcat-creations.com/blog/tutorial-erstelle-ein-eigenes-custom-field-plugin).
Finder / Suche
Vom Typ finder sind die Plugins, die die Indexierung von Inhalte in Joomla ermöglichen, damit die Suche über die Komponente Suchindex richtig funktioniert. Dafür muss auch das Inhaltsplugin Suchindex aktiviert sein.
Die Standard Suche von Joomla wird durch die search Plugins gesteuert. Hier kann man die Suche in den verschiedenen Bereichen von Joomla konfigurieren (Kategorien, Kontakte, usw.).
System
Unter den System-Plugins sind einige wichtige Plugins enthalten. Um eine Mehrsprachige Seite zu erstellen, müssen die Plugins System - Sprachenfilter und System - Sprachkürzel aktiviert werden. Das erste ermöglicht die Anzeige der Inhalte je nach ausgewählte Sprache. Das zweite generiert einen Sprachkürzel für die verschiedene Sprachen, z.B. meineseite.de/de und meineseite.de/en
Um die Custom Fields anzeigen zu können, muss das Plugin System - Felder aktiviert sein.
Weitere Systemplugins sind z.B. die Aktualisierungsmitteilung, die das Versenden eines E-Mails steuert, wenn eine neue Joomla Version vorhanden ist:
und die Statistikerhebung, ein Systemplugin, dass Umgebungsdaten an einen vom Joomla!-Projekt kontrollierten Server für statistische Zwecke sendet. Dabei werden die folgenden Daten übermittelt: PHP-Version, CMS-Version, Datenbanktyp, Datenbankversion und der Servertyp.
Benutzer / User
Bei den Benutzer Plugins findet man drei Plugins. Das Benutzer - Joomla! Plugin ist standardmäßig aktiviert und steuert die Joomla!-Standard-Benutzer-Synchronisation. Wenn man mit der Kontaktkomponente arbeitet, kann das Plugin Benutzer - Kontakterstellung von Interesse sein. Dieses Plugin ist zuständig für die automatische Erstellung von Kontaktinformationen für neue Benutzer. Außerdem gibt es das Benutzer - Profil-Plugin, eine Erweiterung der Daten, die Benutzer bei der Registrierung und Profilbearbeitung eintragen können.
Weitere Infos
Mehr über Core Plugins und die Events, die in der Funktionalität involviert sind, kann in der Joomla Dokumentation gefunden werden:
https://docs.joomla.org/Plugin
https://docs.joomla.org/Plugin/Events