Univention Bugzilla – Bug 29333
UMC hängt beim Anlegen eines Druckers wenn univention-printserver nicht installiert ist
Last modified: 2012-12-12 21:08:57 CET
Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist: Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen, drehenden Ladekreisel.
Das Problem ist durch Bug #28400 eingeführt worden. Seit neuestem blockiert die Seite nämlich nicht mehr bis die ersten Policy-Informationen da sind (zu dem Zeitpunkt ist nämlich das Formular u.U. noch nicht komplett geladen), sondern bis alle Widgets gefüllt wurden - samt Abhängigkeiten. Die Abhängigkeit von PrinterDriverList auf PrinterProducerList war hier das Problem. Ohne univention-printserver gibt es keine Produzenten im LDAP. Deshalb wartet das Widget "model" auch ewig auf das Widget "producer", weil das nie ernsthaft gefüllt wird. Das grundlegende Problem bestand schon vorher, es ist nur nie aufgefallen. Das Formular war offiziell nie richtig fertig, aber das interessierte weiter keinen, denn die Seite blockierte ja nicht. Technisch war das Problem, dass die Dependencies so überprüft wurden: if (_dependValues[dep]) // false bei '' Ich hab das mal geändert (denn PrinterProducerList gibt etwas zurück: [], also ist der Wert ''): if (_dependValues[dep] !== undefined) mit entsprechend vielen möglichen Implikationen. Wer weiß, wer sich darauf verlässt, dass '' nicht als erfüllte Abhängigkeit gilt? Viel Spaß, QA! Zweite Änderung: UDM_Attribute hat sich darauf verlassen, dass in den jeweiligen Objekten das Attribut vorhanden ist. Das ist hier nicht der Fall und würde dann zu einem KeyError und einem 500er Fehler führen (ist aber bisher nie passiert, weil eben die Abhängigkeiten nicht aufgelöst wurden). Das habe ich abgefangen und gebe [] zurück. Ich denke, das ist recht unkritisch. univention-management-console-module-udm 3.0.61-1.290.201211222103 und univention-management-console-frontend 2.0.169-1.521.201211222121
Ich halte diese Änderung für Bug #29375 verantwortlich.
(In reply to comment #2) > Ich halte diese Änderung für Bug #29375 verantwortlich. Das ist korrekt
Wär ja auch zu schön gewesen. Fixed in univention-management-console-frontend 2.0.170-1.522.201211231522 Jetzt sieht es schon ganz gut aus. Jetzt werden noch ready()-Informationen der Widgets übergeben. Falls ein Widget das unterstützt und ready() ist Fulfilled(), dann wird auch ein '' (oder ein false) akzeptiert. Andernfalls weiterhin nicht. Das sollte ziemlich rückwärtskompatibel sein und löst das Problem in UVMM, denn da wird ready() unterstützt.
QA: Neben UDM ist offenbar UVMM am interessantesten zu untersuchen (vielleicht auch Basic Settings). Eben überall da, wo es doch ein wenig komplexer wird und depends benutzt wird.
(In reply to comment #0) > Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist: > > Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen, > drehenden Ladekreisel. FAIL: Das tritt immernoch auf.
(In reply to comment #6) > (In reply to comment #0) > > Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist: > > > > Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen, > > drehenden Ladekreisel. > > FAIL: Das tritt immernoch auf. Verflixt und zugenäht. Tatsächlich tritt das _wieder_ auf. Kaum flickt man das links zusammen, bricht rechts alles auf. Nächster Versuch: univention-management-console-frontend 2.0.175-1.527.201211261926 Kurz getestet und für ausreichend befunden. Allerdings war ich mir letztes Mal auch recht sicher...
(In reply to comment #0) > Auf einem aktuellen 3.1, auf dem univention-printserver nicht installiert ist: > > Lege ich im Drucker-Modul einen Drucker an, sehe ich nur endlos diesen kleinen, > drehenden Ladekreisel. OK: Jetzt ist es behoben. Changelogeintrag ist vorhanden, Verified.
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".