phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7868
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Kirk »

Gerade eine EXT von mir ohne en Language Paket getestet, EPV meldet "English language pack is missing" funktioniert perfekt. Mir ist dies auch noch nie aufgefallen weil ein en Language Paket immer vorhanden war.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2108
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Ja, so ging es Mike und mir auch. Wenn man die nötigen Ext-Strukturen schon jahrelang gewöhnt ist, dann fällt so eine Analyse-Schwäche quasi nur durch Zufall auf. Und vielleicht ging das auch dem EPV Autor so, weshalb das gefehlt hat.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1074
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Mike-on-Tour »

Er hat es aber nicht eilig, meinen PR zu übernehmen :roll:
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2108
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Ist ja erst eine Woche her, ein paar Monate/Jahre musst schon Geduld haben. *hust*

Sinnvolle Änderungen werden zeitnah in EC implementiert, damit das möglichst schnell genutzt werden kann und alle was davon haben. Sofern mit vertretbarem Aufwand möglich und sofern es nicht den offiziellen Richtlinien widerspricht.
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: 2108
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Am 14.4 gab es zwei weitere Updates bei PHPC 10, sind jetzt auch bei uns übernommen. Details nicht angeschaut. Ausserdem kleineres Update von EC selbst.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1074
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Mike-on-Tour »

Mir ist noch etwas aufgefallen als ich auf einer neuen phpBB 4.0.0-a1-dev Testumgebung meine Erweiterungen getestet habe:
Bei der Aktivierung von Hangman 0.5.0 ist phpBB mit einer Fehlermeldung abgestürzt; Fehlermeldung war über fehlendes Leerzeichen nach einem Doppelpunkt in der routing.yml, die entsprechende Stelle lautet:

Code: Alles auswählen

mot_hangman_main_controller:
    path: /hangman
    defaults: { _controller:mot.hangman.controller:display }

Korrekt müsste es (auch jetzt schon) lauten:

Code: Alles auswählen

mot_hangman_main_controller:
    path: /hangman
    defaults: { _controller: mot.hangman.controller:display }
(man beachte das Leerzeichen nach _controller))

Habe dann mal ein wenig rumexperimentiert und herausgefunden, dass es mehr als nur diese eine Stelle gibt, wo gemeckert wird (vgl. anhängende Datei).

Ich habe das dann gleich nochmal unter phpBB 3.3.7 getestet, und da wird nicht gemeckert, nur bei phpBB 4. Sollte das mal aktuell werden, müsste YAMLcheck auf das Vorhandensein von Leerzeichen an den geannten Stellen erweitert werden.
Dateianhänge
yaml-errors.txt
(1.19 KiB) 53-mal heruntergeladen
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2108
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Tach auch

Zur Info: Mike und ich hatten schon kurz per Discord geplauscht. Jetzt haben wir das hier, damit das zentral ist.
Mike-on-Tour hat geschrieben: 09.05.2022 10:48 Ich habe das dann gleich nochmal unter phpBB 3.3.7 getestet, und da wird nicht gemeckert, nur bei phpBB 4. Sollte das mal aktuell werden, müsste YAMLcheck auf das Vorhandensein von Leerzeichen an den geannten Stellen erweitert werden.
Jupp, werde ich einbauen, ist sinnvoll. Die Frage ist jetzt; ich habe mich nicht näher mit der YAML Struktur auseinandergesetzt, aber, könnte man eine generelle Abfrage einbauen bezüglich Doppelpunkt? Oder reichen die 4 genanten Tokens? In der Materie bist du besser bewandert als ich.

Was die Datei angeht: Die ersten 3 sind klar, aber bei "slug" fehlt mir noch ein Beispiel. Ich brauch den Kontext. Am besten auch von den anderen 3.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1074
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Mike-on-Tour »

Generell nach Doppelpunkten suchen und dann prüfen, ob danach ein Leerzichen kommt, geht IMHO nicht. Beispiel dazu ist folgendes defaults: Statement { _controller: mot.usermap.controller:handle }, in dem zwei Doppelpunkte vorkommen, einmal hinter _controller: und dann hinter der Bezeichnung des Controllers, auf den der Pfad sich bezieht. Der Doppelpunkt hinter dem Controller trennt die aufzurufende Funktion in diesem Controller von der Controller-Bezeichnung, da darf kein Leerzeichen nach dem Doppelpunkt stehen. Deshalb funktioniert diese eigentliche am einfachsten umzusetzende Prüfung nicht. (Die Controller-Bezeichnung ist übrigens die aus der services.yml)
Um gleich dabei zu bleiben, laut der Fehlermeldung sind da noch viele andere Bezeichner außer _controller: möglich (s. Fehlermeldung), mir ist aber nicht erinnerlich, diese schon mal irgendwo gesehen zu haben, ggf. müsste da ein Array mit diesen Bezeichnern als Prüf-Grundlage dienen.

path: definiert den Pfadnamen, mit dem dieser Routing-Eintrag z.B. von der Helper-Funktion angesprochen wird und ist einzigartig, er wird auch in der Adresszeile des Browsers ausgegeben, also z.B. mein-forum/usermap.

"Slugs" sind die Variablen, die der aufzurufenden Funktion übergeben werden. Nehmen wir folgenden Eintrag in der routing.yml:

Code: Alles auswählen

mot_tzv_event:
    path: /mot_tzv/event/{id}
    defaults: { _controller: mot.tzv.controller.mot_tzv_main:event }
Der "Slug" ist in diesem Falle die Variable $id (als "Slug" ohne $), die Funktion ist definiert mit public function event($id). Hinter der Angabe des Controllers und der dort aufzurufenden Funktion kann noch ein Default-Wert für diesen "Slug" definiert werden, z.B. _controller: mot.tzv.controller.mot_tzv_main:event, id: 0 (was ich in diesem Falle nicht getan habe).
Mit der Angabe requirements: kann dann in einer Zeile für jeden "Slug" noch ein regulärer Ausdruck definiet werden, den dieser "Slug" erfüllen muss, z.B. id: \d+ für die Prüfung auf einen Integer-Wert; hier muss ebenfalls auf ein Leerzeichen nach dem Doppelpunkt geprüft werden, für den Teil vor dem Doppelpunkt müsste ein regulärer Ausdruck verwendet werden, der die in einem Variablennamen erlaubten Zeichen enthält.

Das wenige, was ich weiß (und was phpbb.com veröffentlicht), findest du zum Nachlesen hier.

Wenn erforderlich, beteilige ich mich gerne an der Umsetzung.


Edit:
Ich habe das doch mal überprüft, und meine erste Bemerkung stimmt so nicht bzw. es meckert weder phpBB 3.3.7 noch phpBB 4.0.0-a1-dev, wenn vor der Benennung der aufzurufenden Funktion ein Leerzeichen steht.
Aber definitiv meckern beide, wenn bei requirements: hinter dem Doppelpunkt des "Slugs" und dem regulären Ausdruck kein Leerzeichen steht.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2108
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Hey Mike
Mike-on-Tour hat geschrieben: 11.05.2022 13:10 Ich habe das doch mal überprüft, und meine erste Bemerkung stimmt so nicht bzw. es meckert weder phpBB 3.3.7 noch phpBB 4.0.0-a1-dev, wenn vor der Benennung der aufzurufenden Funktion ein Leerzeichen steht.
Aber definitiv meckern beide, wenn bei requirements: hinter dem Doppelpunkt des "Slugs" und dem regulären Ausdruck kein Leerzeichen steht.
Okay, ich habe das mit den "Slugs" ehrlich gesagt noch immer nicht verstanden, was damit zusammenhängt, dass ich gerade weniger Zeit für phpBB habe, als ich gerne hätte.

Deswegen:
Wenn erforderlich, beteilige ich mich gerne an der Umsetzung.
Darauf komme ich jetzt gerne zurück. phpbb33yamlcheck ist nicht fest in EC integriert, ich habe das ganz bewusst als externes Tool konzipiert, wie auch alle anderen Analysetools bei EC ganz bewusst nicht direkt im Source eingebunden sind, sondern immer als externe Tools angesprochen werden, also per CLI Aufruf. Des Weiteren hat das Tool keinerlei Abhängigkeiten. Alles was es braucht, habe ich selbst geschrieben und direkt integriert. Das Tool ist also Standalone und wäre ohne irgendwelche Abhängigkeiten direkt bei dir lauffähig.

Ich kann dir das geben, dann kannst du zusätzliche Tests selber hinzufügen und auch sofort testen, ohne das dazu EC benötigt würde. Das Tool hat auch eine Mini Syntax Hilfe, die du mit phpbb33yamlcheck.php -h aufrufen kannst. Die ist zwar sehr einfach gehalten, weil ausser mir bisher niemand anderes damit auf CLI Ebene arbeiten musste, aber das wird dir sicher reichen. Wenn du deine Test YAML Dateien einfach in den Ordner des Tools kopierst, brauchst du nicht mal Parameter für das Tool angeben; einfach das Tool in der Shell starten, der Rest läuft automatisch ab. Das Tool arbeitet rekursiv, du kannst also auch einen oder mehrere Ordner mit YAML Dateien in den Tool Ordner kopieren. Hast also alle Freiheiten.

In der Datei phpbb33yamlcheck_func.php findest du in der Funktion check_yaml($text) alle Tests, die das Tool ausführt und kannst dort neue hinzufügen.

Wenn du damit einverstanden bist, muss ich nur noch wissen, auf welchem Weg du das Zip willst: E-Mail oder Discord.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1074
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von Mike-on-Tour »

Bitte per E-Mail, Adresse kommt per PN
Antworten

Zurück zu „Extension Bastelstube“