Monday, August 9, 2010

Migrating from SeaMonkey 1.1 to SeaMonkey 2.0

What motivated me to migrate was that YouTube and GMail now use standards that supersede those supported by SeaMonkey 1.1. Yes, the latter is still in many ways a modern browser and application suite and really the last one that still works in Windows 95.

Yet it's become difficult to browse websites, such as Gawker, New York Times and E24.ee, which are very script-heavy and I don't like seeing pop-up notifications about "this or that script taking too long to load" without necessarily losing useful site functionality with NoScript.

As it usually is standard practice when upgrading software from one major version to another, the older major version is typically uninstalled first and then a newer version installed. Windows users may want to restart...


Now, with SeaMonkey versions 1.1 and 2.0 it's far more trickier if a user wants to retain (in effect, migrate) their profile data. The trouble with SeaMonkey 2.0 is that its profile migration is not as elegant as it is, for example, in an upgrade from OpenOffice.org 2.x to 3.x.

Here's why: For profile migration to work, SeaMonkey 1.1 must be set as the default browser. If a user uninstalls it (and dutifully keeps profile data), SeaMonkey 1.1 will cease to exist as an installed application and thus it won't be the default browser. Even if SeaMonkey is installed, but not set as the default browser, SeaMonkey 2.0 will skip the migration routine and will default to creating a blank default profile.

The good points:
  • SeaMonkey 1.1 and 2.0 can be installed side-by-side;
  • In an administrator account, setting SeaMonkey 1.1 as the default browser should work throughout all Windows profiles;
  • SeaMonkey 1.1 and 2.0 won't write to each other's profile data;
  • I forgot what the fourth point was.
Just in case, copy all SeaMonkey 1.1 profile data over to a backup location. Move the SeaMonkey (1.1) Program Files folder to another location. Quit all instances of SeaMonkey 1.1, including the QuickLauncher (removed in 2.0).

Install SeaMonkey 2.0. Don't launch it from the installer, but start the SeaMonkey 2.0 Profile Manager. If it shows the default profile, launch Sm 2.0 and see if it offers to migrate profile data. If not and if you won't see your old bookmarks, then profile data has not been migrated. Quit.

Start the SeaMonkey 2.0 Profile Manager again.
Just in case: Outside the Profile Manager, open the folder location of your old SeaMonkey 1.1 default profile. In Windows XP This should be

C:\Documents and Settings\Username\Application Data\Mozilla\Profiles\default\g1bb3r1sh.slt

Note that your actual profile folder contains other letters and numbers than g1bb3r1sh.slt, just that this is a useful example.

Note what the name of your SeaMonkey's default profile directory is. The purpose of this is to see if it's different from SeaMonkey 2.0's and if it is, then it's all fine.
Delete the existing new default profile in SeaMonkey 2.0, quit Profile Manager.

In a command line, go to SeaMonkey 2.0's installed directory, then follow instructions given in a MozillaWiki on SeaMonkey 2.0 profile migration:
  • Create a profile with exactly the profile name of your old [default] profile
  • and you should now get the migration dialog. Choose which profile to import data from.
Everything else should be relatively easy. Well, almost.
  • Extensions must be installed anew.
  • The whitelist of servers where extensions and themes can be installed from might not be migrated.
  • I had trouble installing Flashblock from addons.mozilla.org, so I had to add flashblock.mozdev.org to the whitelist and install from there. No trouble installing NoScript from addons.mozilla.org.
  • As it usually is with SeaMonkey browsers, the Flashblock toolbar button will not show automatically. Instead of opening the Preferences window, click on any free space in the SeaMonkey toolbar, then on Customize... A Firefox-like toolbar customization dialog should show up and the Flashblock toolbar item can be added wherever a user chooses in the toolbar (the standard location was next to the Home button in the Personal Toolbar). Because the computer where I installed SeaMonkey 2.0 does not have a printer, I dragged the printer button off the toolbar.
  • Server whitelists for Flashblock and NoScript do not migrate. I had to manually type in server names into the new Flashblock whitelist, but I think its file can be migrated (haven't checked how to do it). NoScript allows exporting the whitelist, so I did that from SeaMonkey 1.1 and imported the whitelist in SeaMonkey 2.0 after installing NoScript.
  • Even if a profile is migrated, SeaMonkey 2.0 will default to its default theme. If you used a Modern theme (built-in), then you'll have to choose it from the Add-on Manager and restart SeaMonkey. The selection and amount of themes for SeaMonkey 2.0 is different than for SeaMonkey 1.x.
  • Important: Since all cookie data is dutifully copied over during migration, then cookies which have it that a user is still logged in at some e-mail or other service, persist. This means that before migration, users should first log out from all of their services in SeaMonkey 1.1, if they haven't done so before.
  • The F10 keyboard shortcut to activate the menu does not work. Alt+menu hotkey does.
  • If you use a separate profile for private browsing, re-check your preferences and settings to see that they are all correct.
Otherwise, things should should work the same, just that all this careful migration work takes time.

No comments: