Univention Bugzilla – Bug 26784
Restrukturierung Online Update / Paketmanagement
Last modified: 2012-12-12 21:10:36 CET
- Mit dem Online Update Modul sollen Updates eingespielt werden können, sonst nichts - Das Paketverwaltungsmodul wird zu einem "Softwareverwaltungsmodul", dass dazu dient, Software zu installieren oder zu deinstallieren - entweder aus dem App Center oder in einer Art Expertenmodus durch die Paketverwaltung. - In dem Softwareverwaltungsmodul kann dann eingestellt werden, welche Quellen genutzt werden sollen.
Created attachment 4618 [details] onValidation wird Form hinzugefügt Ich habe das jetzt soweit gemacht. Die Validierung ist umgebaut worden (siehe Bug #27716). Die Schwierigkeit besteht darin, die Fehler als Fehler ans Frontend zu schicken. 1. Offenbar werden nur status codes zwischen 200 und 300 von Cherrypy ordentlich durchgelassen. Das heißt, um dem Client zu signalisieren, dass das, was man da bekommt Fehlermeldungen sind, muss man einen Fehlercode 2xx schicken, eigentlich wäre ein Code 4xx richtig! 2. Ich habe mal einen "patch" für den moduleStore angehängt, der die Fehler dann an das Formular des moduleStores zurückgibt. Der ist so natürlich nicht tragbar. Man sieht auch, wie schwierig das ganze ist, z.B. errorHandling von umcpCommand wurde ausgestellt. Minimalinvasiv geht das nicht, ist aber außerordentlich wichtig - auch für andere Module als dieses hier. Am schönsten fände ich es ja, wenn man irgendwie die zweite Funktion, die man .then() übergibt irgendwie dafür nutzen könnte. Bis dahin probiere ich noch ein wenig rum.
Soweit fertig. Dem Modul updater wurde Funktionalität genommen, die dem Modul packages hinzugefügt wurden. In dem Zuge wurde packages einer Grundrenovierung unterzogen und verbessert. Außerdem wurde ein Tab "AppCenter" packages hinzugefügt. Könnte später noch in ein eigenes Modul ausgelagert werden - allerdings teilt es sich viel Code mit packages (Komponenten anlegen und vor allem den PackageManager zum Installieren). Beide Pakete (insbesondere packages) funktionieren momentan noch nicht, da die Dojo 1.8 Anpassung noch nicht fertig ist.
Fixed in univention-updater 8.0.9-1.1072.201209101546 und univention-management-console-module-packages 2.0.4-1.12.201209101458 Man könnte noch darüber nachdenken, den letzten vorhandenen Tab aus dem Updater zu entfernen.
(In reply to comment #3) > Man könnte noch darüber nachdenken, den letzten vorhandenen Tab aus dem Updater > zu entfernen. Ja. Das Modul Paketverwaltung sollte für interim-1 noch umbenannt werden. Entweder Softwareverwaltung oder App Center.
Fixed in univention-management-console-module-packages 2.0.6-1.14.201209111058 und univention-updater 8.0.10-1.1073.201209111107
(In reply to comment #4) > > Das Modul Paketverwaltung sollte für interim-1 noch umbenannt werden. Entweder > Softwareverwaltung oder App Center. Vielleicht "Software-Verwaltung" im Deutschen, dann bricht der Name auch schöner auf der Übersichtsseite um.
(In reply to comment #1) > ... > 1. Offenbar werden nur status codes zwischen 200 und 300 von Cherrypy > ordentlich durchgelassen. Das heißt, um dem Client zu signalisieren, dass das, > was man da bekommt Fehlermeldungen sind, muss man einen Fehlercode 2xx > schicken, eigentlich wäre ein Code 4xx richtig! Für Fehlercodes in Cherrypy muss man immer einen Exception werfen. > 2. Ich habe mal einen "patch" für den moduleStore angehängt, der die Fehler > dann an das Formular des moduleStores zurückgibt. Der ist so natürlich nicht > tragbar. Man sieht auch, wie schwierig das ganze ist, z.B. errorHandling von > umcpCommand wurde ausgestellt. > > Minimalinvasiv geht das nicht, ist aber außerordentlich wichtig - auch für > andere Module als dieses hier. > Am schönsten fände ich es ja, wenn man irgendwie die zweite Funktion, die man > .then() übergibt irgendwie dafür nutzen könnte. → müssen wir mal drüber reden QA: Soweit OK. Die folgenden Punkte sind noch aufgefallen: * Ich habe ein System installiert (via System-Setup), das Repository war auf updates.software-univention.de gesetzt. Danach habe ich den Repository-Server auf apt.knut.univention.de gesetzt mit unmaintained aktiviert. Eine Suche nach ipython war erfolglos, via apt-cache search hat es geklappt. Wird der Cache ggf. nicht richtig aktualisiert? apt-get update scheint auf jedenfall ausgeführt zu werden. Nach einem erneuten Login ging es dann. * Changelog: Hier bitte die Einträge der einzelnen Sections in jeweils einen Eintrag zusammenfassen. → soweit erst einmal, QA ist noch nicht abgeschlossen.
Bei der Installation von curl im App-Center bekomme ich noch einen Traceback: > Traceback (most recent call last): > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 201, in execute > func( request ) > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 183, in _response > return function(self, request) > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 335, in _response > self.finished(request.id, _simple_response(function, with_flavor)(self, request)) > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 232, in _response > return function(self, **kwargs) > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/packages/__init__.py", line 183, in app_center_get > return application.to_dict_detail(self) > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/packages/app_center.py", line 130, in to_dict_detail > 'can_install' : not can_uninstall and (is_joined or not master_packages), > NameError: global name 'master_packages' is not defined
* Umgenannt in Software-Verwaltung * NameError gefixt * PackageManager erfährt ein Update nach Änderungen an den Settings univention-management-console-module-packages 2.0.8-1.16.201209171238 * Changelog angepasst
(In reply to comment #9) > * Umgenannt in Software-Verwaltung → OK > * NameError gefixt → OK > * PackageManager erfährt ein Update nach Änderungen an den Settings → OK > * Changelog angepasst → OK Ansonsten funktioniert der Updater wie vorher, die Repository-Einstellungen werden korrekt im Updater und in der Paketverwaltung übernommen → VERIFIED
Der Reiter müsste "Repository settings" statt "Repository Settings" heissen (ist aber den Aufwand jetzt nicht mehr wert, evtl. gibt es einen eigenen UMC-Bug für solche Kleinigkeiten?)
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".