[3.3] [3.2] Extension Manager Plus

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
LukeWCS
Junior Supporter
Beiträge: 1006
Registriert: 15.12.2014 10:19
Kontaktdaten:

[3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

Name der Erweiterung:

Extension Manager Plus (EMP)

Autor:

LukeWCS (EMP)
chris1278 (ExtOnOff)

Aktuelle Version der Erweiterung:

1.0.3

Voraussetzungen:
  • phpBB 3.2.11 bis einschliesslich 3.3
  • PHP 7.0 bis einschliesslich 8.1
Beschreibung der Erweiterung:

Ergänzt die Erweiterungs-Verwaltung um die Möglichkeit, alle installierten Erweiterungen auf einmal deaktivieren und reaktivieren zu können. Eine individuelle Auswahl kann über Checkboxen erfolgen. Außerdem können Reihenfolge-Gruppen definiert oder Erweiterungen ignoriert werden. In der Erweiterungs-Verwaltung werden auch zusätzliche Informationen angezeigt.

Vorgeschichte
Das theoretische Konzept für EMP entstand zu phpBB 3.1 Zeiten. Es war angedacht eine Erweiterung zu entwickeln, mit der man mittels Kontrollkästchen gleich mehrere Erweiterungen deaktivieren und aktivieren kann. Bis zum Zeitpunkt meiner Mitarbeit an ExtOnOff (von chris1278) fehlte mir jedoch das nötige Wissen. Durch die Entwicklung von ExtOnOff 2.0.0 konnte ich mir einen Teil der fehlenden Kenntnisse aneignen und mein Vorhaben umsetzen. Bedingt durch die Erfahrung mit ExtOnOff habe ich dabei mein ursprüngliches Konzept noch um die Möglichkeit erweitert, dass man bei Erweiterungen auch eine Reihenfolge für die Aktivierung definieren kann um Abhängigkeits-Probleme vermeiden zu können. Und das man umgekehrt Erweiterungen auch ignorieren kann.

Funktionen/Eigenschaften

EMP ersetzt die Standard Erweiterungs-Verwaltung. Dazu wird ein Template verwendet, welches auf dem Original von phpBB basiert, jedoch vollständig überarbeitet und erweitert wurde. Die neuen Funktionen und Eigenschaften von EMP wurden so implementiert, dass das sichtbare original Layout des Extension Managers erhalten blieb. Somit ist keine Umgewöhnung notwendig, da die bisherigen Funktionen wie gewohnt zur Verfügung stehen.
  • Alle installierten Erweiterungen können auf einmal deaktiviert/aktiviert werden.
  • Eine individuelle Auswahl mittels Kontrollkästchen ist möglich.
  • Für die Aktivierung der Erweiterungen können Reihenfolge-Gruppen definiert werden. Das ist relevant bei Erweiterungen von denen andere Erweiterungen abhängig sind.
  • Erweiterungen können auch ignoriert werden.
  • Unterteilt die deaktivierten Erweiterungen zusätzlich in installierte und nicht installierte Erweiterungen.
  • Da die Erweiterungen mit den ExtMgr Funktionen von phpBB geschaltet werden, wird auch eine vorhandene ext.php ausgeführt, in der Erweiterung-Autoren eventuell zusätzliche Aktionen bei den Funktionen "Aktivieren" und "Deaktivieren" definiert haben. Bei Tools die Erweiterungen lediglich per MySQL Code schalten, wie z.B. beim STK, ist dies nicht der Fall.
  • Für die Einstellungen von EMP wird kein zusätzliches ACP Modul verwendet, sondern die schon vorhandene, einblendbare Einstellung der Versions-Prüfung des Standard Extension Managers um zusätzliche Einstellungen erweitert. Die zusätzlichen Einstellungsgruppen haben den Zusatz "(Plus)".
  • Die Responsive Ansicht wird von EMP ebenso unterstützt wie beim original Extension Manager.
  • Zusätzliche Anzeigen:
    • Gesamtzahl der Erweiterungen.
    • Anzahl der aktivierten Erweiterungen.
    • Anzahl der deaktivierten Erweiterungen.
    • Anzahl der nicht installierten Erweiterungen.
    • Anzahl der Erweiterungen mit neuen Migrationsdateien.
    • Anzahl der neuen Migrationsdateien pro Erweiterung in einer eigenen Spalte.
  • Einstellbar:
    • Log-Eintrag bei Aktivierung/Deaktivierung.
    • Rückfrage bei Aktivierung/Deaktivierung.
    • Alle Kontrollkästchen automatisch setzen.
    • Reihenfolge/Ignorieren berücksichtigen.
    • Eigendeaktivierung erlauben.
    • Migrationen erlauben.
    • Eine zusätzliche Spalte mit 2-stelligen Textfeldern erlaubt die Eingabe einer Reihenfolge-Gruppe.
    • Eine zusätzliche Spalte mit Kontrollkästchen erlaubt das Setzen eines Ignorieren-Merkmals.
Beschränkungen/Grenzen von EMP
  1. Erweiterungen bei denen im Zuge von Updates neue Migrationsdateien vorliegen, können mit EMP per Standard nicht aktiviert werden. Der Grund dafür ist, dass bereits während der Entwicklung von ExtOnOff 2.0.0 Probleme in diesem Bereich festgestellt wurden: Bei einem von uns konnte eine Erweiterung mit neuen Migrationsdateien nicht beim ersten Durchlauf aktiviert werden, dies gelang erst beim zweiten Durchlauf. Grundsätzlich ist zu sagen, dass die Ausführung neuer Migrationen bei einer Erweiterung immer ein heikler Prozess ist, bei dem auch mal was nicht klappen kann. Wer Erweiterungen mit neuen Migrationsdateien mittels EMP aktivieren will, muss die entsprechende Option explizit einschalten und sich der potentiellen Problematik bewusst sein.
  2. Manche Erweiterungen können unter Umständen Probleme verursachen, wenn sie mittels EMP aktiviert werden. Nach meiner Beobachtung kann das primär bei Erweiterungen vorkommen, die nicht in der CDB angeboten werden und somit den Autoren die Erfahrung mit Validierungen fehlt. Solche Erweiterungen sind meistens nicht nach den Richtlinien gestaltet worden und/oder es wurden Techniken verwendet, die nicht mehr zeitgemäß sind, zum Beispiel Techniken aus der Mod-Ära. Ein weiterer Grund ist die Tatsache, dass es bisher keine Möglichkeit gab, mehrere Erweiterungen gleichzeitig mittels Erweiterungs-Verwaltung schalten zu können, weshalb das von Erweiterung-Autoren auch nie berücksichtigt werden musste. Sollten Probleme bei der Aktivierung festgestellt werden die über ein simples Reihenfolge-Problem hinausgehen, können solche Erweiterungen mittels Ignorieren-Funktion ausgeschlossen werden.
Erklärungen
Die meisten Funktionen sind selbsterklärend, hier gehe ich auf Funktionen ein, die weniger intuitiv sind.
  1. Reihenfolge (0-99): Diese Funktion ist dann hilfreich, wenn Erweiterungen mit Abhängigkeiten zu anderen Erweiterungen gemeinsam mit diesen aktiviert werden sollen. In solchen Fällen sollten diejenigen Erweiterungen, von denen andere abhängig sind, zuerst aktiviert werden. Erweiterungen bei denen eine Reihenfolge-Gruppe definiert wurde, werden immer vor denjenigen Erweiterungen aktiviert, bei denen das Textfeld leer ist. Dabei werden zuerst Erweiterungen mit der Gruppe 0 aktiviert, dann Gruppe 1 und so weiter. Danach werden alle übrigen Erweiterungen aktiviert, bei denen keine Gruppe definiert wurde. Wenn zum Beispiel die Erweiterungen A und B von C abhängig wären, dann genügt es bei C eine "0" zu definieren. Es ist dann nicht nötig, bei A und B eine "1" zu setzen, deren Felder können leer bleiben.
  2. Ignorieren: Wird bei einer Erweiterung das Ignorieren-Merkmal gesetzt, dann wird das zugehörige Kontrollkästchen in der Spalte "Auswählen" in der Erweiterungen-Liste deaktiviert. Diese Erweiterung kann dann nicht mehr ausgewählt werden und somit auch nicht mehr mit EMP geschaltet werden. Eine vorhandene Reihenfolge-Gruppe bleibt dabei erhalten, diese hat jedoch keine Bedeutung mehr. Eine manuelle Schaltung ist weiterhin möglich.
Bilder:

Der folgende Screenshot zeigt alle sichtbaren Änderungen/Neuerungen:

[ externes Bild ]

Enthaltene Sprachen:
  • de
  • de_x_sie
  • en
Download der Erweiterung:

GitHub - Extension Manager Plus (mit Changelog)
Hinweis: Versionen aus dem genannten GitHub Release-Bereich sind für das Live-Forum gedacht. Dagegen dürfen Versionen aus dem Entwickler-Bereich nicht in einem Live-Forum installiert werden! Im Entwickler-Bereich können sich laufend Dateien und Strukturen ändern, das liegt in der Natur der Sache. Wer Versionen aus dem Entwickler-Bereich vorab testen will, kann (und sollte) diese in einem Test-Forum installieren.
Danke:

Ich bedanke mich für die Beteiligung am geschlossenen Betatest für Rückmeldungen, konstruktive Kritik und Verbesserungsvorschläge:

Kirk
Scanialady
Mike-on-Tour
chris1278
Zuletzt geändert von LukeWCS am 25.06.2022 11:20, insgesamt 5-mal geändert.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung (Einsteiger Doku)
phpBB Ext Check (Entwickler Werkzeug) - Analysesystem für phpBB Erweiterungen
Benutzeravatar
BNa
Valued Contributor
Beiträge: 2990
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von BNa »

Danke an euch Beide. Absolut der Hammer. Tolle Arbeit :grin:
Benutzeravatar
chris1278
Mitglied
Beiträge: 2950
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von chris1278 »

Wobei von mir nur die Basis Funktion kam. Den Rest hat Luke geschrieben.
Benutzeravatar
LukeWCS
Junior Supporter
Beiträge: 1006
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

@BNa

Merci! :)

Schon bei ExtOnOff 2.0.0 habe ich gemerkt, warum die Ext Coder bisher die Finger davon gelassen haben, Exts per ExtMgr Funktionen auch wieder zu aktivieren. Das ist alles andere als trivial. Deaktivieren ist kein Problem, dass konnten vor EMP und ExtOnOff schon 2 andere Exts, von denen ich weiss. Aber "spassig" wird das Ganze erst, wenn man auch wieder einschalten will. :wink:

Primäre Spassbremsen:
  1. Exts mit Abhängigkeiten zu anderen Exts.
  2. Exts mit eigener Fehlerbehandlung beim Aktivieren.
  3. Exts mit defekter Migration.
Mit 1 und 2 kann EMP bereits umgehen. Die Lösung für 3 ist in Arbeit.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung (Einsteiger Doku)
phpBB Ext Check (Entwickler Werkzeug) - Analysesystem für phpBB Erweiterungen
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5376
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von oxpus »

LukeWCS hat geschrieben: 09.06.2022 18:45
  1. ...
  2. ...
  3. Exts mit defekter Migration.
Mit 1 und 2 kann EMP bereits umgehen. Die Lösung für 3 ist in Arbeit.
Bei Punkt 3 bin ich schon sehr gespannt.
Ist aber jedenfalls jetzt schon ein echtes Highlight am Extension-Himmel.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
LukeWCS
Junior Supporter
Beiträge: 1006
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

@oxpus
Punkt 3 ist in trockenen Tüchern. Damit kann eine Ext mit defekter Migration EMP nicht mehr aus dem Konzept bringen. Sollte bei einer Ext eine defekte Migration festgestellt werden, dann macht EMP brav mit den anderen Exts weiter und gibt zum Schluss eine Meldung aus, in der gesammelt alle Exts aufgeführt werden die nicht geschaltet werden konnten mit Angabe der jeweiligen original phpBB Fehlermeldung dazu.
Möge das Backup mit dir sein. Immer.

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

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

EMP 1.0.1 veröffentlicht.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung (Einsteiger Doku)
phpBB Ext Check (Entwickler Werkzeug) - Analysesystem für phpBB Erweiterungen
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5376
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von oxpus »

Getestet und keine Fehler gefunden.

Die Extension ist clever aufgebaut und integriert sich nahtlos ins ACP.
Kompliment.

Auch die Methode, fehlerhafte Migrationen abzufangen, hätte ich auf diese Weise nicht wirklich gefunden.
Ich muss echt weiter ins phpBB eintauchen.
Da warten wohl noch viele "Schätze" auf mich. :o
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
LukeWCS
Junior Supporter
Beiträge: 1006
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

@oxpus

Danke für die Rückmeldung.

Diese Form der Integration schwebte mir auch von Anfang an vor. Wobei das unter der Haube tatsächlich ein kompletter Ersatz der Seite ist. phpBB liefert quasi nur noch die Ext Arrays, den Rest macht EMP. Ich hätte die Seite also auch radikal umbauen können, ich wollte jedoch das grundsätzliche Layout beibehalten. An diese Oberfläche ist man immerhin seit rund 8 Jahren gewöhnt.

Wegen Migration, das hat mich allerdings Kopfschmerzen gekostet, weil ich zuvor mit viel Ausdauer immer an den falschen Stellen im phpBB Source nach einer Lösung gesucht hatte. :lol: Das ist wie vieles bei EMP alleine mit der API Doku nicht lösbar gewesen. Wenn es ans Eingemachte geht, ist eine Schnitzeljagd im phpBB Source zwingend erforderlich.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung (Einsteiger Doku)
phpBB Ext Check (Entwickler Werkzeug) - Analysesystem für phpBB Erweiterungen
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5376
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von oxpus »

LukeWCS hat geschrieben: 12.06.2022 20:56[...]Wenn es ans Eingemachte geht, ist eine Schnitzeljagd im phpBB Source zwingend erforderlich.
Oh ja, das kenne ich nur zu gut. :roll:
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Antworten

Zurück zu „Extensions in Entwicklung“