Přihlásit se
Na oficiálních stránkách (přesněji na oficiálním vývojářském blogu) se objevil velmi zajímavý článek popisující současný stav migračního procesu. O to vás přece nemůžeme připravit. Připravil jsem proto překlad orginálního článku.

Určitě vám již problesklo hlavou, pokud máte stránky založené na Joomle! 1.0.x, co všechno musíte udělat, abyste převedli vaše stránky na verzi 1.5 a zda to provedete i pro vámi nainstalované doplňky třetích stran a také určitě řešíte, zda je bezpečné zůstat ještě nějakou dobu u verze 1.0.x než se vše s verzí 1.5 usadí a lidé začnou psát nové doplňky a aktualizovat staré doplňky. Proto jsem se rozhodl, že napíšu pár slov o migraci na 1.5 a také sdělím některé novinky, které vám mohou pomoci.

Aktualizace doplňku Migrator
Pro snazší migraci byla provedena aktualizace: nástroj Migrator je nyní ve verzi RC6. Některé tutoriály na internetu špatně říkají, že potřebujete stejnou verzi Migrátoru, jako je vaše Joomla!. Dřívější verze budou fungovat i s poslední Joomlou!, i když byste asi měli chtít tu nejposlednější verzi, abyste měli jistotu, že vše bude fungovat správně. Migrator by měl fungovat nezávisle na tom, jakou verzi Joomly! máte, ale převážně byl testován s verzemi 1.0.10 až 1.0.14RC1, proto je velmi prozíravé používat tyto nejposlednější verze. Navíc jsem Migrator otestoval na Mambu 4.5.2, 4.5.5 a 4.6.3 a povedlo se úspěšně spustit import ukázkových dat pro tyto stránky (upozornění: Mambo není oficiálně podporováno nebo plně testováno a ne všechna data musí být přemigrována správně). I když nemusí být data přenesena správně, jádro Mamba se zase tak moc nezměnilo a tak můžeme použít stejný Migrator s tímto Mambem jako s Joomlou!, skvělé!

Co je tedy nového ve verzi RC6? Nyní máte možnost zvolit, který zásuvný modul chcete spustit (takže můžete exportovat tabulky dle výběru) a pro vývojáře je zde přidána funkce do API pro jednodušší vytvoření SQL automaticky vygenerovaného z frameworku ETLPlugin a přidání SQL před a po spuštění pluginu. Tabulky Core_log_* byly odstraněny, které mohou být pro starší stránky docela velké, což zrychlí vytváření dump souborů.

A stabilní Migrator? Pokud se RC6 bude držet dobře a v následujícím týdnu se neobjeví žádné problémy, stane se RC6 patrně stabilní verzí Migrátoru. Z pohledu Migratoru to znamená, že jsem odstranil většinu chyb a že je jednoduše použitelný. Stabilní verze bude mít nějaké změny ve vztahu k dodávané dokumentací, ale to je pouze kosmetická úprava.

Update verze PHP
Pokud je to možné, aktualizujte na PHP4.4.x nebo vyšší, abyste získali co nejlepší kompatibilitu. Existují totiž dokumentované chyby s verze PHP 4.3.x (speciálně s 4.3.9), proto vám upgrade na poslední verzi ušetří mnoho nervů s migrací i s provozem verze 1.5.

Chyby iconv
Viděl jsem několik iconv chyb spojených se špatnými znaky. Nejčastěji se vše vyřeší, pokud je budete ignorovat, bohužel však mohou způsobovat další problémy. Obvykle, pokud se objeví chyba iconv, to znamená, že data nejsou příliš správná. Zkontrolujte data, zda neobsahují podivné znaky nebo zkuste změnit kódování a podívejte se, zda chyby přetrvávají.

Taktéž jsem viděl chyby při migraci, které byly vyřešeny aplikováním staršího postupu napsaného Davidem Galem pro UTF-8 v 1.0.x na fóru: http://forum.joomla.org/index.php?topic=55065.0 takže zkontrolujte, že jste provedli všechny postupy, speciálně tip “SET NAMES ‘UTF8′”.

Nezapomeňte na předponu!
Migrátor změní předponu na jpd_ bez ohledu na originální předponu stránek. Toto se dělá pro normalizaci předpony. Neznamená to, že nemůžete použít jinou předponu ve vaší 1.5 databázi, ale po migraci je “stará předpona” vždy “jpd_”. Navíc to ale neznamená, že nemůžete exportovat stránky stránky, které nemají předponu ‘jpd_’ prefix, znamená to pouze to, že dump soubor vždy použije předponu ‘jpd_’.

Paměť a časový limit
Pokud máte možnost, přidělte vašemu PHP procesu více paměti a delší čas na spuštění při migraci. To umožní systému vytvořit a nahrát dumpy rychleji, pokud tyto limity zvýšíte a sníží to počet aktualizací stránky abyste zabránili překročení času nebo limitu paměti. Ačkoliv se migrační systém pokouší dělat to nejlepší, přidělení většího prostoru k rozletu mu neuškodí. To se týká zvláště větších Joomla! instalací!

Nepředvídatelné chování 1.0 doplňků
Před migrací si vytvořte malé testovací stránky založené na verzi 1.5 a nainstalujte vaše doplňky pro verzi 1.0 a otestujte je ve zděděném módu (legacy mode). Některé doplňky s verzí 1.5 momentálně nefungují, např. mod_pda a Joombackup, obě dle zpráv na fóru způsobí nefunkčnost Joomly!. Ne všechna rozšíření budou ve verzi 1.5 podporována, proto je dobré je otestovat na nemigrovaných 1.5 stránkách abyste viděli jak fungují před migrací vašich 1.0 stránek.

Želva nebo zajíc?
Podpora Joomly! 1.0 nezmizí tím, že se objeví verze 1.5, což znamená,že nemusíte spěchat s přechodem na 1.5 a mít vše upgradováno. Můžete prostě počkat, až jsou vaše 1.0 doplňky kompatibilní s verzí 1.5. Posečkáním můžete získat lepší podporu třetích stran pro vaše rozšíření a snazší migraci. Pokud používáte především jádro Joomly!, pak je upgrade na 1.5 snadný, pokud máte stránky postavené na doplňcích třetích stran, měli byste kontaktovat jejich vývojáře a ptát se na migrační rozšíření a verzi fungující v 1.5.

SEF
V Joomle! 1.5 jsme aktualizovali SEF tak, aby fungoval lépe, ale je bohužel úplně jiný než ve verzi 1.0. Ti, kteří neinstalovali SEF třetích stran do verze 1.0 by měli povolit zděděný mód a Migrátor zpětných odkazů (Backlink Migration) ve verzi 1.5 by měl správně převést 90% 1.0 SEF URL odkazů. Pokud máte rozšíření SEF třetích stran, systém zpětných odkazů vytvoří seznam SEF odkazů z vaší nabídky. To znamená, že jakýkoliv odkaz, který je v nabídce, bude správně převeden, i když používáte cizí SEF řešení, ale ne všechny odkazy budou převedeny.

Práva souborů
Pokud provádíte migraci, ujistěte se, že má Apache právo zápisu do installation/sql/migration/ a usjitěte se, že máte vytvořenu odkládací složku a že je možno do ní zapisovat (např. /tmp). Migrátor upraví dump soubor před importem do 1.5 a ošetří věci jako různé předpony a překlady. Je opravdu velmi důležité nastavit možnost zápisu do těchto složek.

Ruční vkládání
I když je to jistě nejobtížnější způsob provedení operace, můžete ručně vložit většinu tabulek z dumpu do Joomly!. Musíte si však dát pozor na ruční přejmenovávání klíčů a ujistit se, že zde nejsou žádné problémy. Nejsem si však jistý, jaká je nejlepší a nejjednodušší cesta pro uskutečnění celého procesu, ale je možné, pokud máte již existující 1.5stránky a chcete vložit obsah vašich starých stránek do této nové verze. Jediná tabulka, pro kterou to nebude fungovat je tabulka s nabídkou, to musí být provedeno migračním procesem pro 1.5.

Úpravy jádra a jiné modifikace
Migrátor nepodporuje úpravy jádra a jiné modifikace v databázových tabulkách. Pokud jste instalovali něco jako bridge do systému, který upravuje tabulky jádra, pak nebudou správně migrovány. Migrátor je napsán tak, aby migroval tabulky tak jak jsou, nikoliv jejich upravené formy. Kontaktujte tvůrce bridge, aby vytvořil doplněk Migrátoru dle vašich upravených tabulek (můžete přepsat rozšíření jádra přepsáním vašimi vlastními) pokud byste chtěli migrovat upravené stránky.

Chyby migrace
Pokud se v průběhu migrace objeví chyba, systém vám nedovolí pokusit se o migraci znovu, protože vaše databáze může být v nekonzistentním stavu  (ano, obsahuje chybu!). Znamená to, že pokud se vyskytne chyba v průběhu migrace musíte odstartovat celou instalaci verze 1.5 znovu, abyste získali čistou databázi a systém vám pak umožní vyzkoušet migraci znovu.

Sam Moffat

přeložil Sváťa