Seite 24 von 31

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

Verfasst: 15.04.2022 19:11
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.

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

Verfasst: 15.04.2022 20:25
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.

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

Verfasst: 16.04.2022 08:26
von Mike-on-Tour
Er hat es aber nicht eilig, meinen PR zu übernehmen :roll:

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

Verfasst: 19.04.2022 13:21
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.

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

Verfasst: 25.04.2022 17:07
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.

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

Verfasst: 09.05.2022 10:48
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.

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

Verfasst: 10.05.2022 15:26
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.

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

Verfasst: 11.05.2022 13:10
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.

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

Verfasst: 12.05.2022 11:57
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.

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

Verfasst: 12.05.2022 19:28
von Mike-on-Tour
Bitte per E-Mail, Adresse kommt per PN