KubuntuExpress

Revision 11 as of 2005-11-05 22:42:47

Clear message

Summary

Kubuntu Express - port UbuntuExpress to KDE to make sure Kubuntu has a live CD installer.

Rationale

Ubuntu Express will be an important feature of Dapper and we should have equivalent functionality in Kubuntu.

This means we will have a need for only 1 Kubuntu CD, which should make shipit a possibility for Kubuntu.

Scope and Use cases

Install Kubuntu from Live CD.

Design

The user interface for Ubuntu Express will be based on the current implementation of the Guadalinex installer. This has a clear separation of frontend and backend making it relatively easy to implement a new frontend in PyQt.

Ubuntu Express will integrate OEM Installer to reduce duplication in the installer. OEM Installer uses debconffilter as the interface to debconf, meaning we do not need to worry about Qt bindings to debconf.

Implementation

PyQt uses Qt's tr translation system but we should ensure it uses Python's Gettext module and extend PyQT's userinterface compiler to generate .po files.

We should port OEM Installer to Qt. OEM Installer currently does not have clear separation between user interface and backend. While porting to Qt we should move OEM installer to have a better separation between frontend and backend, we should work with Kamion on these changes. This will give us an OEM Installer for Kubuntu and prepare for kubuntu-express.

The timescale for this is unclear at the moment as there is little point porting the current ubuntu-express if large parts of it will be modified soon. The initial work can be the changes to qtparted, then porting OEM installer then creating the Qt frontend to ubuntu-express.

User Interface

As with the UbuntuExpress/GnomeUserInterface we need to have an installer user interface which is good looking and easy to use. There will be an icon on the desktop to Install Kubuntu Permanantly.

The user interface for the installer should mirror the Gnome user interface as closely as possible, while keeping to Qt/KDE conventions over GTK/Gnome ones. There should be an overall progress indicator which shows the user the stages of the installer and how far through the process they are.

We should make use of Qt designer for the user interface and use the pyuic (Python User Interface Compiler) from pykdeextentions for this.

UbuntuExpress/BaseSystemConfiguration requires a system map widget, we will use the widget from KWorldMap KubuntuExpress.

Partitioner

As per [UbuntuExpress/PartitioningTool] partman will be integrated into the installer for the non-advanced mode. The user interface here should mirror that available in the Gnome user interface.

gparted has been modified to include changes needed by ubuntu-express, listed in GraphicalPartitioningTool. We will need to modify qtparted to add a command line option for showing and editing mountpoints and output the mountpoints on stdout after it has been run. It also needs an option to edit existing mountpoints. The user interface should be simplified to remove the menu and status bar.

qtparted has recently got a new upstream maintainer. We should work with them to get the changes needed for ubuntu-express back upstream.

Outstanding issues

impilinux already have a Qt based live installer for Ubuntu. We should make sure this gets uploaded to the ubuntu archives and use the best ideas in it for kubuntu-express.