Edgy

Revision 16 as of 2006-05-17 18:12:55

Clear message

Summary

Design and develop import functionality for the Ubiquity LiveCD installation program and debian-installer that allows the user to transfer existing user accounts as well as the settings and files that go with each individual account.

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

  • Andrew is a long time Gentoo user, tired of having to manually configure his system, and wants a distribution that "just works". He'd like to copy over his home directory to the new system when he installs Ubuntu.
  • Dave is a busy parent who has been using Windows XP for the past year, and he and his children have accumulated a large number of pictures, music, documents, and bookmarks between their four user accounts. He'd like to be able to copy over all of the user accounts while selecting what files to keep and what to throw away when installing Ubuntu.
  • Joe is a CAD engineer who would like to switch his home computer to Ubuntu. While Ubuntu does not have software to read Autodesk files, he would nevertheless like to save his set. He does not have a CD burner and the files are too big for email attachments.

Scope

As the functionality will exist in both Ubiquity and debian-installer, it will affect both of those packages.

Design

+----------------------------------------+
|                                        |
| Would you like to import documents and |
| settings from your previous operating  |
| system?                                |
|                                        |
|  (o) Yes                               |
|          +---+                         |
|      [X] |   | Evan                    |
|          +---+                         |
|                                        |
|          +---+                         |
|      [X] | ? | Erica                   |
|          +---+                         |
|                                        |
|  ( ) No                                |
|                                        |
|                      [ Back ] [ Next ] |
|                                        |
+----------------------------------------+

If Ubuntu is being installed alongside another operating system, the above dialog is presented to the user. The user pictures are grabbed from the previous operating system. If a picture cannot be found, the no-picture-found picture is used.

+----------------------------------------+
|                                        |
|              +---+                     |
|              |   |  Evan               |
|              +---+                     |
|                                        |
| Select the items you would like to     |
| import for this user.                  |
|                                        |
| +------------------------------------+ |
| |                                 |/\| |
| |   [X] My Documents              |  | |
| |   [X] My Music                  |  | |
| | - [X] Settings                  |  | |
| |       [X] AOL Instant Messenger |  | |
| |       [X] IE Bookmarks          |  | |
| |       [X] Firefox Bookmarks     |  | |
| |                                 |\/| |
| +------------------------------------+ |
|         [ Select All ] [ Select None ] |
|                                        |
|                                        |
| Type in the full name, username, and   |
| password for this account below.       |
|                                        |
| Full Name: [ Evan Dandrea            ] |
| User Name: [ evand                   ] |
| Password:  [                         ] |
| Confirm:   [                         ] |
|                                        |
| [ ] Administrator Account              |
|                                        |
|                                        |
|                      [ Back ] [ Next ] |
|                                        |
+----------------------------------------+

The user is presented with the above page for each user they selected to import. Again, the user picture is used along with the user name to clarify exactly which account the user is dealing with.

The user is presented with groupings of objects that they can select for import. All objects are selected by default.

On the same screen the user will fill out the account information for the user they're importing. In the case of Windows the Full Name and User Name fields will be automatically filled. In the case of Linux the password and confirm fields are filled with a set number of asterisks.

If the user checks the Administrator Account checkbox, the account will be added to sudoers.

Implementation

The import function will search 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, presenting its findings in a screen for each discovered user and allowing the user of the installer to select exactly which accounts and groupings of items they would like to import, with everything selected by default.

Configurations will be translated into their appropriate Ubuntu equivelent. AOL Instant Messenger accounts, for example, will be added to a .gaim/accounts.xml file in that user's home directory.

The transferring of data will be done by means of copying the files and settings the user has selected to the new Ubuntu filesystem after the LiveCD filesystem is copied.

Data:

If Ubuntu is being installed over a Linux system, the import function will select all of the home directories as well as the matching sections of /etc/passwd and /etc/shadow. However, if Ubuntu is being installed over Windows, the import tool will select each user from Documents and Settings, their My Documents folder, and what other files and settings it's preprogrammed to look for. As the development of the import function progresses, this should include:

Files:

  • Documents
  • Pictures
  • Email messages
  • Fonts
  • Music

Settings:

  • User accounts
  • Email clients
  • Instant messaging accounts
  • Bookmarks
  • Desktop background
  • Address book

Documentation

Documentation for the import functionality in Ubiquity will be written and submitted to the Documentation Team for review.

Outstanding issues

  • If Windows XP does not make a user an administrator by default, we should automatically check the “Make an Administrator” box in the interface for the accounts that are.
    • The first user created upon installation in Windows XP Home is an administrator
    • Note: Upon the release of Vista, User Access Mode will be configured so the default user will run with lowest privilges so this will change on the next version of Windows
  • Do we ignore the root account or do we only import it if /root has files in it? If we import it, we break the expected functionality of having to use sudo for root access.
  • Migrating user data from Windows means we'd have to detect for existing Windows partitions, mount the appropriate ones (a user could have several windows drives and only one of them could contains the Documents and settings folder. Also, most of the relevant data a windows user doesn't directly translates to linux settings, we would probably be able only to copy user data files, and import settings from programs that represent them the same on the filesystem be it a windows or linux file system.

    • Detecting Windows filesystems is easy with the aid of os-prober. -- ColinWatson

=== Issues regarding file/settings transfer in the case of "messy" windows installations. ====

  • Many XP-installations I have seen do not use seperate accounts for the users, or they have multiple, but devided along the lines of "dad-work" and "family". There is also the not-often-used "guest" account. User accounts should be created for each user in this case.
  • Users might not use "my documents" - on all systems I have ever installed, I've used a seperate partition (like D:/data). If you promise to import files and settings, how will you deal with files that have no obvious owner? A UI might be presented asking what to import to which user account.
  • On many pc's, all windows accounts are administrators, due to conviencience or lack of understanding of a proper permissions system.

The point here is that many windows pc's are messy when compared to a properly set up ubuntu installation, and ways should be found to import the files/settings for user convenience, but not the mess, or users will end up with an ubuntu system as unusable and unstable as their XP experience ever was. This is partially design, partially education. --HiddeBrugmans

More discussion

I've been working on a small program that does something like this. Right now it just imports IE bookmarks, check it out here: ["MigrationAssistance/Script"]. Pretty self explanatory, and its just a prototype.

One question: If a user has so many documents that a) it would take too long to copy to the new ubuntu partition or b) the partition isn't big enough, could we make a symbolic link? Thats what I did for my mom, I made her a "My Windows Documents" link on her desktop :-). The only problem is that if its NTFS its read only (until fuse becomes default)... --SamuelCormierIijima

  • I think it would be better to calculate how much space is required before-hand and prompt the user to remove some items to import or make the Ubuntu partition larger. As you mention, NTFS is read-only and symlinking would introduce unexpected problems. -- EvanDandrea

KillerKiwi - If the user has xp installed then could not some 'legal issue' software be safetly install? For instance MS Fonts, Mp3 codecs? As these things are licensed under windows xp? An option to copy over the users wallpaper would also be good, (The most common customization of any system)

  • Ok, I've updated the script. It now lets you choose if you want to import your background... Can anybody test? Smile :-) --SamuelCormierIijima

  • Alright, yet another update, you can now also import firefox bookmarks from windows Smile :-)


CategorySpec