Werkstattbericht neue opsi-Webgui

tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Werkstattbericht neue opsi-Webgui

Beitrag von tb-killa »

Durch Zufall sind wir auf den Beitrag "opsi Conf 2020: Werkstattbericht neue opsi-Webgui" (https://www.youtube.com/watch?v=X5xO2uD1KQo) gestoßen, erstmal ein großes Lob auch an Fr. Anna Sucher für den tollen Vortrag.

Bezüglich dieses neuen opsi-Webgui haben wir ein paar Fragen und Ideen:

# Allgemeine Fragen:
- Verfügbarkeit des opsi-Webgui als Test ?
- Verfügbarkeit des opsi-Webgui als First Release Official ?
- Kosten des opsi-Webgui ?
- Bereitstellung des Code per github Repo ?

# Technische Fragen:
- Nutzung des Django-Framework:

Wir sind ein großer Freund von Django und können diesen Weg nur befürworten.
Im Video wird von einem anderen User zwischen opsi-python / Django und der Kommunikation mit opsi gesprochen, können wir innerhalb von Django auch alternative Auth-Middleware nutzen wie z.B. ldap zwecks Rechteverwaltung innerhalb von opsi-Webgui ?

Wird es die Möglichkeit geben, eigene Django Apps integrieren zu können bzw. gibt es Ideen für ein mögliches Plugin-Konzept ?

#Rückfrage der technischen Natur hinter dem ganzen:
- Backend-Querys:
Wäre es nicht geschickter, opsi für die Konfiguration als Mysql Backend(oder ggf. zum Beispiel postgresql) standardmäßig freizugeben und den Weg per Django und Models über z.B. inspectdb und reines lesen zu nutzen ?
Vorteil wäre hier, es gibt einen schnellen Unterbau, die Datenbankfelder sind bekannt und da nur lesend gearbeitet wird, dürfte die Performance signifikant besser sein als z.B. per Django task queue oder ähnlichem die Daten per json rpc oder ähnlichem abzuholen.

Wir freuen uns auf Rückmeldung und Diskussionen, vor allem aber auch auf erste Livetests :)
Benutzeravatar
sucher
uib-Team
Beiträge: 3
Registriert: 28 Jul 2014, 10:44

Re: Werkstattbericht neue opsi-Webgui

Beitrag von sucher »

Hi,

zunächst vielen Dank für das Lob :wink:

Wir sind fleißig an der Webgui am arbeiten. Allerdings ist uns die Qualität der Anwendung wichtiger als ein schnelles Release.
- Deswegen kann momentan keine Aussage zur Verfügbarkeit getroffen werden.
- Nach derzeitigem Stand soll die Webgui kostenfrei bereitgestellt werden
- und, wie der Code jeder unserer Anwendungen soll auch der der Webgui auf github verfügbar sein.

Nun zu den Technischen Fragen:
Die Webgui ist abgekoppelt vom opsi-backend. Das heißt, sie kann auf einer anderen Maschine (kein opsiserver) gehostet werden. Somit ist Django lediglich ein "ZwischenBackend", welches mit dem opsiserver über JSONRPC kommuniziert. Dafür ist es notwendig, dass der Benutzer sich beim opsi-server erfolgreich authentifiziert. Der derzeitige Stand ist, dass der Benutzer mit dem man sich anmeldet nicht der ist, der die Anfragen an das Backend sendet. Allerdings müssen beide Benutzer opsi-admin Rechte besitzen. Für die Rechteverwaltung innerhalb von opsi werden dann die user-roles verwendet (Eingeschränkter Zugriff auf Depots /Clientgruppen). Für die Authentifizierung über andere Provider, wie ldap, soll dann der Service zuständig sein, damit nicht alles doppelt/dreifach/.. implementiert werden muss.

Bezüglich der Datenbank: Das ist ein interessante Vorgehensweise. Allerdings sehe ich da Probleme bezüglich der Verwendung der python-opsi-Methoden. Momentan wird eine python-opsi Instanz benötigt, über die die Kommunikation zum opsiserver stattfindet (Verwendung von host_getObjects etc.. innerhalb von Django). Zusätzlich liefern (extra für die webgui) neue Backend Methoden der Gui lediglich die Daten, die auch benötigt werden. Für den Fall, dass man zwei (im besten Fall immer identische) Datenbanken hat, also "Djangodb" und "opsiserverdb" müsste man praktisch einen python-opsi Wrapper bauen, der bestimmt, welche Methoden auf die lokalen und welche auf die "echten" Daten zugreift (lesen / schreiben). Und ohne python-opsi würde man die gleichen Methoden ggf erneut implementieren müssen. Außerdem bin ich mir nicht sicher, ob sich die Performance-Einsparung durch die stetige Synchronisation der Datenbanken wieder ausgeglichen werden würde.

Bezüglich der Django Apps ist derzeit kein Plugin System geplant. Das Problem ist da eher, dass wir Django wirklich nur als Zwischenbackend verwenden um das echte Backend nach Daten zu Fragen (Die Django-Templates verwenden wir nicht) . Denkbar wäre auch die Konstellation, dass Django vollständig entfällt und das Frontend direkt das Backend nach Daten fragt. Frontend-seitig und eigentlich komplett getrennt von Django verwenden wir VueJS. Hier findet die meiste Logik/Arbeit/.. statt. Aber ich behalte mir die Idee im Hinterkopf, dass beispielsweise eigene Seiten/Komponenten o.ä. "customiziert" bzw. selbst entwickelt werden können.

Ich hoffe das beantwortet jetzt alle Fragen :D
Benutzeravatar
tobias
Beiträge: 1291
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: Werkstattbericht neue opsi-Webgui

Beitrag von tobias »

Wie wärs mit der Veröffentlichung von Nightlies :)

Gibt doch eigentlich nichts besseres in der frühen Entwicklungsphase als direktes Feedback derjenigen, die später damit täglich arbeiten.

Natürlich ohne Garantie, Support und sonst was
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: Werkstattbericht neue opsi-Webgui

Beitrag von tb-killa »

Hallo Anna,

vielen Dank für deine Rückmeldung.

Bezüglich Django, würdet ihr hierzu vorab euern Code-(Anteil) bereitstellen damit wir in eigenen Projekten experimentieren können ?

Natürlich wären wir wie tobias bereits angemerkt auch an einem inoffiziellen "nightly" interessiert, vielleicht lässt sich dies auch oder alternativ zu meiner Anfrage realisieren ;) ?

Viele Grüße.
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: Werkstattbericht neue opsi-Webgui

Beitrag von SirTux »

Hallo,

gibt es etwas neues zur Webgui?

Viele Grüße,
Stefan
Benutzeravatar
tobias
Beiträge: 1291
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: Werkstattbericht neue opsi-Webgui

Beitrag von tobias »

Das würde mich allerdings auch brennend interessieren ;)
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: Werkstattbericht neue opsi-Webgui

Beitrag von tb-killa »

Hallo liebes uib-Team.
Wie ich fleißig auf der Github-Repo für den opsiconfd sehe, wurde das python backend für die WebGUIvon django auf den nativen Teil portiert.
Soweit die API aufzeigt, waren die Basis-Themen abgebildet, auch eine mögliche "Addon" Api wurde vorbereitet, vielen Dank hierzu :)
Allerdings scheint ihr wohl nur das mysql backend dafür freigegeben zu haben, funktioniert die WebGUI nur mit der kostenpflichtigen Erweiterung Mysql oder wird das Mysql-Backend allgemein kostenlos freigegeben ?

Aber nun die doch spannendste Frage:
Wann gibt es die GUI bzw. können wir diese vorab testen ?
Viel spannender wäre natürlich eine Repo mit Sourcen ;)

Viele Grüße.
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: Werkstattbericht neue opsi-Webgui

Beitrag von tb-killa »

Hallo liebes uib Team,
Im experimental habe ich euer Addon gefunden: https://download.uib.de/4.2/experimenta ... fd-addons/
Aber als Voraussetzung wird eine Mysql Database als Backend erwartet, diese ist aktuell nur gegen Bezahlung vorhanden.
Plant ihr hier ggf. diese in der Free Variante freizugeben oder wird das ganze noch für das File-Backend (free) überarbeitet ?
Viele Grüße.
Benutzeravatar
m.radtke
uib-Team
Beiträge: 1515
Registriert: 10 Jun 2015, 12:19

Re: Werkstattbericht neue opsi-Webgui

Beitrag von m.radtke »

Moin,

aktuell ist es nicht geplant die Webgui für das File-Backend anzupassen.

Gruß
Mathias
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
tb-killa
Beiträge: 76
Registriert: 22 Okt 2017, 16:59

Re: Werkstattbericht neue opsi-Webgui

Beitrag von tb-killa »

Moin,
Ist geplant das MySQL Backend auf Free umzustellen?
Die Web-Gui ist eine erhebliche Verbesserung.
Oder ist dies nur für Leute mit bezahltem Backend geplant, das wäre aber schade und kam in dem Vorstellungsvideo (Youtube) nicht so rüber.
Wann ist geplant die Web-Gui ins Github hochzuladen?

Grüße
Antworten