WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 06.12.2018 10:11:40

grindbatzn
Gast

SM2 Fehlerhandhabung

Es sollte nicht so sein, dass ein Modul ohne "Pflichtangaben" nicht mehr funktioniert. Wenn nichts oder unpassendes übergeben wird, sollten Default-Werte greifen.

Es wird da draußen viele Templates geben, bei denen der alte show_menu() Aufruf schlampig durch show_menu2(..) ersetzt wurde.
Man kann nicht allen sagen, wie sie es richtig machen sollen, sondern man sollte show_menu2 so ändern, dass es überall funktioniert.
Das ist ja auch kein Hexenwerk, sondern alte Coder-Tugend.

#2 06.12.2018 13:29:41

bernd
Developer

Re: SM2 Fehlerhandhabung

@Chio:
es funktioniert ja, auch mit falschen/unpassenden Parametern:
Wenn "Müll" übergeben wird, wird ein Default-Wert gesetzt (im Falle von $aOptions ist das SM2_TRIM) und halt eine entsprechende Meldung ins Logfile gepinselt.
Beim großteil der Seiten die diese "schlampigen" Aufrufe haben wird das nie auffallen, es sei denn das - wie im vorliegenden Fall - der Provider dem Seitenbetreiber die Logfiles zumailt und der Seitenbetreiber da auch noch reinschaut ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#3 06.12.2018 15:15:06

grindbatzn
Gast

Re: SM2 Fehlerhandhabung

bernd schrieb:

@Chio:
es funktioniert ja, auch mit falschen/unpassenden Parametern:
Wenn "Müll" übergeben wird, wird ein Default-Wert gesetzt (im Falle von $aOptions ist das SM2_TRIM) und halt eine entsprechende Meldung ins Logfile gepinselt.

Ja, wenn es funktioniert: Warum schreibt es dann was ins Logfile?

#4 06.12.2018 15:30:44

bernd
Developer

Re: SM2 Fehlerhandhabung

Vielleicht einfach um darauf hinzuweisen, daß der Aufruf nicht korrekt war und die Funktion ihn erstmal zurechtgebügelt hat ?!?

// extract the flags and set $aOptions to an array
    $flags = 0;
    if (is_int($aOptions)) {
        $flags = $aOptions;
        $aOptions = array();
    }
    elseif (isset($aOptions['flags'])) {
        $flags = $aOptions['flags'];
    }
    else {
        $flags = SM2_TRIM;
        $aOptions = array();
        @error_logs('show_menu2 error: $aOptions is invalid. No flags supplied!');
    }

... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#5 06.12.2018 15:41:21

florian
Administrator

Re: SM2 Fehlerhandhabung

Beiträge vom Ursprungsthread abgetrennt, da Grundsatzdiskussion


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#6 07.12.2018 10:22:34

grindbatzn
Gast

Re: SM2 Fehlerhandhabung

In das Error-Log schaut doch kein Mensch rein. Zumindest ist nichts darin interessant, das älter als 1 Tag ist.
Über die Jahre hinweg bläht sich das Error-Log auf bis der Webspace voll ist..

(Das gleiche Problem gibt es auch bei mod404plus, da ist es die Datenbank, die zugemüllt wird, bis man kein Backup mehr machen kann. Da muss ich mal was machen..)

Eventuell sollte das Error-Log automatisch gelöscht werden, wenn es eine bestimmte Größe erreicht. Als einzigen Eintrag darin dann Zeitpunkt und Größe beim letzten Mal automatisch löschen.

Und eben etwas zurückhaltender sein damit, was man da alles reinschreibt.

#7 07.12.2018 17:36:10

bunzi
Mitglied

Re: SM2 Fehlerhandhabung

grindbatzn schrieb:

In das Error-Log schaut doch kein Mensch rein. Zumindest ist nichts darin interessant, das älter als 1 Tag ist.

Bei mir war es ganz hilfreich, weil ältere PHP-Scripte nach Update der PHP-Version Meldungen verursachten, dass die mysql-Befehle "deprecated" waren und aktualisiert werden mussten.

Offline

#8 15.02.2020 21:27:45

florian
Administrator

Re: SM2 Fehlerhandhabung

Ich möchte diese etwas ältere Diskussion noch einmal aufgreifen.
Als Kompromiss schlage ich vor, dass in der nächsten Version von WBCE eine Konstante SM2_DEBUG eingeführt wird, so dass über einen config.php-Eintrag gesteuert werden kann, ob SM2 Fehlermeldungen ins Logfile schreiben soll oder nicht (default: false).


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

berny

#9 15.02.2020 22:33:55

boeseroeser
Gast

Re: SM2 Fehlerhandhabung

Tja, was soll man dazu sagen.

Ich habe keine Lust mehr mit selbsternannten gurus zu debattieren und hab das Hobby gewechselt.
Der klügere gibt nach.

#10 16.02.2020 04:11:55

bernd
Developer

Re: SM2 Fehlerhandhabung

@Chio:
ich weiß grade nicht was ich mit deiner Antwort anfangen soll ?!?

Das Problem ist eigentlich uralt und immer weiter durchgeschleppt. Das hat bei neueren Templates auch nix mehr mit  "schlampig übersetzten show_menu() Aufrufen" zu tun sondern wohl eher mit einer gewissen Copy&Paste-Bequemlichkeit.
Vor über einem Jahr war das ja - wie dieser Thread zeigt - schon Thema, jetzt kommt es halt wieder hoch, weil der Anwender durch den neuen ErrorLog-Viewer eher (deutlicher) damit konfrontiert wird.

Also, was tun:
1. mit "selbsternannten Gurus" nicht mehr weiterdiskutieren?
2. die "Wurzel des Übels" beseitigen und den ErrorLog-Viewer abschaffen, damit der Anwender den Fehler nicht mehr unter die Nase gerieben bekommt?
3. das Error-Loging im SM2 Module deaktivieren?
4. wie 3. aber es schaltbar machen und vielleicht an die Template-Macher appelieren ein bischen mehr Sorgfalt auf korrekte SM2-Aufrufe zu verwenden und dies ggf. mit aktivierten Error-Loging zu checken?

Egal, viel Spass weiterhin mit deinem neuen Hobby ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#11 16.02.2020 09:12:34

boeseroeser
Gast

Re: SM2 Fehlerhandhabung

Zuerst einmal muss ich @Florian meine Bewunderung ausdrücken:
Du bist ein wandelndes Archiv, es ist für mich absolut erstaunlich, was du alles abgespeichert und griffbereit hast.
Und: Du bist einer der Wenigen, die SM2 wirklich im Griff haben.


OK - worum gehts:
Im Template "Lyps" - und wahrscheinlich auch anderen aus dieser Zeit - ist der 4. Parameter "" (leer)
Das sollte bewirken, dass nichts gemacht wird, also auch nicht TRIM, weil das zusätzliche Rechenleistung braucht, die man gar nicht will.
Ich bilde mir auch ein, dass das früher nicht durch "TRIM" ersetzt wurde.

"Lyps" ist eines der meistverwendeten Templates, weil es aus einer Zeit stammt, wo WB noch richtig angesagt war. In den Listen der Websites, die eines meiner Templates verwenden, ist Lyps sicher zu gut einem Viertel präsent.

Die Seitenbetreiber haben das Template angepasst und über viele WB/WBCE-Versionen hinweg mitgenommen. Ein Template kann man auch nicht updaten, da wird ja alles überschrieben.

Diesen Seitenbetreibern wird jetzt per Error-Log mitgeteilt, dass der Autor da vor Jahren einen Fehler* gemacht hat, und deswegen bekommen sie jetzt bei JEDEM Seitenaufruf eine Zeile ins Error-Log geschrieben.
Aus pädagogischen Gründen quasi. Sehr super.

*Fehler: Ich denke nach wie vor, dass es möglich sein sollte, KEINE Optionen zu wählen und das ganze einfach resourcenschonend auszuspucken.

Liked by:

florian

#12 16.02.2020 10:34:51

boeseroeser
Gast

Re: SM2 Fehlerhandhabung

Ich muss gestehen, dass ich keine Ahnung habe, was SM2_TRIM eigentlich konkret bewirkt. Die Erklärung im Readme ist irgendwie "na eh klar - was denn sonst", sodass man sich denkt: Da muss doch mehr dahinter stecken. Ich habe deswegen das Flag wohl auch gedanklich in der Nähe von SM2_PRETTY gesehen.

Nunja:
Jetzt haben etliche WBCE-Nutzer den wunderbaren Hinweis auf meinen bösen Fehler 1000fach im Errorlog stehen, so dass man sonst gar keine Fehler mehr sieht. Der böse Chio, jetzt haben wirs ihm aber gezeigt. Naja: Dann gehe ich mal schämen. ;-)

#13 16.02.2020 11:04:56

florian
Administrator

Re: SM2 Fehlerhandhabung

Das ist ein Missverständnis, bzw. ich habe mich etwas unklar ausgedrückt.
Die Fehlermeldung "No flags etc" wird schon seit WBCE 1.1.11 von SM2 generiert und - sofern vorhanden - in ein PHP-Errorlog geschrieben. Das ist nicht erst in 1.4.x eingeführt worden. Nur hat man es bislang halt (bei WBCE) im Normalfall nicht mitbekommen, weil man als Normalnutzer eher selten ins Errorlog auf dem Server schaut.

Dass die Fehlermeldung generiert wird, ist keine böse Absicht und weder gegen Dich noch sonst irgend jemanden gerichtet. Ich glaube, in einigen von meinen Templates ist derselbe Fehler*, d.h. ich habe da dann nicht SM2_TRIM oder SM2_All, sondern nur einen der optionalen Parameter eingesetzt.

Edit: * Ja. In Buschwerk und Schoppig. Korrigierte Downloads auf https://templates.wbce.org/

Beitrag geändert von florian (16.02.2020 13:40:31)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#14 16.02.2020 20:16:37

boeseroeser
Gast

Re: SM2 Fehlerhandhabung

Yep, samm wieder freundlich zueinander ;-)

Sorry, dass ich da gestern so ruppig war, hab in SimCity 2 Städte an die Wand gefahren. Und das mir.. sad

Ich entschuldige mich für die " selbsternannten gurus", war nicht so gemeint, und schon gar nicht habe ich Bernd damit gemeint.

Liked by:

florian

#15 16.02.2020 20:46:39

bernd
Developer

Re: SM2 Fehlerhandhabung

Also gut, simmer wieder lieb miteinander wink

Zumal sich das "Übel" ja in der nächsten Version mit einem Einzeiler in der include.php von SM2 aus der Welt schaffen lässt.
Zeile 38 ersetzen durch:

$log_error = (SM2_DEBUG AND SM2_DEBUG === true) ? true : false;

... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

florian

Fußzeile des Forums

up