KubuntuUbiquityMigrationAssistant

Differences between revisions 12 and 14 (spanning 2 versions)
Revision 12 as of 2006-12-07 14:52:04
Size: 4050
Editor: 82-69-40-219
Comment: correct misconception about defaults seeding stage
Revision 14 as of 2007-05-29 13:54:39
Size: 4569
Editor: ool-44c0d208
Comment: Forgot test/demo plan
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from KubuntuUbiquityMigrationAssisant
##(see the SpecSpec for an explanation)

''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.''

## Register at https://launchpad.net/distros/ubuntu/+specs
 * '''Launchpad entry''': https://launchpad.net/distros/ubuntu/+spec/kubuntu-ubiquity-migration-assistant
 * '''Launchpad Entry''': UbuntuSpec:kubuntu-ubiquity-migration-assistant
 * '''Created''': 17/5/07 by EvanDandrea
 * '''Contributors''': EvanDandrea
Line 9: Line 5:
 * Background: UbuntuExpress, MigrationAssistance
Line 12: Line 7:
''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.''
Line 15: Line 11:
== 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.
Line 17: Line 17:
The migration assistant will be a highly visible new feature in Ubuntu Feisty; we want Kubuntu users to be able to move from Windows just as easily. 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.
Line 31: Line 31:
The "Migration-Assistant defaults seeding" stage just needs to be called, but otherwise has no impact on the frontend (it only writes to the debconf database, not frontend widgets).
Line 35: Line 33:
 * set_ma_os_choices(self, os_choices):
 * get_ma_os_choices (self):
 * set_ma_user_choices(self, user_choices):
 * set_ma_user_label(self, label):
 * set_ma_user_choices (self):
 * set_ma_item_choices(self, item_choices, user):
 * get_ma_item_choices (self):
 * set_ma_item_users (self, users):
 * get_ma_item_user (self):
 * get_ma_fullname(self):
 * get_ma_username(self):
 * get_ma_password(self):
 * get_ma_verified_password(self):
 * get_ma_administrator(self):
 * set_ma_user (self):
 * ma_set_choices(self, ma_choices)[[BR]]
 Where ma_choices is of the following form:
{{{
[
{'user': user,
 'part': part,
 'os': os,
 'newuser': '',
 'items': items,
 'selected': False},
 ...
]
}}}
 * ma_get_choices(self)[[BR]]
 Returns a tuple of ma_choices (described above) and ma_new_users, which is of the form:[[BR]]
{{{
{ 'username' : { 'fullname' : fullname, 'password' : password, 'confirm' : confirm, ...} }
}}}
Line 53: Line 54:
 * ma_password_error(self, msg): - show an invalid password error
 * ma_info_loop() - check all the entries in the form are filled
 * ma_password_error(self, error, user): - show an invalid password error
 * ma_user_error(self, error, user): - show an invalid user error
Line 60: Line 62:
The "Migration-Assistant" stage will use a QList``View with tickboxes enabled. Care must be taken to ensure that selecting an item or user from the QList``View populates the user information input boxes below with the correct, up to date information. Removing focus from any of the input boxes should also seed the accompanying debconf question with the box's text. Typing in an existing user name into the QCombo``Box should cause the rest of the text boxes to be populated with the associated data. The "Migration-Assistant" stage will use a QList``View 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 upon pressing next, which will either continue to the next page or report an error on the interface 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.
Line 83: Line 87:
=== Test/Demo Plan ===

While the development of the Kubuntu interface for migration-assistant builds on much 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.

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)BR Where ma_choices is of the following form:

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

{ '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 upon pressing next, which will either continue to the next page or report an error on the interface 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 much 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