GnomeUserInterface

Differences between revisions 2 and 3
Revision 2 as of 2005-10-31 18:23:57
Size: 2612
Editor: 187_220_103_66-WIFI_HOTSPOTS
Comment: initial thoughts based on Guadalinex
Revision 3 as of 2005-10-31 19:45:46
Size: 2664
Editor: 187_220_103_66-WIFI_HOTSPOTS
Comment: Subcategorized under UbuntuExpress
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from ExpressGnomeUserInterface

Summary

Ubuntu Express - Gnome user interface

A user interface for the Ubuntu Express Installer.

A user interface component, written in Python, which will drive the installation process. It will ask questions of the user, and invoke backend routines to act on the user's choices.

See: https://wiki.ubuntu.com/UbuntuExpress

Rationale

Since we'll be doing a Qt-based interface as well for Kubuntu Express, the user interface must be cleanly separated from the functional installer backend. The [http://interactors.coop/~trunks/installer/] Guadalinex installer already does this quite well.

Use cases

Scope

Design

Since the Guadalinex team has already implemented a significant amount of this, we will use their work as a base. However, discounting minor user interface tweaks, the current code base has the problem that it duplicates both code and translatable strings from the installer, which causes problems such as desynchronisation of functionality with the installer (e.g. username/password validation in current ubuntu-express produces different results from the installer's validation code) and the loss of many existing translations of strings from the installer.

I (ColinWatson) believe that both issues can be solved by borrowing infrastructure from oem-config (OEMInstaller), where I had to address similar problems and did so using a debconf protocol filter: debconf-using code (e.g. installer code) can be run unmodified inside a wrapper that runs custom user interface code rather than a standard debconf frontend, and translated strings can be extracted directly from the debconf database.

Aside from that, a quick glance over the Guadalinex code suggests that its user interface has reasonably good separation between frontend and backend: the frontend asks all questions up-front and then runs widget-set-independent backend code that feeds answers into the debconf database and performs the installation proper. (Integration with oem-config may suggest answers reaching the debconf database while the frontend is running, but that's OK.)

Implementation

  • Move debconffilter from oem-config into debconf proper.
  • TODO

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion

UbuntuExpress/GnomeUserInterface (last edited 2008-08-06 16:19:54 by localhost)