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
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

Übersicht
  1. Einleitung
  2. Hintergrund zur Entstehung von phpBB Ext Check
  3. Die Prüf-Tools
  4. Unterschiede zu GitHub Actions und Infos zu den Tools
  5. Hinweise zum Prüfvorgang
  • Anhang A: Danke!
  • Anhang B: Passend zum Thema
1. Einleitung

phpBB Ext Check hilft dabei, die offiziellen Vorgaben für phpBB-Erweiterungen umzusetzen und eine Mindestqualität des Codes nach phpBB-Standard zu erreichen. Außerdem um Fehler und potentielle Sicherheitslücken aufzudecken. Ext Check kann dazu genutzt werden, eine solide Grundlage für eine mögliche offizielle Validierung zu schaffen.
phpBB Ext Check ist ein privat betriebener Dienst der ebenso privat entwickelt wurde und gepflegt wird. Es handelt sich also um keinen offiziellen Dienst und phpBB.de ist weder für die Verfügbarkeit noch für die Funktionalität verantwortlich. Des Weiteren ist dieser Dienst auch keine Pflicht für Entwickler, die ihre Erweiterungen auf phpBB.de vorstellen und besprechen.
Das ist ein Sammelthema für Infos, Fragen und Rückmeldungen. phpBB Ext Check ist ein Web Dienst (Login erforderlich) bei dem einfach ein ZIP mit der zu prüfenden Erweiterung hochgeladen werden kann und der mehrere Analyse-Tools steuert und die Ergebnisse der Prüfungen in einer Übersicht darstellt. Die einzelnen Ergebnisse können dann geöffnet (heruntergeklappt) werden, um die Details der jeweiligen Prüfung einsehen zu können. Dabei handelt es sich um die Bildschirmausgaben die von den jeweiligen Tools erzeugt wurden.

Der Bericht mit der Übersicht und allen Ergebnissen kann auch lokal als HTML-Datei gespeichert werden. Das HTML des Berichts wird so generiert, dass keinerlei zusätzliche Dateien oder externe Dienste benötigt werden, wodurch der gespeicherte Bericht auch offline funktionsfähig bleibt. Nachfolgend Beispiele eines gespeicherten Berichts. Getestet wurde eine speziell präparierte Version meines "LF who was here 2" mit konstruierten Fehlern, um verschiedene Rückmeldungen der einzelnen Tools zu erreichen. Diese Demo Berichte werden automatisch neu erstellt, wenn die Composer Umgebung aktualisiert wurde.

Demo Berichte mit deutscher Oberfläche:
Nicht bestanden
Bestanden

Demo Berichte mit englischer Oberfläche:
Failed
Passed


1.1 Nutzungsbedingungen für den Ext Check Dienst
  1. Voraussetzungen: Wer Erweiterungen entwickelt und den Ext Check Dienst nutzen möchte, kann sich entweder hier im Thema melden oder mir oder Dr.Death eine PN schicken. Ext Check steht jedem Entwickler zur Verfügung der ein Benutzerkonto bei phpbb.de oder phpbb.com hat und nachweislich an einer Erweiterung arbeitet oder schon veröffentlicht hat. Als Nachweis gilt z.B. ein existierendes Thema im entsprechenden Unterforum auf phpbb.de oder phpbb.com.
  2. Was geprüft werden darf: Bei Ext Check ist generell nur reglementiert wer prüfen darf, aber nicht was. Grundsätzlich darf jeder alles prüfen lassen, also auch fremde Erweiterungen die man nicht selbst entwickelt hat. Bei dieser Regel gibt es jedoch eine Ausnahme: Fremde Erweiterungen die entweder nicht frei zugänglich (ohne Anmeldung) zum Download zur Verfügung stehen und/oder kostenpflichtig und/oder registrierungspflichtig sind, dürfen nicht geprüft (hochgeladen) werden, da dies unter Umständen gegen geltendes Lizenzrecht verstossen würde.
1.2 Ansprechpartner bezüglich Logins und technischen Dingen
1.3 Browser

Ext Check generiert auf allen Seiten W3C-konformes HTML, sollte also mit den meisten Browsern problemlos funktionieren. Bitte auch beachten, dass für den Ext Check Dienst Javascript aktiviert sein muss, was aber in einem phpBB Umfeld ohnehin vorausgesetzt wird.
  1. Getestete Browser
    • Opera
    • Vivaldi
    • Firefox
    • Edge
    • Safari
  2. Inkompatible Browser
    • Internet Explorer
2. Hintergrund zur Entstehung von phpBB Ext Check

phpBB Ext Check ist aus dem Wunsch heraus entstanden, ein einfach zu bedienendes Werkzeug zu haben, mit dem man Erweiterungen schon vor der offiziellen Validierung auf Fehler überprüfen kann. Es gibt zwar bereits mit GitHub Actions (früher wurde Travis CI verwendet) eine solche Möglichkeit, zumindest für "Extension Pre Validator" und "phpBB PHP Strict Standard Extensions", dazu ist jedoch ein GitHub Account erforderlich und Grundwissen im Umgang mit Repositorys und somit nicht für jeden ein praktikabler Weg. Des Weiteren war der Wunsch vorhanden, die PHP Kompatibilität einer Erweiterung ermitteln zu können.

Die Web Version von phpBB Ext Check basiert auf einer Windows Lösung, die ich 2019 für mich, Kirk und chris1278 entwickelt hatte. Die ursprüngliche Windows Variante wurde zugunsten der PHP Variante aufgegeben.

3. Die Prüf-Tools
  1. Extension Pre Validator (kurz: EPV) - Analysetool zur Überprüfung der Spezifikationen für Erweiterungen nach phpBB-Standard.
  2. PHP_CodeSniffer (kurz: CS) - Analysetool für PHP, JS und CSS.
    1. phpBB PHP Strict Standard Extensions (kurz: PPSSE) - Ein Regelwerk für CodeSniffer zur Überprüfung der Programmierrichtlinien nach phpBB-Standard.
    2. PHPCompatibility (kurz: PHPC) - Ein Regelwerk für CodeSniffer zur Überprüfung der Code-Kompatibilität einer bestimmten PHP Version.
    3. PHP_CodeSniffer VariableAnalysis (kurz: VA) - Ein Regelwerk für CodeSniffer zur Prüfung von Variablen in PHP Dateien.
  3. phpBB33YAMLcheck (kurz: YMLC) - Analysetool zur Überprüfung der YAML Dateien auf Kompatibilität mit phpBB 3.3.
  4. XHTMLcheck (kurz: XHTC) - Analysetool zur Überprüfung der HTML, PHP und JS Dateien auf veralteten XHTML Code.
1, 2 und 2.a sind die offiziellen Tools, mit denen auch bei GitHub Actions auf Einhaltung der phpBB Vorgaben geprüft wird. 2.b, 2.c, 3 und 4 sind zusätzliche Tools die bei Ext Check eingesetzt werden.

4. Unterschiede zu GitHub Actions und Infos zu den Tools
  1. Generelles
    1. Bei GitHub Actions gibt es keine Übersicht der einzelnen Ergebnisse. Bei Ext Check sieht man schon auf den ersten Blick, bei welcher Prüfung die Ergebnisse gesichtet werden müssen und bei welcher nicht, inklusive der Information wie viele Warnungen, Fehler usw. jeweils gefunden wurden.
    2. Bei GitHub Actions werden bei den Logs von CodeSniffer die Meldungen von allen Dateien direkt gelistet. Bei Ext Check werden bei den Logs von CodeSniffer (phpBB PHP Strict Standard Extensions, Compatibility, VariableAnalysis), YAMLcheck und XHTMLcheck alle Dateien in eigene Abschnitte eingeteilt und anfänglich ausgeblendet. Diese Abschnitte können dann einzeln geöffnet werden, was die Übersichtlichkeit verbessert und die Abarbeitung des Logs erleichtert.
    3. Bei GitHub Actions werden generell viele zusätzliche Staus-Meldungen ausgegeben, die für die eigentliche Fehlerbehebung irrelevant sind. Das hängt natürlich damit zusammen, dass GitHub Actions eine universelle Plattform für unterschiedliche Test-Systeme ist und nicht auf das phpBB Umfeld begrenzt ist. Ext Check ist dagegen auf phpBB Erweiterungen spezialisiert und so werden nur relevante Informationen diesbezüglich ausgegeben und auch die Bildschirmausgaben der Tools werden von irrelevanten Dingen bereinigt. So kann man sich ganz auf die Fehlerbehebung konzentrieren.
  2. Extension Pre Validator [EPV]
    1. Die Parameter für die Ausführung von EPV sind exakt die gleichen wie bei GitHub Actions.
  3. PHP_CodeSniffer [CS]
    1. Bei GitHub Actions werden in den Reports von CodeSniffer auch die Sniff-Codes, also die Namen der Regeln ausgegeben, durch die die jeweiligen Fehlermeldungen ausgelöst wurden. Es hat sich gezeigt, dass diese zusätzlichen Informationen gerade CodeSniffer Neulinge eher irritieren und somit kontraproduktiv bei der Problembehebung sind. Darum sind diese bei Ext Check standardmässig deaktiviert, können auf der Startseite aber fallweise aktiviert werden.
    2. Ebenso werden bei Ext Check sämtliche Hinweise bezüglich PHPCBF CAN FIX THE[...] samt zugehörigen [x] und [ ] herausgefiltert. Auch sonst werden bestimmte Ausgaben gefiltert und auf das Wesentliche reduziert.
    3. Bei PHP_CodeSniffer gilt das Konzept "silent by design", was bei Ext Check jedoch unerwünscht ist, da es hier neben präzisen Prüfungen auch auf klare Rückmeldungen ankommt. Dazu gehört zum Beispiel auch, dass selbst dann explizite Meldungen ausgegeben werden sollten, wenn es eigentlich nichts zu melden gibt. Darum gibt es bei Ext Check in den Reports von CodeSniffer zusätzliche Informationen am Anfang des Protokolls welcher Regelsatz (Ruleset) verwendet wird, welche Dateitypen (Extensions) überprüft werden, wie viele zutreffende Dateien insgesamt gefunden wurden (Files found) und wie viele Dateien davon Fehler aufweisen (Files affected). Durch diese einleitende Zusammenfassung ist sichergestellt, dass das Prüfergebnis stets unmissverständlich ist.

      Code: Alles auswählen

      Ruleset       : phpBB PHP Strict Standard Extensions
      Extensions    : php,js,css
      Files found   : 5
      Files affected: 3
    4. Wenn alle zutreffenden Dateien keine Fehler aufweisen, dann wird das mit No issues found unter dem Informationsblock gemeldet und in der Übersicht mit einem grünen Haken markiert.
    5. Wenn ein Tool keine zutreffenden Dateien gefunden hat die es untersuchen könnte, wird das unter dem Informationsblock mit No matching files found gemeldet und in der Übersicht entsprechend mit einem grauen Haken markiert.
  4. phpBB PHP Strict Standard Extensions [PPSSE] - Regelwerk für PHP_CodeSniffer
    1. Bei GitHub Actions werden von CodeSniffer nur .php Dateien überprüft. CodeSniffer ist aber auch für .js und .css geeignet und bei Ext Check werden diese beiden Dateitypen ebenfalls überprüft. Das phpBB Regelwerk ist jedoch primär für .php ausgelegt und so werden bei .js und .css lediglich elementare Fehler geprüft wie z.B. Whitespace am Zeilenende oder Leerzeichen bei Einrückungen oder Inline-Kontrollstrukturen, die bei phpBB generell nicht erlaubt sind.
    2. Bei GitHub Actions werden die Ordner <ext_root>/tests/ und <ext_root>/vendor/ ignoriert, das gleiche gilt bei Ext Check. Zusätzlich werden die Ordner thirdparty/ und 3rdparty/ an beliebiger Position in der Ordnerstruktur ignoriert.
  5. PHPCompatibility [PHPC] - Regelwerk für PHP_CodeSniffer (wird bei GitHub Actions nicht eingesetzt)
    1. Durch dieses Regelwerk kann man im Bericht in der Übersicht sofort erkennen, mit welchen PHP Versionen die geprüfte Erweiterung kompatibel ist. Somit kann man gezielt Inkompatibilitäten beheben, sofern notwendig. Wenn z.B. eine Erweiterung die phpBB Version 3.2 voraussetzt, wäre es irrelevant, wenn die Erweiterung mit PHP 5.3 inkompatibel ist.
    2. Ausserdem ist die Übersicht der kompatiblen PHP-Versionen sehr hilfreich wenn es darum geht, in composer.json die Minimum- bzw. Maximum-PHP-Version einzutragen. Denn wohl nur die wenigsten Erweiterung-Entwickler dürften aus dem Stand heraus wissen, mit welchen PHP-Versionen ihre Erweiterung tatsächlich kompatibel ist.
    3. Bei Ext Check werden zuerst alle unterstützten PHP Versionen einzeln geprüft, damit man in der Übersicht sofort sieht, mit welchen PHP-Versionen die Erweiterung kompatibel ist. Dabei wird die PHP-Mindestversion berücksichtigt, die in composer.json definiert wurde. Hat man also z.B. >=7.0 definiert, werden alle PHP Versionen ab 7.0 geprüft. Anschliessend wird noch der vollständige Test ausgeführt, bei der auf "Kreuz-Kompatibilität" geprüft wird. Dabei geht es speziell um Versions-übergreifende Kompatibilität verschiedener PHP Versionen. Zum Beispiel wird man darauf hingewiesen, wenn sich Parameter bei PHP Funktionen zwischen verschiedenen PHP Versionen geändert haben. Auch dabei wird die PHP-Mindestversion in composer.json berücksichtigt.
      Wer wissen möchte, mit welchen PHP Versionen die zu prüfende Erweiterung effektiv kompatibel ist, muss auf der Startseite die Checkbox "PHPCompatibility: Auto-Modus" abwählen. Das ist insbesondere bei fremden und/oder alten Erweiterungen hilfreich.
    4. Bei Ext Check wird der Ordner <ext_root>/tests/ ignoriert.
  6. PHP_CodeSniffer VariableAnalysis [VA] - Regelwerk für PHP_CodeSniffer (wird bei GitHub Actions nicht eingesetzt)
    1. Hilft bei der Suche nach unbenutzten und undefinierten Variablen, das ist auch das primäre Aufgabengebiet von VA.
    2. Prüft auch andere Dinge bezüglich Variablen wie z.B. mehrfache globale Deklarationen der gleichen Variable.
    3. Bei Ext Check werden die Ordner <ext_root>/tests/, <ext_root>/language/ und <ext_root>/vendor/ ignoriert. Zusätzlich werden die Ordner thirdparty/ und 3rdparty/ an beliebiger Position in der Ordnerstruktur ignoriert.
  7. phpBB33YAMLcheck [YMLC] (wird bei GitHub Actions nicht eingesetzt)
    1. Damit werden alle YAML Dateien einer Erweiterung auf die Vorgaben von phpBB 3.3 geprüft.
    2. Der Log Generator von YAMLcheck ahmt die Logs von CodeSniffer nach. So sehen auch bei diesem Tool die Logs so aus wie bei phpBB PHP Strict Standard Extensions, PHPCompatibility und VariableAnalysis.
  8. XHTMLcheck [XHTC] (wird bei GitHub Actions nicht eingesetzt)
    1. Damit werden alle HTML, PHP und JS Dateien einer Erweiterung auf veralteten XHTML Code geprüft.
    2. Der Log Generator von XHTMLcheck ahmt ebenfalls die Logs von CodeSniffer nach.
5. Hinweise zum Prüfvorgang
  1. Es ist nicht notwendig, dass man bei jedem einzelnen Prüf-Modul einen grünen Haken beim Ergebnis bekommt. Im Detail:
    1. Bei EPV entscheidet der jeweilige Fall. Wenn EPV z.B. nur Warnungen (gelb) meldet, die sich auf "unbekannte" Dateitypen beziehen und sonst keine Fehler meldet, kann man das ignorieren. Wenn EPV "potential SQL injection" meldet, dann kann das ebenfalls ignoriert werden, wenn die Meldungen unbegründet sind. EPV kann nicht wirklich beurteilen ob es "echte" SQL Sicherheitslücken gibt. Denn dazu müsste es a) wissen welcher Typ die betreffende Variable hat und b) müsste es analysieren, ob es irgendwo im Code User Input für diese Variable gibt. Das übersteigt die Möglichkeiten eines Analysetools wie EPV bei weitem. Wenn EPV so etwas meldet und es gibt tatsächlich keine Lücke, dann ist die EPV Warnung kein Grund für eine Ablehnung bei einer Validierung.
    2. Bei PPSSE sollten möglichst keine Fehler gemeldet werden.
    3. Bei PHPCompatibility entscheidet die phpBB Version beziehungsweise die PHP-Mindestversion. Wenn die Erweiterung z.B. phpBB 3.2 voraussetzt, wäre PHP 5.3 irrelevant, da mindestens PHP 5.4 vorhanden sein muss. Wenn die Erweiterung phpBB 3.3 voraussetzt, wären die PHP Versionen 5.3, 5.4, 5.5, 5.6 und 7.0 irrelevant, da mindestens PHP 7.1 vorhanden sein muss. Die PHP-Mindestversion in composer.json sollte also korrekt definiert sein, damit Ext Check die irrelevanten Prüfmodule deaktivieren kann.
    4. Bei VariableAnalysis entscheidet der jeweilige Fall. Meldungen bezüglich | WARNING | Unused variable $xyz. können im Zweifelsfall auch ignoriert werden. Codetechnisch haben unbenutzte Variablen keine Auswirkung, sie sind in den meisten Fällen einfach nur unnötig. Dagegen sollten Meldungen bezüglich | WARNING | Variable $xyz is undefined. auf jeden Fall untersucht werden, weil undefinierte Variablen eine potentielle Fehlerquelle darstellen.
      Das codetechnische Ermitteln von unbenutzten und nicht-deklarierten Variablen ist keine triviale Angelegenheit. Darum sind die Ergebnisse mit Vorsicht zu betrachten, also nicht blind darauf vertrauen. Die Meldungen von VA sind als Hinweise einzustufen, denen man nachgehen sollte. Des Weiteren ist VA nicht auf phpBB Erweiterungen spezialisiert (im Gegensatz zu EPV und PPSSE), sondern ein allgemeines PHP Analysetool. Auch darum sollte/darf man VA in einem phpBB Umfeld nicht zuviel Bedeutung beimessen.
      Es gibt eine Möglichkeit false-positives von VA reduzieren bzw. unterdrücken zu können. Wichtige Informationen dazu sowie ein Beispiel kann man in diesem Beitrag von oxpus finden.
    5. Bei YAMLcheck dürfen keinerlei Fehler gemeldet werden.
    6. Bei XHTMLcheck sind Funde keine echten Fehler, sondern weissen lediglich auf veralteten Code hin.
  2. Wer bei der Ausführung von Ext Check einen Ausnahmefehler bekommt, sollte mir das bitte hier im Thema oder per PN melden.

    Hintergrund: Ext Check hatte in der Anfangszeit Probleme beim Prüfen von extrem grossen Erweiterungen. Der Flaschenhals war hier CodeSniffer, welches bei sehr grossen Dateien und/oder sehr vielen Dateien mehr Speicher (RAM) benötigte, als der PHP Standard vorsieht. Darum mussten die Parameter für CodeSniffer angepasst werden. Das zweite Problem war Ext Check selbst, welches anfänglich Probleme mit extrem grossen Logs hatte. Die Probleme wurden bei Bekanntwerden nach und nach behoben. Trotzdem gibt es bei Ext Check seitdem einen Mechanismus, der bei solchen Problemen automatisch das hochgeladene Archiv sichert, damit dieses untersucht werden kann. Da ich aber nicht täglich in die Logs schaue, ist es sinnvoll mich über Ausnahmefehler zeitnah zu informieren.
Anhang A: Danke!

Danke an Kirk sowie chris1278 die durch Verwendung von Ext Check und Rückmeldungen zum heutigen Stand von Ext Check beigetragen haben. Auch Danke an Dr.Death für die Rückmeldungen und Infos bezüglich dem Mac-Upload-Problem und anderen Dingen bei Safari. Außerdem Danke an Crizzo, gn#36, oxpus und Mike-on-Tour.

Besonderer Dank an:

phpBB - Extension Pre Validator
phpBB - phpBB PHP Strict Standard Extensions
PHPCSStandards - PHP_CodeSniffer
PHPCompatibility - PHPCompatibility
Payton Swick - PHP_CodeSniffer VariableAnalysis
SensioLabs - ANSI to HTML5 Converter
Emanuil Rusev - Parsedown
Lehrling - Favicon für Ext Check

Anhang B: Passend zum Thema

phpBB Extensions Docs - Die offizielle Dokumentation zu Erweiterungen (Englisch).
phpBB Coding Guidelines - Die offiziellen Programmierrichtlinien (Englisch).
Knowledge Base - Editor-übergreifende Format-Vorgaben mit EditorConfig - phpBB Datei-Vorgaben definieren, um bestimmte Fehler zu vermeiden.
Zuletzt geändert von LukeWCS am 18.04.2022 11:22, insgesamt 267-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)
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7859
Registriert: 24.05.2010 08:31
Kontaktdaten:

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

Beitrag von Kirk »

Da ich schon des längeren das Vergnügen habe diesen Ext Check zu testen, muss ich sagen das dies sehr nützlich ist. Dadurch konnte ich meine Extension Codetechnisch verfeinern.
Eine tolle Arbeit 👍
Benutzeravatar
chris1278
Mitglied
Beiträge: 3526
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

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

Beitrag von chris1278 »

Dem kann ich mich nur anschliessen.
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

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

Beitrag von HJW »

Naja, ich kenne die erst seit heute, aber hatte eigentlich an meinem freien Tag etwas anderes vor :lol:

Es gab und gibt da schon eine lange Liste, die ich noch abarbeiten muss. Was mir aufgefallen ist, dass ich html-Dateien mit Windows Zeilenende hatte, die wurden mir aber nicht angezeigt.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

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

Beitrag von LukeWCS »

@HJW

Na dann zurück zu deinem freien Tag. :lol: EC läuft dir nicht davon.

Wegen HTML: jupp, gut möglich. Ich kann mit Sicherheit sagen, das HTML weder von CS, noch von PHPCompatibility oder YAMLcheck berücksichtigt werden, weil das ja auch nicht in deren Aufgabengebiet liegt. Bliebe also nur EPV und das müsste ich erst prüfen, ob EPV überhaupt etwas mit HTML zu tun hat, weiss ich gerade aus dem Stand heraus nicht.

Was das Zeilenende angeht, gäbe es aber einen ganz anderen Weg um dieses Problem gar nicht erst aufkommen zu lassen. Das wäre auch z.B. für Tastenplayer interessant. Ich werde dazu noch ein HowTo hier in der Bastelstube erstellen was dazu benötigt wird und wie man es einrichtet. Wenn du z.B. NP++ benutzt, müsstest du dich gar nicht mehr darum kümmern, das würde NP++ dann automatisch für dich erledigen. Sogar am Ende einer Datei ein abschliessendes LF einbauen geht automatisch, wenn man das vergessen haben sollte.
Zuletzt geändert von LukeWCS am 21.01.2020 17:50, insgesamt 1-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)
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

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

Beitrag von HJW »

Eigentlich habe ich das auch so eingerichtet, dass neue Dateien mit dem Unix-Ende geöffnet werden.
Aber wahrscheinlich eine alte Datei als Vorlage genommen.
Bei php wird es aber geprüft.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

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

Beitrag von LukeWCS »

HJW hat geschrieben: 21.01.2020 17:46 Bei php wird es aber geprüft.
Ja, definitiv, denn PHP ist natürlich im Mittelpunkt von EPV, CS und PHPCompatbility.

Ich habe mir jetzt mal den Source von EPV hinsichtlich HTML angeschaut: bei EPV wurde HTML zumindest als Dateityp deklariert. Es sieht mir aber im Moment nicht danach aus, das irgendwas bezüglich HTML geprüft wird. Das passt ja auch zu deiner Beobachtung, das ein falsches Zeilenende nicht bemerkt wird. Denn wenn schon so etwas elementares nicht geprüft wird, dürfte HTML auch sonst keine (grosse) Rolle spielen. Auf der anderen Seite: wenn im HTML irgendwelche Fehler sind, dann wird maximal etwas gar nicht oder falsch angezeigt. Wenn aber im PHP Fehler vorhanden sind, dann kann das eventuell üble Auswirkungen haben. :wink:

Bei Travis CI wird ja auch beim CodeSniffer mit den offiziellen Regeln von phpBB weder JS noch CSS überprüft. Bei meinem EC dagegen schon, zumindest was die offiziellen Programmierrichtlinien von phpBB angeht. Das heisst EC ist hier noch etwas pingeliger.
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: phpBB Ext Check - Diskussion bezüglich Prozedur und Reports

Beitrag von LukeWCS »

@HJW (gilt aber auch für uns alle die EC nutzen)

Ich habe heute in NP++ 2 Funktionen entdeckt, mit dem man zwei der häufig gemeldeten Fehlermeldungen von CS auf einen Schlag (pro Datei) beheben kann.

1. Bei deinem Calendar (als Beispiel) wird in EPV sehr viel von diesem hier gemeldet (Beispiel):

Code: Alles auswählen

452 | ERROR | Whitespace found at end of line
2. Ausserdem auch einige von diesen:

Code: Alles auswählen

   7 | ERROR | Tabs must be used to indent lines; spaces are not allowed
Beheben mit NP++:

Fehler 1: Bearbeiten > Nicht druckbare Zeichen > Leerzeichen und Tabulatoren am Zeilenende löschen.
Fehler 2: Bearbeiten > Nicht druckbare Zeichen > Leerzeichen in Tabulatoren umwandeln (nur am Zeilenanfang)

Das spart eine ganze Menge nervige Fleissarbeit. Gerade Fehler 1 ist völlig "normal". Es reicht ja schon, wenn man bei einer eingerückten Ebene eine Leerzeile mit Enter einfügt, dann hat man ja bereits Fehler 1 erzeugt.

Und ich habe mich ausserdem gestern mit .editorconfig weiter auseinandergesetzt: man kann NP++ dazu bringen, Fehler 1 gar nicht erst zu produzieren. ^^ Ich muss dringend das HowTo dafür erstellen, weil das vieles erleichtert und einige Fehler so gar nicht erst entstehen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

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

Beitrag von HJW »

Danke für die Info, da wird so einiges angezeigt. Wenn ich diesen Kleinkram so entfernen kann, geht es wesentlich schneller. Funktioniert hervorragend.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2091
Registriert: 15.12.2014 10:19
Kontaktdaten:

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

Beitrag von LukeWCS »

HJW hat geschrieben: 22.01.2020 19:15 Wenn ich diesen Kleinkram so entfernen kann, geht es wesentlich schneller.
Ich habe das angesprochene HowTo erstellt. Wenn man mit EditorConfig arbeitet, muss man sich um den besagten Fehler 1 schon mal nicht mehr kümmern, weil er gar nicht erst entsteht. Auch ein abschliessendes LF am Dateiende wird dann automatisch gesetzt, falls vergessen.

edit: hab eben mal zum testen Calendar 0.9.5 alleine über EditorConfig bearbeitet. Das heisst alle von CS gemeldeten Dateien einfach in NP++ geöffnet und gleich wieder abgespeichert. Dann habe ich erneut EC laufen lassen. Die 390 Fehler bei CS wurden alleine durch diese Aktion auf 142 reduziert.
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 Bastelstube“