Univention Bugzilla – Bug 27458
App Center
Last modified: 2012-12-12 21:08:11 CET
Für UCS 3.1 soll eine einfache Möglichkeit bestehen Applikationen über ein UMC Modul anzuzeigen und zu installieren. Die Applikationen sollen dabei von dem Hersteller der Applikation hochgeladen werden.
Über diesen Bug werden die grundsätzlichen Funktionalitäten implementiert. Dazu gehören u.a.: * Struktur und Auslesen der Metadaten über Anwendungen und Kategorien * Struktur der Übersetzungsinformationen * ggf. lokales Caching der Metadaten * Grundlegende Installation von Anwendungen * Suchmaske zunächst mit ComboBox und einfachem Suchfeld * Anzeige der Suchergebnisse als Icons mit kurzer Beschreibung und Kategorie, alphabetisch sortiert Weitere Details werden über weitere Bugs behandelt.
Partner Software: https://hutten.knut.univention.de/mediawiki/index.php/App_Center_Partner
(In reply to comment #1) > Über diesen Bug werden die grundsätzlichen Funktionalitäten implementiert. Dazu > gehören u.a.: > > * Struktur und Auslesen der Metadaten über Anwendungen und Kategorien > * Struktur der Übersetzungsinformationen > * ggf. lokales Caching der Metadaten > * Grundlegende Installation von Anwendungen > * Suchmaske zunächst mit ComboBox und einfachem Suchfeld > * Anzeige der Suchergebnisse als Icons mit kurzer Beschreibung und Kategorie, > alphabetisch sortiert > > Weitere Details werden über weitere Bugs behandelt. Das ist soweit alles umgesetzt. Es wird ein Screenshot angezeigt, der bei Klick vergrößert wird. Repository-Einstellungen und Komponentenverwaltung wurden zusammengeführt auf einen Untertab. Es wird nach Komponenten gesucht unter: http://{repository/app_center/server}/meta-inf/{version/version}/*.ini Default für den App-Center-Server ist appcenter.software-univention.de. Die .ini-Dateien enthalten Meta-Informationen über die jeweilige Komponente, bspw.: ==================== [Application] ID=mycomponent Name=My Component Version=7.1 Description=This is my component. LongDescription=This is my own component. Categories=Groupware,Mail EmailRequired=False Screenshot=mycomponent_screenshot.jpeg DefaultPackages=imagemagick-doc DefaultPackagesMaster= ConflictedApps= ConflictedSystemPackages= ServerRole=domaincontroller_master Vendor=Me Website=http://www.me.com Contact=sales@me.com [de] Description=Das ist meine Komponente. LongDescription=Das ist meine eigene Komponente. ==================== Eine .png-Datei unter gleichen Namen wie die .ini-Datei wird als Logo eingebunden. → univention-management-console-module-packages (2.0.20-1)
Übersetzungen für Kategorien werden von der folgenden Adresse geladen: http://{repository/app_center/server}/meta-inf/categories.ini Die einzelnen Sections werden bezeichnen die Lokalisierung (bpsw. "de", "fr").
Zur Schemainstallation auf Mastern/Backups gibt es jetzt ein kleines Helper-Tool (univention-add-app), das das Setzen der entsprechenden UCR-Variablen für die Repository-Komponenten sowie die Installation der entsprechenden Pakete vereinfacht: univention-updater (8.0.13-1) unstable; urgency=low . * added script univention-add-app; Bug #27458
Ein Eintrag "LicenseFile" ist noch hinzugekommen. Wird er angegeben, dann wird beim erstmaligen Installieren ein Lizenzdialog angezeigt, dem zugestimmt werden muss. Eine dokumentierte Beispiel-Ini-Datei liegt unter: http://wiki.univention.de/index.php?title=App_Center_-_.ini-Datei
Generell finde ich es nicht so toll, den Apache Directory Index zu parsen (der ist ja auch anpassbar (FancyIndexing usw.)) aber da führt wohl kein einfacher Weg vorbei. Ich glaube es fehlt hier noch ein html unescape!? app_center.py 285 » » » » » » ifilename = m.group('name') 286 » » » » » » iurl = url + '/' + ifilename
Es fehlt noch ein Hinweis auf ungejointen systemen, falls eine App deswegen nicht installiert werden kann.
Es fehlt ein html escape der Einträge aus den .ini Dateien
Im Grund fehlt im pacakges modul auch noch eine Einstellungsmöglichkeit des Repository servers für die APP's… Aber das kann denke ich ausgelagert werden.
(In reply to comment #10) > Im Grund fehlt im pacakges modul auch noch eine Einstellungsmöglichkeit des > Repository servers für die APP's… Aber das kann denke ich ausgelagert werden. → Ok, das soll doch nicht.
Im Wiki fehlt noch der Eintrag für EmailRequired: http://wiki.univention.de/index.php?title=App_Center_-_.ini-Datei
(In reply to comment #12) > Im Wiki fehlt noch der Eintrag für EmailRequired: > http://wiki.univention.de/index.php?title=App_Center_-_.ini-Datei NotifyVendor ist mittlerweile drin. Wenn ich es richtig sehe, dann sind noch diese beiden Punkte offen: (In reply to comment #8) > Es fehlt noch ein Hinweis auf ungejointen systemen, falls eine App deswegen > nicht installiert werden kann. (In reply to comment #9) > Es fehlt ein html escape der Einträge aus den .ini Dateien
(In reply to comment #13) > Wenn ich es richtig sehe, dann sind noch diese beiden Punkte offen: > > (In reply to comment #8) > > Es fehlt noch ein Hinweis auf ungejointen systemen, falls eine App deswegen > > nicht installiert werden kann. > > (In reply to comment #9) > > Es fehlt ein html escape der Einträge aus den .ini Dateien Hinweis wurde hinzugefügt. Besser kein HTML-Escape der Einträge. Hersteller könnten Auszeichnungen in den Texten wollen (Listen, Links, Italics...). Die .ini-Dateien zählen in dem Sinne nicht nicht als "User-Input". univention-management-console-module-appcenter 2.0.69-1.15.201211121918
(In reply to comment #7) > Ich glaube es fehlt hier noch ein html unescape!? > app_center.py > 285 » » » » » » ifilename = m.group('name') > 286 » » » » » » iurl = url + '/' + ifilename Wenn eine .ini Datei z.B. 'foo & bar.ini' heißt wird sie nicht ausgewertet. → REOPENED (In reply to comment #14) > (In reply to comment #13) > > Wenn ich es richtig sehe, dann sind noch diese beiden Punkte offen: > > > > (In reply to comment #8) > > > Es fehlt noch ein Hinweis auf ungejointen systemen, falls eine App deswegen > > > nicht installiert werden kann. > > > > (In reply to comment #9) > > > Es fehlt ein html escape der Einträge aus den .ini Dateien > > Hinweis wurde hinzugefügt. Ja das funktioniert. Der Installationsbutton ist dann auch nicht vorhanden. Die Formulierung sollte eventuell angepasst werden ("Treten Sie einer Domäne bei…" ist direkte Anrede außerdem soll das System und nicht die Person einer Domäneb beitreten). > Besser kein HTML-Escape der Einträge. Hersteller könnten Auszeichnungen in den > Texten wollen (Listen, Links, Italics...). Die .ini-Dateien zählen in dem Sinne > nicht nicht als "User-Input". > > univention-management-console-module-appcenter 2.0.69-1.15.201211121918 hmm… In Angaben wie Name, Version, Screenshot, Website und so sollte definitiv kein HTML möglich sein. Sonst muss in jeder XML Datei bedacht werden, dass diese Zeichen dort schon escaped sind.
(In reply to comment #15) > (In reply to comment #7) > > Ich glaube es fehlt hier noch ein html unescape!? > > app_center.py > > 285 » » » » » » ifilename = m.group('name') > > 286 » » » » » » iurl = url + '/' + ifilename > Wenn eine .ini Datei z.B. 'foo & bar.ini' heißt wird sie nicht ausgewertet. → > REOPENED Wir sollten irgendwo die erlaubten Zeichen aufführen. Das müssen wir nicht im Code prüfen, die Namen können wir selbst bestimmen.
(In reply to comment #15) > (In reply to comment #7) > > Ich glaube es fehlt hier noch ein html unescape!? > > app_center.py > > 285 » » » » » » ifilename = m.group('name') > > 286 » » » » » » iurl = url + '/' + ifilename > Wenn eine .ini Datei z.B. 'foo & bar.ini' heißt wird sie nicht ausgewertet. → > REOPENED > > (In reply to comment #14) > > (In reply to comment #13) > > > Wenn ich es richtig sehe, dann sind noch diese beiden Punkte offen: > > > > > > (In reply to comment #8) > > > > Es fehlt noch ein Hinweis auf ungejointen systemen, falls eine App deswegen > > > > nicht installiert werden kann. > > > > > > (In reply to comment #9) > > > > Es fehlt ein html escape der Einträge aus den .ini Dateien > > > > Hinweis wurde hinzugefügt. > Ja das funktioniert. Der Installationsbutton ist dann auch nicht vorhanden. > Die Formulierung sollte eventuell angepasst werden ("Treten Sie einer Domäne > bei…" ist direkte Anrede außerdem soll das System und nicht die Person einer > Domäneb beitreten). > > > Besser kein HTML-Escape der Einträge. Hersteller könnten Auszeichnungen in den > > Texten wollen (Listen, Links, Italics...). Die .ini-Dateien zählen in dem Sinne > > nicht nicht als "User-Input". > > > > univention-management-console-module-appcenter 2.0.69-1.15.201211121918 > hmm… In Angaben wie Name, Version, Screenshot, Website und so sollte definitiv > kein HTML möglich sein. Sonst muss in jeder XML Datei bedacht werden, dass > diese Zeichen dort schon escaped sind. Fixed in univention-management-console-module-appcenter 2.0.76-1.22.201211201155
(In reply to comment #17) > (In reply to comment #15) > > (In reply to comment #7) > > > Ich glaube es fehlt hier noch ein html unescape!? > > > app_center.py > > > 285 » » » » » » ifilename = m.group('name') > > > 286 » » » » » » iurl = url + '/' + ifilename > > Wenn eine .ini Datei z.B. 'foo & bar.ini' heißt wird sie nicht ausgewertet. → > > REOPENED OK > > (In reply to comment #14) > > > (In reply to comment #13) > > > > Wenn ich es richtig sehe, dann sind noch diese beiden Punkte offen: > > > > > > > > (In reply to comment #8) > > > > > Es fehlt noch ein Hinweis auf ungejointen systemen, falls eine App deswegen > > > > > nicht installiert werden kann. > > > > > > > > (In reply to comment #9) > > > > > Es fehlt ein html escape der Einträge aus den .ini Dateien > > > > > > Hinweis wurde hinzugefügt. > > Ja das funktioniert. Der Installationsbutton ist dann auch nicht vorhanden. > > Die Formulierung sollte eventuell angepasst werden ("Treten Sie einer Domäne > > bei…" ist direkte Anrede außerdem soll das System und nicht die Person einer > > Domäneb beitreten). OK > > > Besser kein HTML-Escape der Einträge. Hersteller könnten Auszeichnungen in den > > > Texten wollen (Listen, Links, Italics...). Die .ini-Dateien zählen in dem Sinne > > > nicht nicht als "User-Input". > > > > > > univention-management-console-module-appcenter 2.0.69-1.15.201211121918 > > hmm… In Angaben wie Name, Version, Screenshot, Website und so sollte definitiv > > kein HTML möglich sein. Sonst muss in jeder XML Datei bedacht werden, dass > > diese Zeichen dort schon escaped sind. OK Changelog OK
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".