[NEUES PLUGIN] Keymaster_XH

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by lck » Fri Jan 25, 2019 9:03 pm

frase wrote:
Fri Jan 25, 2019 4:05 pm
... - und die Kunden fragen "Warum blinkt das da immer?"
Wenn der Debug-Modus unbedingt beim Kunden aktiv sein muss, könnte man auch dies im Wiki in Betracht ziehen.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by cmb » Fri Jan 25, 2019 9:23 pm

frase wrote:
Fri Jan 25, 2019 5:06 pm
Da die Zeilennummern nicht übereinstimmen, muss man halt erst die richtige Stelle finden.
Die Zeilennummern sollten eigentlich stimmen (-55,7 bedeutet in der Ausgangsversion werden 7 Zeilen ab Zeile 55 gelistet), aber die sind auch für das patch nicht unbedingt ausschlaggebend. Das einfachste ist eine Suche nach einer der zu löschenden Zeilen (oder einer anderen markanten, die im Patch aufgeführt wird). Oder man verwendet halt `git patch` oder das klassische `patch`.
lck wrote:
Fri Jan 25, 2019 9:03 pm
frase wrote:
Fri Jan 25, 2019 4:05 pm
... - und die Kunden fragen "Warum blinkt das da immer?"
Wenn der Debug-Modus unbedingt beim Kunden aktiv sein muss, könnte man auch dies im Wiki in Betracht ziehen.
In einer Produktivumgebung sollte der Debug-Modus normalerweise deaktiviert sein (schon allein deshalb, damit durch einen Bug niemals einem Besucher etwas angezeigt wird; ich kann mich an einen entsprechenden Bug in CMSimple_XH erinnern, und auch an einen in OPcache). Siehe dazu auch https://github.com/cmsimple-xh/cmsimple ... -455771345, was wohl die beste Variante für Produktivumgebungen wäre.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by frase » Sat Jan 26, 2019 8:20 am

lck wrote:
Fri Jan 25, 2019 9:03 pm
Wenn der Debug-Modus unbedingt beim Kunden aktiv sein muss, könnte man auch dies im Wiki in Betracht ziehen.
cmb wrote:
Fri Jan 25, 2019 9:23 pm
In einer Produktivumgebung sollte der Debug-Modus normalerweise deaktiviert sein
Ich muss gestehen, dass ich mir noch nie tiefergehende Gedanken über den Debug-Modus gemacht habe.
Meine Praxis ist: Debugmodus an, Level 6. (mit meinem Adminmenü-Plugin)
Bei meinen Projekten ist es oft so, dass ich nur die Grundinstallation mache inkl. Layout und erstem Inhalt.
Dann fangen die Kunden an, in dem Ding herumzufuhrwerken. (übrigens ein Grund dafür, dass ich keine Referenzliste habe)
Nur, wenn etwas schief geht, rufen sie an. Dann kann ich immer gleich fragen, was der Debugmodus meldet.
Zitat von hier:
wiki wrote:Sobald diese Datei existiert, wird im Admin-Modus eine Nachricht angezeigt, dass der Debug-Modus aktiviert ist, und Fehlermeldungen werden in der (X)HTML-Ausgabe direkt darunter angezeigt. Die Debug-Ausgabe wird nur im Admin-Modus angezeigt 1) ...
Gibt es einen schwerwiegenden Fehler, dann gibt es auch die Anzeige für Besucher. Das lässt sich sowieso nicht ganz verhindern.

Hier im speziellen Fall ist ja alles mit dem Quickfix erledigt. Ich kann wieder beruhigt schlafen ;-)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by cmb » Sat Jan 26, 2019 10:22 am

frase wrote:
Sat Jan 26, 2019 8:20 am
Ich muss gestehen, dass ich mir noch nie tiefergehende Gedanken über den Debug-Modus gemacht habe.
Meine Praxis ist: Debugmodus an, Level 6. (mit meinem Adminmenü-Plugin)
Bei meinen Projekten ist es oft so, dass ich nur die Grundinstallation mache inkl. Layout und erstem Inhalt.
Dann fangen die Kunden an, in dem Ding herumzufuhrwerken. (übrigens ein Grund dafür, dass ich keine Referenzliste habe)
Nur, wenn etwas schief geht, rufen sie an. Dann kann ich immer gleich fragen, was der Debugmodus meldet.
Verständlich, da so manche Debug-Meldung sehr hilfreich sein kann.
frase wrote:
Sat Jan 26, 2019 8:20 am
Zitat von hier:
wiki wrote:Sobald diese Datei existiert, wird im Admin-Modus eine Nachricht angezeigt, dass der Debug-Modus aktiviert ist, und Fehlermeldungen werden in der (X)HTML-Ausgabe direkt darunter angezeigt. Die Debug-Ausgabe wird nur im Admin-Modus angezeigt 1) ...
Gibt es einen schwerwiegenden Fehler, dann gibt es auch die Anzeige für Besucher. Das lässt sich sowieso nicht ganz verhindern.
Na ja, ohne Debug-Modus sollte nur angezeigt werden: „Ein fataler Fehler ist aufgetreten. Aktivieren Sie den Debug-Modus für weitere Hinweise.“ Das ist auch kein Problem, weil eben keinerlei sensible Details preisgegeben werden. Ist der Debug-Modus aktiviert, dann kann es ein echtes Problem sein (TL;DR: das Datenbankpasswort war für Besucher sichtbar). Und auch bei nicht fatalen Fehlern ist nicht absolut auszuschließen, dass diese nicht nur im Adminmodus angezeigt werden, und auch solche Meldungen können sensible Informationen preisgeben.

Daher sollte der Debugmodus immer nur während der Entwicklung, und notfalls kurzfristig zum Troubleshooting in Produktivumgebungen aktiviert werden. In letzterem Fall sieht zur Zeit der optimale Workflow so aus: Debugmodus aktivieren, Seite aufrufen, Debugmodus deaktiveren; dann kann man sich die Fehlermeldungen in Ruhe anschauen, und ggf. notieren und eine Supportanfrage stellen (wird diese öffentlich, beispielsweise hier im Forum, gestellt, dann sollte man noch die Pfadangaben unkenntlich machen; es geht niemanden etwas an, in welchem Verzeichnis auf dem Server CMSimple_XH installiert ist). Das ist für die Praxis natürlich ziemlich aufwendig; daher mein Vorschlag, dass wir Fehler auch bei deaktiviertem Debugmodus in einer nicht öffentlich einsehbaren Datei protokollieren (wird bei echten fatalen PHP-Fehlern wohl nicht möglich sein, aber die werden immer mehr durch Exceptions ersetzt); dann wäre es in Produktivumgebungen i.d.R. gar nicht mehr nötig, den Debugmodus zu aktivieren.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by frase » Sat Jan 26, 2019 10:56 am

cmb wrote:
Sat Jan 26, 2019 10:22 am
Daher sollte der Debugmodus immer nur während der Entwicklung, und notfalls kurzfristig zum Troubleshooting in Produktivumgebungen aktiviert werden. ...
Wie immer gut erklärt, sodass sogar ich es verstehe.
Die logische Schlussfolgerung daraus:
(ich glaube, das wurde hier auch schon zweitausenddreihundertvierundfünfzigmal diskutiert)
Debug-Modus per Klick ein- und ausschalten.
Erkläre mal einem Kunden auf die Schnelle, wie er den Debug-Modus einschaltet - und wieder aus.
Das könnte u.U. ein Zeit- und Kostenfaktor werden (Support).
Ich sehe das alles weniger vom Programmiertechnischen her - sondern aus der Praxis.

Gegenargument:
Es ist kein wirklicher Beinbruch. Muss also nicht heute oder morgen gelöst werden.
Im Auge behalten sollten wir das dennoch. (Debug-per-Klick).

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by cmb » Sat Jan 26, 2019 12:43 pm

frase wrote:
Sat Jan 26, 2019 10:56 am
Debug-Modus per Klick ein- und ausschalten.
Erkläre mal einem Kunden auf die Schnelle, wie er den Debug-Modus einschaltet - und wieder aus.
Das könnte u.U. ein Zeit- und Kostenfaktor werden (Support).
Ich sehe das alles weniger vom Programmiertechnischen her - sondern aus der Praxis.
Das Problem: wenn ein fataler Fehler auftritt, oder der Webmaster sich nicht einloggen kann, dann ist nichts mit Klick. Und gerade diese beiden Fälle sind wohl vor allem diejenigen, wo man den Debugmodus gerne aktivieren würde. Als Workaround könnte man beim Kunden ein kleines Batch-Script anlegen (falls Windows):

Code: Select all

@echo off

set /p mode="Debug level (0 to disable, 6 to enable): "
set /p host="Host: "
set /p user="User: "
set /p pass="password: "
set dir=public_html/userfiles/downloads/

echo | set /p ="%mode%" > _XHdebug.txt
curl -T _XHdebug.txt ftp://%user%:%pass%@%host%/%dir%
del _XHdebug.txt

pause
curl muss installiert und im PATH sein; dir muss vermutlich angepasst werden; host und user können fix eingetragen werden (dann das /p nach set entfernen).
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by frase » Sat Jan 26, 2019 12:54 pm

cmb wrote:
Sat Jan 26, 2019 12:43 pm
Als Workaround könnte man beim Kunden ein kleines Batch-Script anlegen (falls Windows):
Christoph, du bist einfach großartig.
Eine schöne Lösung.
Aber (es gibt immer ein "Aber"):
Kannst du dir nicht vorstellen, dass es Menschen gibt, die eine solche Batch-Datei *niemals* auf ihrem Rechner wiederfinden?
Du kannst jetzt Dies und Das anführen - ich habe häufig mit solchen Leuten zu tun. Das sind keine "Dummen", sondern einfach nur Leute, die was an ihrer Homepage ändern wollen.
Bei fatalen Fehlern muss ich sowieso ran.
Häufig sind es aber nur kleine Dinge.
Debugmodus an -> Tipp per Telefon -> Debug-Modus aus.
Ein Träumchen! (nein, ich bin nicht Lichter).

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by cmb » Sat Jan 26, 2019 3:41 pm

frase wrote:
Sat Jan 26, 2019 12:54 pm
Kannst du dir nicht vorstellen, dass es Menschen gibt, die eine solche Batch-Datei *niemals* auf ihrem Rechner wiederfinden?
Du kannst jetzt Dies und Das anführen - ich habe häufig mit solchen Leuten zu tun. Das sind keine "Dummen", sondern einfach nur Leute, die was an ihrer Homepage ändern wollen.
Na, dann hoffe ich mal, dass sie ihren Rechner, ihren Browser und ihre Website finden.
frase wrote:
Sat Jan 26, 2019 12:54 pm
Bei fatalen Fehlern muss ich sowieso ran.
Häufig sind es aber nur kleine Dinge.
Debugmodus an -> Tipp per Telefon -> Debug-Modus aus.
Ein Träumchen! (nein, ich bin nicht Lichter).
Für cmsimple/userfuncs.php:

Code: Select all

<?php

if (XH_ADM && isset($_GET['debugmode'])) {
    $temp = $pth['folder']['downloads'] . '_XHdebug.txt';
    switch ($_GET['debugmode']) {
        case 'on':
            XH_writeFile($temp, '6');
            header('Location: ' . CMSIMPLE_URL . "?$su", true, 303);
            exit;
        case 'off':
            unlink($temp);
            header('Location: ' . CMSIMPLE_URL . "?$su", true, 303);
            exit;
    }
}
Dann im Adminmodus einfach &debugmode=on oder &debugmode=off an die URL anhängen – voilà. Man kann natürlich die entsprechenden URLs auch noch irgendwo als Link einbauen (z.B. in den Lesezeichen des Browsers, dem Adminmenu etc.)
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by frase » Sat Jan 26, 2019 3:53 pm

*** breites Grienen ***
cmb wrote:
Sat Jan 26, 2019 3:41 pm
Dann im Adminmodus einfach &debugmode=on oder &debugmode=off an die URL anhängen – voilà. Man kann natürlich die entsprechenden URLs auch noch irgendwo als Link einbauen (z.B. in den Lesezeichen des Browsers, dem Adminmenu etc.)
Ja, oder im Template Buttons bauen.
Auf jeden Fall funktioniert das. Great!
Warum nicht einen solchen Toggler ins Adminmenü?

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [NEUES PLUGIN] Keymaster_XH

Post by cmb » Sun Jan 27, 2019 3:59 pm

frase wrote:
Sat Jan 26, 2019 3:53 pm
Warum nicht einen solchen Toggler ins Adminmenü?
Ich habe es mal vermerkt, bin aber eher dagegen, einfach weil die derzeitige Lösung nicht gut ist (siehe meine Ausführungen weiter oben).
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply