Die Entwickler des Projekts openSUSE haben eine neue Version des Agama-Installers (früher bekannt als D-Installer) veröffentlicht, der als Ersatz für die klassische Installationsoberfläche von SUSE und openSUSE entwickelt wurde. Hervorzuheben ist die Trennung der Benutzeroberfläche von den inneren Komponenten von YaST. Agama ermöglicht die Nutzung verschiedener Frontends, zum Beispiel ein Frontend zur Verwaltung der Installation über eine Webschnittstelle. Für die Installation von Paketen, die Überprüfung der Hardware, die Partitionierung von Festplatten und andere notwendige Funktionen während der Installation werden weiterhin die YaST-Bibliotheken verwendet, über die Service-Schichten implementiert sind, die den Zugriff auf die Bibliotheken über eine einheitliche D-Bus-Schnittstelle abstrahieren.
Zur Testzwecken wurden Live-Builds mit dem neuen Installer (x86_64, ARM64) erstellt, die die Installation der kontinuierlich aktualisierten Version openSUSE Tumbleweed unterstützen, sowie der Editionen openSUSE Leap Micro, SUSE ALP und openSUSE Leap 16, die auf isolierten Containern basieren.


Die grundlegende Benutzeroberfläche zur Verwaltung der Installation basiert auf Web-Technologien und beinhaltet einen Handler, der den Zugriff auf D-Bus-Aufrufe über HTTP ermöglicht, sowie eine direkte Web-Oberfläche. Die Web-Oberfläche ist in JavaScript unter Verwendung des React-Frameworks und der PatternFly-Komponenten geschrieben. Der Dienst zur Anbindung der Benutzeroberfläche an D-Bus sowie der integrierte HTTP-Server sind in Ruby erstellt und basieren auf den vorgefertigten Modulen, die vom Cockpit-Projekt entwickelt werden und auch in den Web-Konfiguratoren von Red Hat verwendet werden. Der Installer verwendet eine Multi-Prozessor-Architektur, die sicherstellt, dass die Benutzeroberfläche während anderer Arbeiten nicht blockiert wird.

In der aktuellen Entwicklungsphase stehen im Installer Dienste zur Verfügung, die für die Verwaltung des Installationsprozesses, die Einrichtung des Produktinhalts und der zu installierenden Programme, die Anpassung von Sprache, Tastatur und Lokalisierungsoptionen, die Vorbereitung des Speichermediums und die Partitionierung, die Bereitstellung von Tipps und Hilfestellungen sowie die Benutzereinbindung in das System und die Netzwerkkonfiguration verantwortlich sind.
Zu den Zielen der Entwicklung von Agama gehört es, bestehende Einschränkungen der grafischen Benutzeroberfläche zu beseitigen, die Möglichkeiten zur Nutzung der YaST-Funktionalitäten in anderen Anwendungen zu erweitern, sich von einer einzelnen Programmiersprache zu lösen (die D-Bus-API ermöglicht es, Erweiterungen in verschiedenen Sprachen zu erstellen) und die Schaffung alternativer Konfigurationen durch Mitglieder der Community zu fördern.
Die Agama-Oberfläche wurde so einfach wie möglich für die Benutzer gestaltet. Unter anderem wurde die Möglichkeit zur selektiven Installation von Paketen entfernt. Derzeit diskutieren die Entwickler über mögliche Ansätze zur Umsetzung einer einfacheren Benutzeroberfläche für die Auswahl der zu installierenden Programme. Als Hauptoption wird ein Prototyp in Betracht gezogen, der die Kategorien basierend auf typischen Nutzungsmustern trennt, wie zum Beispiel grafische Umgebungen, Container-Tools, Entwickler-Tools usw.
Quelle: opennet.ru
