Přechod z dříve vytvořeného uživatelského profilu

Uživatelský profil vytvořený v jiné verzi Mozilly nebude obsahovat nastavení z výchozího profilu shrnuté v tabulce 3, dále může způsobit problém s nekorektním zobrazením uživatelského rozhraní. Řešením tohoto problému je vytvoření nového uživatelského profilu pro každou novou verzi Mozilly. Tím ale uživatel přijde o veškeré nastavení, vytvořené poštovní účty, zprávy či databázi kontaktů.

Pro operační systém Windows existuje program Mozilla Backup, který umožňuje vytvořit zálohu uživatelského profilu. Pokud by byla pomocí tohoto programu provedena záloha uživatelského profilu před tím, než bude profil smazán a znovu vytvořen v nové verzi Mozilly, uživatel by mohl pomocí Mozilla Backupu z této zálohy do nově vytvořeného profilu přenést svá nastavení, zprávy či databázi kontaktů. Protože Mozilla Backup neobnovuje profil celý, ale pouze požadované části, takto obnovený profil nebude způsobovat problémy s nastavením tématu vzhledu.

Při obnovení profilu ze zálohy budou ty soubory, které obsahují nastavení z výchozího profilu, obnoveny soubory z dříve vytvořeného profilu, které toto nastavení neobsahují. V programu Mozilla Backup je možné stanovit, které části uživatelského profilu se mají obnovit, je tedy volbou uživatele, zda použije nastavení ze svého dřívějšího profilu, nebo profilu nově vytvořeného.

Celé je to implementováno pomocí javascriptové XPCOM komponenty. Tato komponenta vždy při spuštění Mozilly zkontroluje, zda jsou uživatelské profily vytvořeny pomocí této verze Mozilly. Aby bylo možné zjistit, zda byl profil vytvořen pomocí této verze Mozilly, vytvořil jsem ve výchozím nastavení profilu soubor <tt>jcu-profile-version</tt> obsahující současnou verzi, tedy 1.6. Pokud komponenta zjistí profil, který tento soubor neobsahuje, nebo který obsahuje jinou verzi, spustí program Mozilla Backup. Ten profil zazálohuje do složky <tt>%home%/Mozilla Profile Backups</tt>. Po provedení zálohy komponenta tento profil smaže a vytvoří nový profil stejného jména.

Poté by bylo vhodné zobrazit dialog obsahující vysvětlení, proč byl uživatelský profil smazán a znovu vytvořen, a jak může uživatel provést jeho obnovu. Tato komponenta je spouštěna pomocí události <tt>app-startup</tt> komponenty <tt>nsIObserverService</tt>. V době volání této události ještě není načten žádný uživatelský profil, což umožňuje korektně mazat uživatelské profily pomocí funkce <tt>deleteProfile</tt> rozhraní <tt>nsIProfile</tt>. Protože ještě není načten žádný uživatelský profil, tato komponenta nemůže po provedení zálohy zobrazit žádné uživatelské rozhraní. Proto tato komponenta implementuje ještě rozhraní <tt>nsIProfileStartupListener</tt>, popsané již v části o dialogu k výběru domovské stránky, a vysvětlující dialog zobrazí až při spuštění profilu.

V instalátoru je program Mozilla Backup zahrnut do komponenty <tt>/MozillaBackup.xpi</tt> a nainstalován je do adresáře <tt>\components\MozillaBackup</tt>. Instalační skript této komponenty také vytvoří zástupce tohoto programu na ploše a v menu Start.

Informace o původním dokumentu

  • Autor: Jan Matoušek

Document Tags and Contributors

Last updated by: Pawell,