MigrationAssistance

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.

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.

  • Support for Windows 2000 and Vista, as well as Mac OS X support will be added.
  • Support for migrating data to an external device or source, such as a USB key, for importing from using a desktop application after install, will be added.
  • migration-assistant will be enabled on the alternate CD installer.

Release Note

The migration functionality in the installer now allows users to export their migrated data to a USB thumb drive or other external source to later be merged into their Ubuntu system using the accompanied desktop application.

Rationale

The desktop application and ability to migrate data to a source other than the root filesystem are required for users who wish to migrate their data without keeping their old partitions around, and for those users who either did not have the ability to use migration-assistant in a previous release or chose not to, but wish to use it now.

Use Cases

  • Mark wants to migrate his data from Windows XP without having to keep his Windows XP partition around.
  • Evan wants to import his Apple OS X users when installing Ubuntu on his iMac.
  • Joe would like Ubuntu to be able to automatically authenticate to the various wireless access points he's associated with previously without requiring him to re-enter WEP and WPA keys.

Assumptions

None

Design

A stand-alone desktop application will be added that will enable the user to import from external sources used during the install for exporting migration data to, such as a USB key; FTP, sftp, or WebDAV site; or, possibly in the event of two CD recorder devices, a CD. Exporting to and importing from a USB key will be developed first, allowing other, less commonly used sources to be added as time permits.

Support for importing from Windows Vista, Mac OS X, and Windows 2000 will be added.

Additional import sources will be added. These may include:

  • Wireless access points with WPA and WEP keys.
  • Files on the desktop.
  • OS X applications, including Photo Booth pictures, Mail.app settings, Dashboard widgets (into Jackfield), iTunes music, and web browser bookmarks from Safari, Firefox, and Camino.
  • All instant messenger settings, including logs and passwords (if possible).
  • All PIM data from Outlook and Evolution including actual email, calendar data, and notes.
  • Mozilla Thunderbird.
  • Fonts.
  • Web browser data such as cookies, proxy settings, and cross-platform Firefox plugins.

Implementation

  • migration-assistant will be added to the alternate CD installer via a change of priority.
  • migration-assistant will have to be moved before partman-apply in debian-installer to accommodate exporting to a source other than the root filesystem, as the goal of that feature is to enable users who are electing to format their disk completely to still make sure of the migration functionality. This will require changes to ma-ask's partition state detection code.

  • migration-assistant will be modified to use choices-c to allow translating source names, such as "Internet Explorer", into the user's native language.
  • A progress dialog will be added to give the user more feedback on the detection process and allow them to cancel and skip the migration step, if they so desire.
  • Support for importing a user's entire /home directory will be added and a validation check will be created to ensure that the user does not select both the entire home directory and an item contained within it.
  • The structure of the migration data when exporting to an external device or source will be a migration-assistant directory in the root of the device or source, with /home below that, containing all the migrated files.

  • migration-assistant will need to be modified to detect and mount loopback filesystems created by Wubi to provide a migration path from the test installs created by Wubi as part of the installer-for-windows specification.

UI Changes

  • Minor changes to the wording of the text used to instruct the user may be made.
  • Additional text that lets the user know that they can wait until after install to migrate their documents and settings (using the desktop application) will be added.
  • The full name of Windows users and the computer name will be preseeded by first grabbing the data from SAM and the registry, respectively.
  • The following section will be added with an accompanying modal dialog similar to the "Connect to Server..." dialog used in GNOME, allowing the user to specify a source to export the migrated data to.

                           +-----------+
Import into: This computer | Change... |
                           +-----------+

Test/Demo Plan

Testing migration-assistant will be done by running make check before upload, and by ensuring that all items imported successfully upon reboot when installing with either the LiveCD or alternate CD.

The logging verbosity of migration-assistant will be increased for the course of the development cycle.

Outstanding Issues

  • Should the desktop application allow the creation of user accounts, like the Ubiquity component does, by including /etc/passwd on the device or source that contains the migrated data?

BoF agenda and discussion

Review the possibility of importing to other targets (FTP, WebDAV, USB key, sftp, CD-R, etc).
- Run before or after partman-apply.
Discuss the possibility of a desktop application.
- Do not encourage using for sync.
-  Add text to say "you do not have to do this now, you can do this later"
Plan KDE UI and KDE application support. update https://wiki.kubuntu.org/KubuntuUbiquityMigrationAssistant
Dealing with /home.
- multual exclusivity by validation.
multi-process
try to get in debian
get into alternate cd
Checking if the data will fit in RAM, using a temporary directory.
choices-c

Comments

  • What about migrating from one Ubuntu to another? Apple has an application helping migrating to new hardware. --AndersWallenquist

    • The intention of Ubuntu's general hardware support is that you should be able to pull out the hard drive, put it in another machine, and have it Just Work. Cases where this does not happen are bugs and should be filed as such. An application to take care of this case shouldn't be necessary. --ColinWatson

      • It's true Ubuntu has good hardware management, but when you buy a new machine you rarely keep your old hard-disk and waste the (faster and bigger) disk that comes with the new box. Use Case: Carls new Dell Laptop with Ubuntu preinstalled has just arrived and Carl wants to start using this in favor for his old HP stationary office computer migrateing his personal configaton using Wifi or USB in a mouseclick.
        • Wouldn't this fall under importing to other targets, as described above in the specification? --EvanDandrea

          • The problem is not the target, but the source. I agree, that other sources, namely Linux distributions, including Ubuntu, should be supported as well. Nowadays, where laptops become more common, simply switching the hard drive is not always an option. Of course, there are other tools (rsync etc), but an expanded migration assistant would really be a boon to users. At the same time I think that the spec should not be expanded, before importing from Windows is in a stable state. --Sokraates
            • By target I meant target to import from. So "source" by your definition. If you run migration-assistant in Feisty it will import from whatever other Linux distributions are installed, unless that distro uses a separate home directory, but fails to use a UUID to label it. It could not import the entire contents of /home/$USER in Feisty, but the solution to that is discussed in the above specification. Importing to a USB disk is also discussed. -- EvanDandrea

      • Working with Xen and virtual machines you often want to copy your personal configuations in a mouseclick without copying your whole home-catalog -- AndersWallenquist


CategorySpec

MigrationAssistance (last edited 2008-08-06 16:19:54 by localhost)