Migrate aNd Manage
Description
Even installing Linux is a breeze. Thousands of Windows user found Linux is difficult to use and worry about the competity of documents. The goal of Windows Data Migration is provide a one-stop data migration to migrate all Windows data from a Windows System to Linux during installation or even after installation. It will support XP and Vista Windows data.
Features
= Support post install files migration = Support XP/Vista/OSX = Support random flags syntax in command mode = Support listing users from XP and Vista = Support any Linux or Unix based system that has python installed and same user folder structure. = Support automatic user detection or with a given user name(s) = Support copying file(s) and folder(s) to specified location = If given location is not a XP/Vista home folder, it will report error message and exit = When duplicate file(s) or folder(s) is detected, wdmt has an option to replace older file/folder, backup existing Fedora user folder(s) or replace existing user folder(s) = Auto create user list with a temporary password and migrate folders and files
Program Logic Flow v0.1 20081012
START
- Show welcome page and descriptions
- Search Windows User Folders
- Gathering folders information
- Check if Fedora User parition is enough for all documents from Windows users
- Prompt if administrator wants every thing automatic -> go to AUTO else -> go to MANUAL
AUTO
- List all possible users and ask if every thing is correct
- Ask for dummy password for each user
- Automatic create User
- Automatic move User documents to each user directory
- Automatic migrate bookmarks to Konqueror, Firefox
- See note about mail migration below for similar ideas. (http://mxr.mozilla.org/comm-central/source/mozilla/browser/components/migration/src/)
MANUAL
- List all possible users and ask for individual password
- Prompt each folder that copy to Fedora partition, and see if administrator wants to move files to a specific folder
- Prompt each user when move bookmarks to Konqueror, Firefox
Future Development / Advanced Functions:
- environment migration
- mail accounts, import mail database (outlook, thunderbird, etc)
- (humph, Nov 3, 2008) This can be done via Thunderbird's -migration command line switch, in order to pull all mail/settings into the current profile (i.e., assumes a profile). However, since this produces an mbox, you could also use it to then dump to some other mail client. Also, this method still needs user intervention, and could be automated to accept path(s). See code in http://mxr.mozilla.org/comm-central/source/mail/components/migration/src/
- Windows a-like environment setting
- automatic download applications associate all file type
- IM migration
Code
The demo code is posted in [discussion page] in this wiki at this moment
Project Contributor(s)
Rahul Sundaram: Rahul was the one who raise the idea of Windows Data Migration Tool. Great idea, Rahul!!
David Humphrey: resources resource on mail and bookmark migration to Firefox on wiki and IRC. Thank you David.
Mohak Vyas: gave me some more idea how user profiles, folders works. Thanks Mo!
Milton Paiva Neto: show me some trick on how to handle functions in better way and using "case' instead of "if" on argument checking.
Links
Windows Data Migration Tool in Fedora Project Wiki:
Windows Data Migration Tool in OpenSource@Seneca:
Ubuntu MigrationAssistance Page
Ubuntu MigrationAssistance Capture from www.michaellarabel.com
To Do
Item | Description | Status | Note |
---|---|---|---|
Test Machine Setup | Install Vista and Fedora in same hard disk | DONE: 20080920 | install in a laptop |
Test Mount and link | Test mounting and linking single user folder with known path | DONE: 20080921 | linked music, folder to home directory successfully, still testing if any conflict in regular use |
Test User migration | try to added user and change password in BASH script | DONE: 20081012 | User add successfully and user password changed successfully |
Python functions test | Test if desire function works in Python | DONE: 20081012 | Sucessfully using file and directory handling |
file/directory search functions planning | plan the user/files/directory handling structure and functions for WDMT | DONE: 2008/10/29 | may update structure later |
WinUserSearch | creat python function to search existing XP/Vista user | DONE: 2008/11/06 | return/output a list of user in a list, all user folder plus adminstrator minus general folder(local, public) |
Research Win Registery | instead of just copy all folders from default directory, maybe it's possible to grab user folders path instead | Target Date: 2008/11/09 | It's nice to have such function.. but.. how??? |
usrcrt Function in Fedora (list) | creat python function to add user list in Fedora | Target Date: 2008/11/05 | support list of user that generated from WinUserSearch function, and it will generate a temporary password aslo, usrcrt -l UserList -p TempPassword
(Nes20081106): It seems python dose not have a library to support user create like bash dose. Need more research on that. May use python to call up bash to finish the task. |
spacechk Function | get a list of users and see how big the user documents directories(home directory) is and check the target space has enough space to move all files | Target Date: 2008/11/14 | spacechk -l UserList -t TargetDirectory |
mvfatdir Function | movie a list of directories to target directories, it will check the mount and permission status, and it will also change the permission to 644 or as user specified | Target Date: 2008/11/14 | mvfatdir -s FatDirList -t TargetList -p Permission (644 by default) |
UserInfoSearch Function | search more accurate user document from registry instead of copying from default user folder | Next | --UserInfoSearch /media/disk
|
Bookmark Migration Functions Planning | find default IE/Fireforx bookmark and copy/migrate to Firefox bookmark, will check if source and target conditions | next | firefox only |
Function support check for GUI tools | make sure the function would support the GUI interface | next |
|
PLAN
Subject | Description | Target Date | Status |
---|---|---|---|
Python Code Complete | finish all function that needs for basic function in Python | 15th Nov 2008 | In Progress, may delay (20081106) |
GUI Interface | Finish all connection between Python code and GUI Interface | 1 Dec 2008 | |
Test Version | Putting Test version in Fedora site | 15 Dec 2008 |