Erweiterungen - Infos zur artgerechten Haltung

Du hast Probleme beim Installieren oder bei der Benutzung einer Extension? In diesem Forum bist du richtig.
Forumsregeln
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download.
Antworten
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

Erweiterungen - Infos zur artgerechten Haltung

Beitrag von LukeWCS »

Link zu diesem Artikel:

Code: Alles auswählen

[url=https://www.phpbb.de/community/viewtopic.php?t=246191]Erweiterungen - Infos zur artgerechten Haltung[/url]
Übersicht
  1. Einleitung
  2. Wo müssen Erweiterungen im Webserver hochgeladen werden?
  3. Wo werden Erweiterungen im ACP verwaltet?
  4. Was man vermeiden sollte
    1. Eine installierte Erweiterung vom Webserver löschen
    2. Eine aktivierte Erweiterung aktualisieren
    3. Eine Erweiterung beim Aktualisieren überschreiben
    4. Alle Erweiterungen per Datenbank-Eingriff oder Support Toolkit deaktivieren
  5. Näher betrachtet: Was beim "Aktivieren", "Deaktivieren" und "Arbeitsdaten löschen" passiert
  6. Validierte und nicht-validierte Erweiterungen
1. Einleitung

In dieser Dokumentation über das lustige Leben der Erweiterungen... Entschuldigung, in diesem Starter-Thema sollen allgemeine Informationen zum Thema Erweiterungen sowie auch weniger bekannte Eigenschaften der Erweiterungen und des ACPs (Administrator Control Panel) vermittelt werden. Dabei werden außerdem Beobachtungen in freier Wildbahn dokumentiert.

2. Wo müssen Erweiterungen im Webserver hochgeladen werden?

Alle Erweiterungen müssen im Webserver im Ordner ext von phpBB abgelegt werden, das ist sozusagen der natürliche Lebensraum der Erweiterungen. Bei jeder Erweiterung gilt dabei das Pfadmuster ext/<autor-name>/<extension-name>/. Wenn eine Erweiterung nicht diesem Pfadmuster entspricht, dann sieht phpBB diese Erweiterung nicht und der Administrator kann diese dann auch nicht aktivieren.

3. Wo werden Erweiterungen im ACP verwaltet?

Alle Erweiterungen werden im Karteireiter ANPASSEN (Erweiterungen verwalten) verwaltet. Dort sind alle im Webserver vorhandenen Erweiterungen mit ihren Versionsnummern aufgelistet. Auf dieser Seite kann eine Erweiterung installiert, deaktiviert/reaktiviert und auch wieder deinstalliert werden. Durch Klick auf "Details" einer Erweiterung wird eine Infoseite geöffnet, auf der Näheres über den Zweck der Erweiterung, deren Voraussetzungen, sowie der Name des zuständigen Erweiterung-Autors bzw. der Autoren in Erfahrung gebracht werden kann. Außerdem wird auf dieser Infoseite automatisch eine Versionsprüfung ausgelöst, sofern der Erweiterung-Autor eine solche eingerichtet hat. Wurde die Erweiterung von der CDB (Customisation Database) bezogen, ist auf jeden Fall eine Versionsprüfung vorhanden.

Am Ende der Seite ANPASSEN (Erweiterungen verwalten) findet man auch alle Kurzanleitungen zum Thema INSTALLIEREN, AKTUALISIEREN und ENTFERNEN. Es empfiehlt sich ebenfalls die Installationshinweise der Erweiterung-Autoren zu beachten, falls Besonderheiten berücksichtigt werden müssen.

Siehe auch: Knowledge Base - Installationsanleitung für eine Erweiterung (Extension)

4. Was man vermeiden sollte

Erweiterungen sind recht genügsam und einfach zu halten. Aber es gibt ein paar Dinge die man vermeiden sollte, weil sonst phpBB unter Umständen ziemlich verstört reagiert und dann ein Forumflüsterer benötigt wird, der phpBB wieder beruhigen kann.
  1. Eine installierte Erweiterung vom Webserver löschen: Eine bereits installierte und aktivierte Erweiterung darf nicht per FTP-Client vom Webserver gelöscht werden, wenn sie nicht mehr benötigt wird. Je nach Funktionsweise der Erweiterung kann das zur Folge haben, dass das Forum nicht mehr funktioniert. Das heißt das Frontend ist für Benutzer nicht mehr erreichbar und der Administrator kommt nicht mehr in das ACP. Eine reguläre Deinstallation wäre dann auch nicht möglich, weil die dafür nötigen Dateien ja gelöscht wurden. Auch eine bereits installierte aber deaktivierte Erweiterung darf nicht per FTP-Client gelöscht werden, weil es dann zumindest auf der Seite ANPASSEN (Erweiterungen verwalten) in der Liste der Erweiterungen zu einer Fehlermeldung kommt, da die Erweiterung nach wie vor in der Datenbank als installiert registriert ist.
    Wenn aus Versehen eine Erweiterung gelöscht wurde ohne diese vorher zu deinstallieren, dann kann die Erweiterung einfach wieder in den Webserver hochgeladen werden. Dabei muss darauf geachtet werden, dass wieder möglichst die gleiche Version der Erweiterung hochgeladen wird. Dann kann die Erweiterung regulär deinstalliert werden.
  2. Eine aktivierte Erweiterung aktualisieren: Um eine Erweiterung zu aktualisieren, muss diese unbedingt vorher deaktiviert und nach der Aktualisierung wieder aktiviert werden. Im aktivierten Zustand per FTP-Client aktualisieren genügt nicht, weil dann bestimmte Mechanismen von phpBB nicht ausgeführt werden können. Dazu gehören zum Beispiel die Migration (wird später erklärt) und Erweiterung-spezifische Aktionen beim Deaktivieren/Aktivieren. Das kann zur Folge haben, dass im harmlosesten Fall die Erweiterung nicht das macht oder anzeigt was sie soll und im ungünstigsten Fall können Fehlfunktionen bei der Erweiterung und/oder bei phpBB auftreten. Wenn die Erweiterung in ihren Einstellungen eine alternative Option zum Deaktivieren bietet, dann genügt diese Option ebenfalls nicht. Damit eine Erweiterung aktualisiert werden kann, muss diese immer auf der Seite ANPASSEN (Erweiterungen verwalten) deaktiviert werden.
    Wurde vergessen eine Erweiterung vor der Aktualisierung zu deaktivieren, dann sollte nach der Aktualisierung die Erweiterung erst einmal deaktiviert und anschliessend wieder aktiviert werden. Im Idealfall werden dabei die fehlenden Schritte nachgeholt. Es ist jedoch nicht garantiert, dass das immer funktioniert.
  3. Eine Erweiterung beim Aktualisieren überschreiben: Eine Erweiterung darf beim Aktualisieren nicht überschrieben werden, sondern muss nach der Deaktivierung zuerst komplett vom Webserver entfernt werden. Das hat den Hintergrund, dass bei der Aktualisierung veraltete Dateien (und Ordner) entfernt werden können, die in der neuen Version der Erweiterung keine Bedeutung mehr haben. Wenn im Webserver dagegen nur überschrieben wird, dann besteht die Gefahr, dass veraltete Dateien bestehen bleiben. Und solche Dateien können dann unter Umständen Fehlfunktionen verursachen. Das betrifft primär Dateien im Template-System.
    Wurden Änderungen bei einer Erweiterung vorgenommen, zum Beispiel bei den Sprachdateien oder bei den Templates, dann müssen diese Änderungen natürlich vor der Aktualisierung der Erweiterung gesichert werden, falls noch nicht geschehen. Dann können die Änderungen nach der Aktualisierung wieder eingefügt werden.
  4. Alle Erweiterungen per Datenbank-Eingriff oder Support Toolkit deaktivieren: Sowohl ein DB-Eingriff zum deaktivieren einzelner oder aller Erweiterungen als auch die entsprechende Funktion beim STK haben eines gemeinsam: die Erweiterungen werden nicht korrekt deaktiviert, sondern lediglich als deaktiviert markiert. Es gibt jedoch eine ganze Reihe von Erweiterungen die eine solche Methode der Deaktivierung nicht gut vertragen. Als Beispiel sei hier "Thanks for posts" genannt, es gibt noch einige mehr, auch hier bei uns auf phpBB.de. Wird eine solche Erweiterung per DB-Eingriff oder STK quasi gewaltsam lahmgelegt, kann das je nach Erweiterung und Situation zur Folge haben, dass das Foren Frontend nicht mehr erreichbar ist (Beispiel). Darüber hinaus kann das auch zur Blockierung vom STK selbst führen. Darum sollten DB-Eingriffe und das STK zum deaktivieren von Erweiterungen nie die erste Option sein.
    Wenn noch Zugriff auf das ACP besteht und alle Erweiterungen in einem Durchgang und korrekt deaktiviert werden sollen, dann kann dazu Extension Manager Plus oder Enable/disable extensions completely oder Disable all Extensions verwendet werden. Wenn kein Zugriff mehr auf das ACP möglich ist, dann sollte als erstes versucht werden, das Notfall-Skript von david63 anzuwenden. Siehe den letzten Punkt "By using the Disable Extensions script" im entsprechenden Knowledge Base Eintrag von phpBB.com: Knowledge Base - Disabling all extensions at once. Wichtig: Nachdem das Skript ausgeführt wurde, muss noch manuell der phpBB Cache gelöscht werden.
    Die technische Ursache für Probleme bei der Deaktivierung mittels DB-Eingriff oder STK ist die Datei ext.php, die von manchen Erweiterungen benötigt wird, wenn darin die Methode disable_step() definiert wurde. Zugehörige Seite der Entwickler Doku: Using installation commands in ext.php
Bitte immer die Kurzanleitungen bezüglich Erweiterungen im ACP beachten.

5. Näher betrachtet: Was beim "Aktivieren", "Deaktivieren" und "Arbeitsdaten löschen" passiert

Diese Funktionen machen jeweils deutlich mehr, als man zuerst vermuten könnte. Darum werden hier zusätzliche Informationen aufgeführt die dabei helfen können, sowohl die Kurzanleitungen im ACP als auch den Punkt "Was man vermeiden sollte" besser verstehen zu können.

Aktivieren

Wird eine Erweiterung das erste Mal aktiviert, dann wird von phpBB tatsächlich eine Installation dieser Erweiterung durchgeführt. Das heißt phpBB registriert diese Erweiterung in der Datenbank. Außerdem wird bei der erstmaligen Aktivierung auch ein lokaler Update-Prozess der Erweiterung in Gang gesetzt, die sogenannte Migration. Sofern eine solche vorhanden ist, nicht jede Erweiterung benötigt eine Migration. Mit Hilfe der Migration wird es dem Erweiterung-Autor zum Beispiel ermöglicht, Änderungen in der Datenbank vorzunehmen, oder neue Einstellungen und ACP Module hinzufügen zu können. Die Migration wird nicht nur bei der erstmaligen Aktivierung ausgeführt, sondern kann auch bei einer Aktualisierung der Erweiterung ausgeführt werden, wenn der Erweiterung-Autor neue Migrationsdateien hinzugefügt hat.

Alle vorhandenen Migration-Schritte werden automatisch der Reihe nach ausgeführt. Wenn man zum Beispiel erstmalig eine Erweiterung mit der Version 1.0.2 installiert und der Erweiterung-Autor hat bei jeder neuen Version auch eine neue Migration hinzugefügt, dann werden in dem Fall automatisch die Migration-Schritte 1.0.0, 1.0.1 und 1.0.2 hintereinander ausgeführt. Dabei wird jeder einzelne Migration-Schritt in der Datenbank als erledigt vermerkt. Dadurch weiß phpBB bei der nächsten Aktivierung der Erweiterung - zum Beispiel nach einer Aktualisierung - welche Migration-Schritte bereits ausgeführt wurden.

Des Weiteren können bei jeder Aktivierung auch besondere Aktionen ausgeführt werden, die der Erweiterung-Autor zusätzlich für "Aktivieren" festgelegt hat. All diese Dinge geschehen im Hintergrund, der Administrator bekommt davon nichts mit, wenn er auf "Aktivieren" klickt. Hier geschieht also eine Menge mehr, als nur das simple Aktivieren einer Erweiterung.
Wird eine Erweiterung erstmalig aktiviert, dann wird diese installiert und in der Datenbank an verschiedenen Stellen registriert.
Deaktivieren

Von allen drei besagten Funktionen ist dies noch die einfachste. Hier wird die Erweiterung von phpBB ordentlich deaktiviert und als inaktiv markiert. Wenn eine Erweiterung deaktiviert wurde, dann verhält sich phpBB so, als wäre diese Erweiterung gar nicht vorhanden. Sämtliche Einstellungen und Daten der Erweiterung bleiben dabei erhalten und stehen beim Reaktivieren sofort wieder zur Verfügung.

Ebenso können bei der Deaktivierung besondere Aktionen ausgeführt werden, die der Erweiterung-Autor zusätzlich für "Deaktivieren" festgelegt hat.
Der Zustand "Deaktiviert" ist eine wichtige Voraussetzung, damit eine Erweiterung korrekt aktualisiert werden kann.
Arbeitsdaten löschen

Das ist eine oft missverstandene Funktion und der Name dieser Funktion erklärt nur ansatzweise, was da tatsächlich geschieht. Die primäre Funktion besteht darin, eine Erweiterung ordentlich zu deinstallieren und sämtliche Daten einer Erweiterung zu entfernen. Hat die Erweiterung eine Migration, werden bei der Deinstallation alle Migration-Schritte der Reihe nach rückwärts abgearbeitet. Dabei werden dann auch die zugehörigen Migration-Einträge in der Datenbank entfernt.

Zu den Daten einer Erweiterung gehören unter anderem die Einstellungen und ACP Module der Erweiterung, sofern diese überhaupt solche Einstellmöglichkeiten bietet. Zu diesen Daten gehören auch anfallende Arbeitsdaten, die für die Funktionsweise der Erweiterung benötigt werden. Ob es solche Arbeitsdaten gibt, hängt von der Erweiterung ab. phpBB entfernt schlussendlich die Registrierung der Erweiterung aus der Datenbank.

Durch diese Funktion wird die Erweiterung nicht vom Webserver entfernt. Die Erweiterung kann also nach einer Deinstallation sofort erneut installiert werden. Auch bei dieser Funktion können noch besondere Aktionen ausgeführt werden, die der Erweiterung-Autor zusätzlich für "Arbeitsdaten löschen" festgelegt hat.
Diese Funktion deinstalliert effektiv eine Erweiterung. Wenn eine Erweiterung nur aktualisiert werden soll, dann ist diese Funktion nicht notwendig und auch nicht dafür vorgesehen. Es sei denn, der Erweiterung-Autor gibt bei einem Update seiner Erweiterung explizite Anweisungen in dieser Richtung.
Cache

Interessant zu wissen: bei allen drei Funktionen wird auch automatisch der Forencache gelöscht. Wenn also eine Erweiterung aktiviert, deaktiviert oder deinstalliert wird, ist es weder vorher noch nachher notwendig, den Cache manuell zu löschen.

6. Validierte und nicht-validierte Erweiterungen

Bevor darauf eingegangen wird, warum es beide Arten gibt, ist es wichtig zu verstehen, was validierte Erweiterungen überhaupt sind. Auf phpBB.com gibt es die Customisation Database (kurz: CDB). In dieser Datenbank werden Erweiterungen und Styles angeboten, die erfolgreich einen Prüfprozess (Validierung) absolviert haben. Bei dieser Prüfung wird unter anderem festgestellt, ob die offiziellen Vorgaben eingehalten wurden. Im Falle der Erweiterungen wird zusätzlich Code-Qualität, Stabilität und Sicherheit überprüft. Die Prüfer (Validatoren) stellen damit quasi sicher, dass eine Erweiterung sich ordentlich verhält und stubenrein ist. Also eigentlich eine prima Sache für Endbenutzer der Erweiterungen, denn von validierten Erweiterungen und Styles profitieren alle.

Allerdings bedeutet eine solche Prüfung für einen Erweiterung-Autor einen nicht unerheblichen zusätzlichen Arbeitsaufwand. Das gilt erst Recht für die Validatoren, die hierbei eine Menge Dinge berücksichtigen müssen. Darum kann sich eine Validierung schnell in die Länge ziehen, denn in der CDB müssen permanent viele Erweiterungen und Styles geprüft werden. Ein paar Wochen oder Monate gehen da schnell ins Land, bevor eine neue Erweiterung oder ein Update einer Erweiterung offiziell freigegeben wird. Sofern die Erweiterung überhaupt freigegeben wird; die Statistiken zeigen, dass ein Großteil keine Freigabe bekommt und nicht wenige Autoren geben die Validierung dann auf.

Die Anforderungen an einen Erweiterung-Autor sind hoch und es wird ein solides Grundwissen in vielen Bereichen vorausgesetzt und die Bereitschaft, sich fehlendes Wissen anzueignen. Daneben kann auch Englisch ein Problem darstellen für einen Erweiterung-Autor, da der gesamte Prüfprozess in englischer Sprache geführt wird. Dann gibt es noch kostenpflichtige Erweiterungen, die aus verschiedenen Gründen gar nicht in der CDB angeboten werden und darum auch nicht offiziell validiert sind.

Des Weiteren gibt es bei phpBB.com und phpBB.de einen wesentlichen Unterschied was die Handhabung von veröffentlichten Erweiterungen im Forum angeht. Bei phpBB.com dürfen nur Erweiterungen im Forum bekanntgemacht werden, bei denen der Autor die Bereitschaft zeigt, dass er die Erweiterung nach erfolgreicher Entwicklung und Rückmeldungen der Benutzer auch zur Validierung einreichen wird. Ist das nicht der Fall, kann eine solche Erweiterung-Vorstellung gesperrt bzw. entfernt werden. Bei phpBB.de gibt es diese Pflicht zur Validierung nicht. Hier können Erweiterung-Autoren ihre Erweiterungen vorstellen und besprechen, ohne diese zur Validierung einreichen zu müssen. Dabei gibt es auch hier bei uns durchaus Erweiterungen, die sowohl hier vorgestellt, als auch erfolgreich bei phpBB.com validiert wurden.

Validierte Erweiterungen auf phpBB.de

Bei Erweiterungen die nicht von der CDB bezogen wurden, wird insbesondere bei unbekannten Erweiterung-Autoren zur Vorsicht geraten. Hier wäre es empfehlenswert eine neue Erweiterung zuerst in einer geeigneten lokalen Webserver-Umgebung wie zum Beispiel WampServer (siehe nachfolgende Infobox) zu testen.
WampServer

wampserver.com (offizielle Webseite)
wampserver.aviatechno.net (Installationspakete und Updates)
forum.wampserver.com (offizielles Forum)
Zuletzt geändert von LukeWCS am 14.11.2022 16:27, insgesamt 21-mal geändert.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
GVLP
Mitglied
Beiträge: 188
Registriert: 12.02.2019 21:26

Re: Erweiterungen - Infos zur artgerechten Haltung

Beitrag von GVLP »

Vielen Dank für die ausführliche Ausarbeitung. Jetzt wird mir einiges klarer. (Ich hätte die Arbeitsdaten beim Update einer Ext nicht löschen dürfen).
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Erweiterungen - Infos zur artgerechten Haltung

Beitrag von LukeWCS »

GVLP hat geschrieben: 21.04.2022 14:41 Vielen Dank für die ausführliche Ausarbeitung. Jetzt wird mir einiges klarer.
Gerne. Ich wollte das hier schon länger machen, aber machen wollen und dann wirklich machen sind immer zwei verschiedene Dinge. :D
(Ich hätte die Arbeitsdaten beim Update einer Ext nicht löschen dürfen).
Jupp, damit fing quasi der "Spass" bei dir erst richtig an. :wink: Aber du bist nicht der erste gewesen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Pfiffy
Mitglied
Beiträge: 702
Registriert: 03.09.2008 20:45
Wohnort: München
Kontaktdaten:

Re: Erweiterungen - Infos zur artgerechten Haltung

Beitrag von Pfiffy »

TOP Doku! Spitze! Und danke für deine Arbeit!

Jetzt kann man nur hoffen, dass jeder Newbie das liest!

Grüce
Pfiffy
Kein Support per PN! Ich gebe hier nur Hilfe zur Selbsthilfe. Wer ein Forum betreibt sollte sich intensiv mit allem auseinandersetzen, was dazu gehört! HTML, CSS, PHP, SQL und sogar Englisch kann man lernen!
http://www.cctreff.de
http://www.cabrio-ausfahrten.de
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Erweiterungen - Infos zur artgerechten Haltung

Beitrag von LukeWCS »

@Pfiffy

Ja, wir vergessen manchmal, dass bestimmte Dinge die für uns völlig klar sind, für neue Admins eben nicht völlig klar sind. Vor allem Erweiterung-Autoren haben natürlich ein ganz anderes Verständnis der Technik. Dazu kommt noch, dass bestimmte Dinge auch gar nicht detailliert genug beschrieben sind, um sie wirklich verstehen zu können. In den ACP Kurzanleitungen erfährt man nur wie man die 3 besagten Vorgänge richtig durchführt, aber nicht warum man das so machen soll/muss.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
hbri1314
Mitglied
Beiträge: 58
Registriert: 06.09.2022 16:21

Re: Erweiterungen - Infos zur artgerechten Haltung

Beitrag von hbri1314 »

Moin allerseits, moin Luke,

auch ich danke sehr für den Artikel! Einem Newbie wie mir (mein erstes Forum ist erst seit einer Woche online) wirst Du damit viel Ärger ersparen.

Grüße und Dank!

Henning B.
Lieben Dank für jede Unterstützung! und schöne Grüße!

Henning B.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Erweiterungen - Infos zur artgerechten Haltung

Beitrag von LukeWCS »

  • Bei 4.b ebenfalls einen Tipp hinzugefügt.
  • Punkt 4.d hinzugefügt: Alle Erweiterungen per Datenbank-Eingriff oder Support Toolkit deaktivieren.
  • Im Index bei Punkt 4 alle Unterpunkte hinzugefügt.
hbri1314 hat geschrieben: 06.09.2022 19:50 auch ich danke sehr für den Artikel!
Danke für die Rückmeldung
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Erweiterungen - Infos zur artgerechten Haltung

Beitrag von LukeWCS »

Punkt 4.d präzisiert:
  • Eine kurze Erklärung in einer separaten Box eingefügt, die den technischen Grund betrifft, warum Exts nicht per DB-Eingriff oder STK deaktiviert werden dürfen. Ausserdem zugehörige Doku Seite verlinkt.
  • Die Links der relevanten Tools zum Deaktivieren führen nicht mehr zu den zugehörigen Themen hier auf phpBB.de, sondern direkt zur ihren jeweiligen CDB-Seiten. Ausserdem die Erweiterung von david63 hinzugefügt.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Antworten

Zurück zu „Extension Support“