KubuntuUbiquityMigrationAssistant

Summary

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Make the migration assistant available in Kubuntu.

Release Note

The migration tool available in Ubuntu is now available for Kubuntu users as well. It is able to import all of the same documents and settings that its Ubuntu counterpart supports.

Rationale

The migration assistant was a highly visible new feature in Ubuntu Feisty; we want Kubuntu users to be able to move from Windows and other Linux distributions just as easily.

Use cases

Betty wants to install Kubuntu on her currently Windows-only computer. She uses the Ubiquity installer which lets her easily create a user account with many of the same settings as her current Windows account.

Scope

Integrating migration assistant into the KDE Ubiquity frontend and porting the migration assistant backend modules to export to KDE values.

Design

Copy the user interface specified at MigrationAssistance into the KDE frontend for Ubiquity.

Methods which get and set form data:

  • ma_set_choices(self, ma_choices)
    Where ma_choices is of the following form:

[
{'user': user,
 'part': part,
 'os': os,
 'newuser': '',
 'items': items,
 'selected': False},
 ...
]
  • ma_get_choices(self)
    Returns a tuple of ma_choices (described above) and ma_new_users, which is of the form:

{ 'username' : { 'fullname' : fullname, 'password' : password, 'confirm' : confirm, ...} }

checking methods:

  • ma_password_error(self, error, user): - show an invalid password error
  • ma_user_error(self, error, user): - show an invalid user error

The migration assistance modules need to be adapted to output to the KDE configuration files. They also need a flag which can be set by the installer to tell them which file format (Gnome or KDE) to output to.

Implementation

The "Migration-Assistant" stage will use a QListView with tickboxes enabled. To reduce the number of times the application has to hit the debconf database, a data structure (ma_choices, described above) will be used that will be fed back to the migration-assistant component only upon pressing next, rather than immediately when a change is made. When next is pressed the interface will either continue to the next page or report an error on the migration page using one of the ma_*_error functions. The interface should give a visual indication of which users have errors and jump to the first user with an error in the list, as well as use the standard error UI element as defined by the user-setup page for each individual error.

The user-setup page will also have to be adapted to support selecting a user created by migration-assistant. This will be a done with a drop down box that automatically fills the relevant input boxes.

Data

Files:

  • Documents and Pictures are the same as in MigrationAssistance

  • Music can be imported into ~/Music with ~/.kde/share/config/amarokrc set to include this directory in its collection
  • E-mail imported to ~/Mail with the files added to ~/.kde/share/config/kmailrc
  • Fonts should set the fonts in the ~/.kde/share/config/kdeglobals setting file.

Settings:

  • E-mail settings get go into ~/.kde/share/config/kmailrc
  • The instant messaging importer needs to output to the ~/.kde/share/config/kopeterc file
  • The wallpaper is set in the ~/.kde/share/config/kdesktoprc file.
  • The Bookmarks importer needs to output to ~/.kde/share/apps/konqueror/bookmarks.xml in the standard xbel format used by Konqueror.
  • User picture is desktop independent, use same code as for MigrationAssistance

  • Internet connection settings are desktop independent, use same code as for MigrationAssistance

  • Address book data goes into ~/.kde/share/apps/kabc/std.vcf in VCF format.

KDE config files are in a simple key=value format.

Test/Demo Plan

While the development of the Kubuntu interface for migration-assistant builds on many of the lessons learned from the original Ubuntu interface, it will still be introduced as a command line option to the installer as a massive failure at this step of the installer would leave the user unable to install Kubuntu.


CategorySpec