Seite 35 von 40

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 04.10.2021 22:50
von Crizzo
Der Link zum Repository im Startbeitrag stimmt nicht.

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 05.10.2021 08:15
von oxpus
Danke für den Hinweis.
Die Links sind jetzt korrigiert.

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 08.10.2021 14:29
von LukeWCS
Hey oxpus

Wir hatten uns doch mal in einem anderen Thema über die Problematik zuvieler Migrationsdateien unterhalten. Ich jage z.Z. einen Bug der nur bei der Deinstallation von LFWWH 2.1.1 auftritt. Inzwischen habe ich den Fehler isoliert, aber warum er überhaupt auftritt, ist mir völlig schleierhaft.

Aber das nur am Rande. Um den Bug zu finden, habe ich in den Migrationsdateien etliche Debugs eingebaut um verfolgen zu können, was da passiert. Wenn man eine Ext installiert oder deinstalliert, dann sollte man doch annehmen, das jede Migrationsdatei exakt nur einmal von phpBB angefasst wird, oder? Tatsächlich aber wird jede Migrationsdatei zig mal ausgeführt. Was zum Geier treibt phpBB da? :o

Das könnte eventuell der Grund (oder ein Grund) sein, warum es bei DL Ext bei der schieren Anzahl Migrationsdateien Probleme gibt.

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 08.10.2021 17:03
von oxpus
Was ? :o :o

Wenn dem tatsächlich so ist, sollte ich mal meine Aktualisierungsstrategie in der Extension überdenken.
Denn die meisten Migrationen aktualisieren lediglich die Versionsnummer der Extension.
Das kann man auch anderweitig lösen, um die zahlreichen Migrationsschritte deutlich einzudämmen.

Ich fange da gleich mal mit an...

Und ja, du hast Recht:
An dieser Stelle passiert im phpBB doch wohl einfach Blödsinn.
Warum werden denn die Migrationen noch mal in die Datenbank geschrieben, wenn dennoch alle Migrationen immer wieder geöffnet, bzw. ausgeführt werden?
Da hat doch jemand nicht zu Ende gedacht oder habe ich da etwas übersehen?!?

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 08.10.2021 17:57
von Dr.Death
Das erneute Ausführen von Migrationsschritten sollte eigentlich durch public function effectively_installed() unterbunden werden.

Bei jedem Aktivieren werden alle Migrationsschritte erneut durchlaufen und alle die ein "effectly installed" haben übersprungen.

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 08.10.2021 18:13
von LukeWCS
oxpus hat geschrieben: 08.10.2021 17:03 Wenn dem tatsächlich so ist, sollte ich mal meine Aktualisierungsstrategie in der Extension überdenken.
Denn die meisten Migrationen aktualisieren lediglich die Versionsnummer der Extension.
Das kann man auch anderweitig lösen, um die zahlreichen Migrationsschritte deutlich einzudämmen.
Bei LFWWH 1 habe ich auch noch die Methode benutzt, die viele nutzen, sprich Versionsnummer per Migration erhöhen. Bei LFWWH 2 habe ich ab 2.1.0 die Methode gewählt, die Version aus der composer.json zu ziehen. Denn da steht sie ja eh schon drin. Ich fand es irrsinnig wegen der Versionsnummer jedes Mal eine neue Migration anzulegen. Migrationen lege ich nur noch an, wenn sie auch wirklich benötigt werden.
Und ja, du hast Recht:
An dieser Stelle passiert im phpBB doch wohl einfach Blödsinn.
Mir fällt auch kein Grund ein, warum phpBB das unbedingt machen müsste. Von meinem aktuellen Kenntnisstand aus, ist das ein unsinniges Verhalten. Darüber hinaus kann es je nach Code-Logik auch zu Fehlern kommen, wie es bei der Deinstallation von 2.1.1 geschehen ist. So bin ich ja überhaupt erst darauf gekommen, dass phpBB eine Migration zigfach ausführt. Würde ein Migrationsschritt wirklich nur einmal ausgeführt werden, hätte ich bei der Lösung des Problems gar nicht erst "drumherum" programmieren müssen. Sprich, ich muss jetzt gezielt damit rechnen und berücksichtigen, dass mein Code mehrfach ausgeführt wird.
Warum werden denn die Migrationen noch mal in die Datenbank geschrieben, wenn dennoch alle Migrationen immer wieder geöffnet, bzw. ausgeführt werden?
Da hat doch jemand nicht zu Ende gedacht oder habe ich da etwas übersehen?!?
Um das zu präzisieren: ich hatte ja mal ausgesagt, dass phpBB einen Migrationsschritt nicht mehr anfasst, wenn dieser als "erledigt" in die DB eingetragen wurde. Diese Aussage hat noch Gültigkeit. Aber bis ein Schritt als erledigt eingestuft wird, wird eine Migrationsdatei zigfach ausgeführt. Genauer gesagt wird update_data() mehrfach ausgeführt und das ist ja gerade die Funktion die sowohl bei der Installation als auch Deinstallation relevant ist.
Dr.Death hat geschrieben: 08.10.2021 17:57 Das erneute Ausführen von Migrationsschritten sollte eigentlich durch public function effectively_installed() unterbunden werden.

Bei jedem Aktivieren werden alle Migrationsschritte erneut durchlaufen und alle die ein "effectly installed" haben übersprungen.
Die besagte Problematik hat damit nichts zu tun. Es spielt keine Rolle ob effectively_installed() definiert wurde oder nicht.

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 08.10.2021 18:44
von oxpus
Ich habe jetzt die Migrationen mal reduziert und siehe da: Die Installation klappt auch viel flüssiger.

Und genauso verwende ich zum Update der Versionsnummer in der Datenbank ein Event, um dieses aus der composer.json auszulesen.
Damit erspart man sich mühsames deaktivieren und aktivieren der Extension, wenn lediglich ein paar Dateien aktualisiert wurden.

Danke für den Tipp.
Wenn das so weiter geht, bekomme ich das gepackte Paket noch unter 100 KB :-D

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 16.01.2022 17:25
von Talk19zehn
Hi, wenn ich via ACP die Extensionen auf neue Versionen prüfe, passiert bei der DL-EXT (mein Stand 8.2.5) einfach nix. Weder Grün noch Rot ..., kein Hinweis auf eine neue Version in den Details ..., nun hinke ich wohl hinterher ... :D
Mein Besuch bei dir zeigt jedoch bereits #8.2.8 :-?
https://phpbb3.oxpus.net/dlext/index?cat=11

LG

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 16.01.2022 21:08
von oxpus
Geht jetzt wieder.

Re: [3.3] [3.2] [3.1] Download Extension

Verfasst: 17.01.2022 02:50
von Ecmur
Funktioniert diese Erweiterung auch unter phpbb3.3.5 und php 8.x.x ???