Karmic

Differences between revisions 2 and 3
Revision 2 as of 2009-05-08 13:45:10
Size: 4107
Editor: cpc3-slam5-2-0-cust447
Comment:
Revision 3 as of 2009-05-15 16:42:12
Size: 4144
Editor: cpc3-slam5-2-0-cust447
Comment:
Deletions are marked like this. Additions are marked like this.
Line 75: Line 75:
 * Copy files or create symlinks?

Summary

migration-assistant has been stagnating for several releases. It will be rewritten in Python in order to ease the maintenance burden.

Release Note

The migration functionality in the installer has been updated to import from the following sources:
TBD

It is now possible to migrate documents and settings after install, and continuously, allowing you to keep your Ubuntu installation in sync with any changes you make in Windows.

Rationale

Being able to carry documents and settings from a previous installation makes the barrier to entry much lower for users coming from Microsoft's Windows or Apple's Mac OS X.

User stories

TBD

Assumptions

  • Alternate installer support is not a major concern.

Design

In order to ensure that this specification can be completed by a single individual in the allotted time frame, it will be split into more manageable chucks, hereafter referred to as phases. The first phase will bring parity with the old migration-assistant code. The second phase will bring a migration-assistant desktop application, for use after installation. The third phase will bring support for Kubuntu. Only completing the first phase should be a requirement for this specification to be considered complete for 9.10.

In ubiquity:

TBD

On the desktop (phase two):

TBD

Implementation

  1. The existing Windows registry code will be tidied up and wrapped in a Python C module.
  2. A OSX binary plist parsing Python module will be written from the notes drafted from previous reverse engineering attempts.
  3. migration-assistant will be rewritten in Python, sufficiently abstracted to allow for importing to Ubuntu and Kubuntu (phase three).
  4. GUI code for integration into the installer will be written.
  5. Code will be written and a GUI created for using migration-assistant as a desktop application (phase two).

Targets of opportunity

These are items that would be nice to have, but should not be considered when evaluating this specification for completeness.

  • migration-assistant should generate a report of what it did copy and what it either could not, or was unable to, copy.

Test/Demo Plan

A test case for migration-assistant already exists. It will be expanded to cover the new features.

Unresolved issues

  • How should we handle synchronizing files from other operating systems? I can think of two immediate options:
    1. Use rsync to copy the files and record in ~/.config/migration-assistant.ini what source was copied where. For example:

      [0666f72f-99e1-4948-b718-220f48093423]
      Documents=/home/evan/Documents/Windows Documents

      Where 0666f72f-99e1-4948-b718-220f48093423 is the UUID of the partition where we imported from.

    2. Build a list of checksums of all the files in the target directory to check against as we copy files.
  • It is not entirely certain that we can import settings for certain applications once they're running, such as Pidgin and Mozilla Firefox. If this is confirmed to be the case, we will only import on boot, integrating with usplash or Plymouth.
  • Copy files or create symlinks?

BoF agenda and discussion

  • Unresolved issues.
  • Do we want migration-assistant in the installer at all? It is nice to have that first boot experience of already having your documents and settings available, and moving it completely to the desktop will most likely require a reboot after the first boot to pick up all of the settings. On the other hand, its presence in the installer has been contested from time to time, and it takes up another page in the installer when we want to make the installation pages quick to get through and the installation process to be as fast as possible.


CategorySpec

MigrationAssistant/Karmic (last edited 2009-06-04 11:26:00 by cpc3-slam5-2-0-cust447)