The developers of the YaST installer, used in openSUSE and SUSE Linux, have released the first installation image featuring a new installer developed as part of the D-Installer project, which supports installation management through a web interface. The prepared image is designed to familiarize users with the capabilities of D-Installer and provides tools for installing the continuously updated openSUSE Tumbleweed edition. Currently, D-Installer is positioned as an experimental project, and the first release can be seen as a transition from a conceptual idea to a form of an initial product that is usable but requires significant improvements.
D-Installer entails separating the user interface from the internal components of YaST and providing the option to use various front-ends. Libraries from YaST continue to be used for package installation, hardware checks, disk partitioning, and other necessary installation functions, above which a layer is implemented to abstract access to the libraries through a unified D-Bus interface.
A frontend has been prepared for user interaction, built using web technologies. The frontend includes a handler that provides access to D-Bus calls via HTTP, as well as the web interface shown to the user. The web interface is written in JavaScript using the React framework and PatternFly components. The service for binding the interface to D-Bus, as well as the built-in HTTP server, are written in Ruby and built using existing modules developed by the Cockpit project, which are also used in Red Hat web configurators.
Installation management is conducted via a consolidated "Installation Summary" screen, which gathers preparatory settings made before the start of the installation, such as selecting the language and the product to be installed, disk partitioning, and user management. The main difference between the new interface and YaST is that accessing settings does not require launching separate widgets and is offered immediately. Currently, the interface capabilities are limited; for example, the product selection section lacks the option to manage installations of individual software bundles and system roles, and in the disk partitioning section, only the selection of a partition for installation is provided, without the ability to edit the partition table or change the filesystem type.


Among the features that need improvement are tools for informing users about errors that occur and organizing interactive communication during operation (for example, prompting for a password when an encrypted partition is detected). Plans also include the ability to modify the behavior of different installation stages depending on the selected product or system role (for example, for MicroOS, a read-only mode is applied).
Among the goals of developing D-Installer is addressing existing limitations of the graphical interface; expanding the ability to utilize YaST functionality in other applications; moving away from being tied to a single programming language (the D-Bus API will allow for extensions to be created in different languages); and encouraging the creation of alternative settings by community members.
Source: opennet.ru
