Summary

Further the development of migration-assistant to the point that it can be included in Feisty Fawn. Work prior to Feisty is covered in the /Edgy specification. Work for Feisty is covered in the /Feisty specification.

Rationale

The reality for most potential Ubuntu users is that they've bought their computer with Windows pre-installed or have already installed another Linux distribution. These users have probably already used their existing operating system for a decent period of time and have accumulated documents, email, settings, and other files that can be imported and translated for use in Ubuntu, but the existing Ubuntu graphical installer mercilessly destroys them. If users could install Ubuntu knowing that all of their existing Office documents would be placed in their Documents folder, their email would be imported into Evolution, and their bookmarks imported into Firefox, they would have much more incentive to make the switch, be it from Windows or another Linux distribution.

Use cases

Scope

A package containing all of the importing code and the debian-installer hooks was uploaded as a source package in Universe. The changes to Ubiquity will need to be merged in to the main branch and migration-assistant will be uploaded to main.

Design

Ubiquity flow:

Language
Location
Keyboard
Migration-Assistant defaults seeding
User, Password, Hostname
Partitioning
Migration-Assistant
Summary
Install process (ma-apply is run)

 ______________________________________
|                                      |
| What accounts do you want to import? |
| +-------------------------------+--+ |
| |                               |/\| |
| | \/ [X] Evan (Gentoo)          |  | |
| |       [X] AIM Settings        |  | |
| |       [ ] Bookmarks           |  | |
| |       [ ] Address Book        |  | |
| |-------------------------------|  | |
| |  > [X] Colin (Windows)        |  | |
| |-------------------------------|  | |
| |  > [ ] Lucy (Windows)         |  | |
| |  > [ ] Evan (Windows)         |  | |
| |                               |\/| |
| +-------------------------------+--+ |
| [Select All] [Select None]           |
|                                      |
| Full Name:  [ Colin Watson ]         |
| Login Name: [ Colin     |\/]         |
| Passphrase: [              ]         |
| Confirm:    [              ]         |
|                                      |
|              [Cancel] [Back] [Next]  |
|______________________________________|

Implementation

migration-assistant is broken into five programs:

ma-ask is called within debian-installer and a modified version of Ubiquity seeds the questions that ma-ask asks.

migration-assistant as a whole searches the hard drive on which it is being installed for user accounts as well as the documents and settings that go along with each account, and presents its findings as options in the installer that the user can select to be imported into their new Ubuntu installation. Configuration data is translated into its appropriate Ubuntu equivalent. AOL Instant Messenger accounts, for example, are translated into XML and added to the .gaim/accounts.xml file in that user's home directory.

migration-assistant will merge data from multiple operating systems, or multiple applications that map to a single application in Ubuntu, into single entities in Ubuntu. For example, if the user has AOL IM, MSN IM, and Yahoo! IM installed, migration-assistant will import all of them into the .gaim/accounts.xml file so they can all be used in Gaim. If the user has both Firefox and Internet Explorer bookmarks then migration-assistant will import both of them into Firefox.

The transferring of data is done by means of running ma-import, which copies the files and settings the user has selected to the new Ubuntu filesystem, after the LiveCD filesystem is copied.

Data

Files:

Settings:

Future work

Rejected Ideas

Proposals

MigrationAssistance/Feisty (last edited 2008-08-06 16:20:55 by localhost)