Univention Bugzilla – Bug 25675
Tracebacks in UMC
Last modified: 2012-03-04 14:34:15 CET
Tracebacks sind für den Benutzer grundsätzlich nicht hilfreich und sollten in der Standardansicht auf die "wesentlichen" Informationen beschränkt werden. Es sollte weitehrin die Möglichkeit geben and die Erweiterten Informationen heranzukommen. Beispiel: Traceback (most recent call last): File '/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py', line 97, in execute func( request ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 111, in wrapper_func lo = udm_uldap.access( host = ucr.get( 'ldap/master' ), base = ucr.get( 'ldap/base' ), binddn = _user_dn, bindpw = _password ) File '/usr/lib/pymodules/python2.6/univention/admin/uldap.py', line 256, in __init__ raise univention.admin.uexceptions.authFail, _( 'Authentication failed' ) authFail: Authentisierung fehlgeschlagen Für den Benutzer wäre hier die letzte Zeile ausreichend. Ausserdem sollten die Tracebacks wieder an feedback@ geschickt werden können.
In einem ersten Schritt sollte dies zunächst nur auf der Client-Seite umgesetzt werden (d.h. via Parsen der Fehlermeldung). Bitte dann einen neuen Bug anlegen, damit das UMC-Protokoll für Tracebacks zu einem späteren Zeitpunkt erweitert wird (dies würde zunächst zu viel Aufwand nach sich ziehen).
Tracebacks werden nun ausklappbar und werden standardmäßig nicht angezeigt. Außerdem ist ein mailto-Link hinzugefügt worden mit einem kleinem Formular, in dem der Traceback, kurze Fragen zum Fehler sowie die umc-Version steht. Das Paket ist gebaut, Changelog gemacht.
(In reply to comment #1) > In einem ersten Schritt sollte dies zunächst nur auf der Client-Seite umgesetzt > werden (d.h. via Parsen der Fehlermeldung). Bitte dann einen neuen Bug anlegen, > damit das UMC-Protokoll für Tracebacks zu einem späteren Zeitpunkt erweitert > wird (dies würde zunächst zu viel Aufwand nach sich ziehen). Dafür habe ich Bug #25987 angelegt
*** Bug 25480 has been marked as a duplicate of this bug. ***
Mir ist gerade aufgefallen, dass in Chromium ein Traceback nicht richtig geparset wurde, da ein JSON-Objekt mit Zeilenumbrüchen in einem String nicht gültig sind, also bspw.: { "status": "591 ", "message": "Execution of command 'schoolrooms/get' has failed:x Traceback (most recent call last): File '/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py', line 97, in execute func( request ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolrooms/__init__.py', line 109, in get MODULE.info( 'schoolrooms.get: results: %s' % str( result ) ) NameError: global name 'result' is not defined " } Die Funktion umc.tools.parseError() soltle dies berücksichtigen, d.h. Zeilenumbrüche sollten durch ein anderes Zeichen ersetzt werden.
Änderungen gemacht univention-management-console-frontend (1.0.260-1) unstable; urgency=low * added isEqual function to umc.tools (Bug #25631) * fixed error in json parsing caused by new lines in strings (Bug #25675)
Die Tracebacks werden jetzt zusätzlich beim ein und ausklappen zentriert.
Bug wurde gefixed; Changelog vorhanden.
UCS 3.0-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"