Přeskočit navigaci

Tento blog byl již ukončen. Aktuální novinky ze světa Mozilly nyní hledejte na webu Mozilla.cz.

Co je špatně řešeno u rozšíření do Firefoxu

Správa rozšíření v uživatelském profilu Firefoxu 1.5 je řešena dobře. Tedy až na jeden drobný detail.

Oním detailem je konfigurace instalovaných rozšíření. Pokud rozšíření nastavíte, je logické, že toto nastavení se můsí do uživatelského profilu někam uložit. Zde je základní kámen úrazu. Nikde totiž nění řečeno ani doporučeno kam. Je to na libovůli autorů rozšíření a je to bohužel znát.

Řada rozšíření ukládá svou konfiguraci do hlavního konfiguračního souboru prefs.js. V zásadě rozumné řešení až na to, že se míchá konfigurace aplikace s konfigurací rozšíření. Výsledný soubor je tak čím dál větší. Celkově tedy ne moc rozumná koncepce. Navíc ani konvence ukládaných předvoleb není jednotná. Někteří autoři rozšíření volí formát extensions.*, druhá skupina pak podle jména rozšíření začína přímo řetězec předvolby. Např. forecastfox.*.

Uvedený konfigurační soubor, který má formát klíč-hodnota, není vhodný na ukládání rozsáhlejších dat. Jako ukázku nevhodnosti by mohlo posloužit rozšíření AdBlock, které si všechny filtry ukládá do jedné předvolby.

Pokud rozšíření potřebuje ukládat větší množství údajů (dat), volí autoři rozšíření samostatný soubor. Například rozšíření Mouse Gestures ukládá data do souboru mousegestures.rdf. Některá rozšíření, jako například ForecastFox, ukládají všechna data do vytvořeného podadresáře v profilu. Vše je na libovůli autora rozšíření a to je špatně.

Nyní si představte situaci, kdy si na doporučení známého nainstalujete rozšíření. Chvíli jej používáte, ale po pár dnech používání se jej rozhodnete odinstalovat. Rozšíření tedy odinstalujete a žijete v domnění, že vše je jako před pár dny. Omyl. Konfigurační údaje zůstaly. Je jedno, zda byly ukládány do souboru prefs.js či do samostatných souborů. Nic z toho se při odinstalaci neodstraní. V případě samostatného souboru s konfigurací to zas až tolik nevadí, rostoucí velikost souboru prefs.js je už větší problém.

Kdybych to měl celé shrnout, tak problémy jsou v zásadě dva:

  • Není sjednoceno, kam smí rozšíření ukládat svou konfiguraci. A už vůbec není oddělena konfigurace aplikace od konfigurace rozšíření.
  • Neexistuje mechanismus na úrovni aplikace, kterým byste řekli, že spolu s rozšířením chcete odinstalovat i jeho konfiguraci.

A nedejbože, že jste autorem software na zálohování podobného profilu...

Přečtěte si také:

Linkuj si ! asdf.sk

Komentáře

1. Mazarik
Pred nejakym casom som toto tiez skumal. Podla mojho nazoru by si malo rozsirenie nastavenia ukladat tam odkial sa zobrazuju v about:config(ako to bude implementovane ma nezaujima). Tento trend podporili aj vyvojari zaradenim podpory tychto nastaveni priamo do xulu. http://xulplanet.com/references/elemref/ref_prefwindow.html
Vacsie objemy dat by som ukladal do adresara rozsirenia(rozumej tam kde je ulozeny subor _extension_.jar) a pri odinstalacii s opytanim zmazal.

Přidat komentář

K tomuto příspěvku není možné přidávat další komentáře.