Migration Assistant Next Generatin
MacOSX contains utility Migration Assistant which can import users, application settings and various files from old Macintosh to new one. Mango tries to bring similar functionality to Linux but with wider OS and application support.
Mango comes in two flavors: console (mango) and Qt4 (mango-gui). There might be also YaST module in the future. User selects application data to migrate and these are converted and migrated after hitting Migrate button. When more applications of the same type (eg. messengers) are chosen for import, the data from all these messengers will be merged before exporting. When selecting more apps of the same type for export, then the same data will be exported to all selected applications. If backup is checked (default choice) then Mango will backup existing data (eg. move ~/.thunderbird to ~/.thunderbird~mangobackup) before performing the migration, otherwise it will be overwritten!
Goals and Features
- detect operating system on mounted partition (Windows, MacOSX, GNU/Linux, *BSD)
- detect users in operating system
- detect users' documents and settings (see below for details)
- import data from first OS into generalized format (eg. read bookmarks from Internet Explorer under Windows)
- export data to second OS from generalized format (eg. write bookmarks to Mozilla Firefox under Linux)
- user friendly console and GUI interface
- TODO: extract wifi firmware from installed Windows, Windows driver CD, another Linux and wrap binary into ndiswrapper
- TODO: import soundcard settings (for legacy cards)
- TODO: create YaST module
Import/export is not as wide as it should be, but we are working on it. We'd be also glad if you decided to help us (contacts and SVN repository are below).
|Browsers||Firefox 1.x, 2.x||yes||yes|
|Messengers||CenterICQ / CenterIM||todo||todo|
|User Documents||My Documents||todo||todo|
|System Settings||Soundcard Settings||todo||todo|
Each application handler (we call it Migratable) implements simple interface. This interface has a few methods (like detectImport(), import(), detectExport() and export()), which detect application data, convert it into generalized internal format, detect installed application and convert from generalized format to specific one, respectively.
- Pavol Rusnak
- Peter Libic
- http://gitorious.org/opensuse/mango (GIT source repository)
- http://stick.gk2.sk/blog/?p=40 (announcement)