KubuntuUbiquityMigrationAssistant

Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2006-11-09 21:19:14
Size: 2356
Editor: 207
Comment:
Revision 15 as of 2007-05-29 13:55:26
Size: 4569
Editor: ool-44c0d208
Comment: Forgot test/demo plan
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
##(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 10: 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 13: 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 15: Line 17:
Migration assisant will be a highly visible new features 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 19: Line 21:
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. 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.
Line 27: Line 29:
Copy the user interface specified at MigrationAssistance into the KDE frontend for Ubiquity.  The "Migration-Assistant defaults seeding" stage is a simple case of implementing the required functions to fill the Qt widgets. Copy the user interface specified at MigrationAssistance into the KDE frontend for Ubiquity.
Line 29: Line 31:
The migration assistance modules need to be adapted to output to the KDE configuration files. It also needs a flag which can be set by the installer to tell it which file format (Gnome or KDE) to output to. 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.
Line 33: Line 62:
The "Migration-Assistant" stage will use a QListView with tickboxes enabled. Care must be taken to ensure that moving back and forward between pages works correctly in all situations. 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.
Line 35: Line 64:
The Bookmarks importer needs to output to ~/.kde/share/apps/konqueror/bookmarks.xml in the standard xbel format used by Konqueror. 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 37: Line 66:
The instant messenging importer needs to output to the ~/.kde/share/config/kopeterc file which is in a simple key=value format. === Data ===
Line 39: Line 68:
The wallpaper is set in the ~/.kde/share/config/kdesktoprc file. '''Files:'''
Line 41: Line 70:
Music, pictures and documents should be copied to the same place regardless of desktop. For music Amarok's amarokrc file will need to be set to add the music to its collection.  * 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.
Line 43: Line 75:
Fonts should set the fonts in the 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.

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