Upgrade či migrace na Drupal 8 krok za krokem

Nový Drupal 8 se od svých předchozích verzí liší v mnoha věcech a jednou z nich je i způsob přechodu ze starší verze. Na klasický upgradovací postup zapomeňte. Místo toho se naučte provádět migraci. Dobrá zpráva je, že to není až tak složité.

Reklama

Když jsme upgradovali ze starších verzí Drupalu na novější, byl postup podobný jako při aktualizacích v rámci jedné verze. Tedy hodně stručně: offline režim, zapnutí tématu vzhledu Garland ze základního jádra, vypnutí modulů, smazání všeho krom složky se soubory, nakopírování nového jádra, nakopírování modulů, nastavení nového settings.php, spuštění update.php, držení palců, aby při aktualizaci databázové struktury nedošlo k problému a kontrola výsledku. Následně zapnutí nového tématu vzhledu a nahození webu do provozu.

V případě Drupalu 8 se však postup zásadně liší. Přestože slovo upgrade se vyskytuje i v mém následujícím návodu, lepší a výstižnější pojmenování celého procesu je ale migrace. V praxi to totiž vypadá tak, že si postavíte nový web a obsah plus některá nastavení z toho starého do něj zmigrujete.

Potřebujete tedy dva weby, starý a nový. V následujícím návodu vám popíšu, jak proces migrace vypadá. Pro migraci menších webů, tedy takových, na kterých pracujete sami nebo je možné je jednoduše překopírovat do počítače, doporučuji využít nástroj Acquia Dev Desktop, který v počítači vytváří běhové prostředí pro běh neomezeného množství webů na Drupalu. V následujícím návodu s ním počítám.

Rozběhejte si lokální weby s Drupalem

Spusťte Acquia Dev Desktop a zvolte si v něm import stávajícího webu. Do složky v počítači si překopírujte web z hostingu a vyexportujte jeho databázi. Následně v Dev Desktopu vyberte složku, do které jste web nakopírovali. Zvolte, že máte MySQL dump file a tlačítkem Browse jej najděte.

Nezapomeňte také upravit lokální název webu, tedy část adresy, pod kterou bude v počítači dostupný. Já jsem použil název webu doplněný slovem old.

Acquia Dev Desktop

Po dokončení importu starého webu si připravte novou instalaci webu s Drupalem 8. Opět tedy v Acquia Dev Desktopu, jen nyní zvolte, že chcete vytvořit web nový. Dev Desktop nabídne výběr několika distribucí a základních instalací Drupalu. Zvolte aktuální verzi osmičky a klepněte na odkaz Install. V dobře případy článku to byl Drupal 8.0.1.

Acquia Dev Desktop

V následujícím dialogu pro vytvoření nového webu  vyberte složku, kde bude umístěn (pozor, ať jej omylem nenainstalujete do stejné složky, jako starý web), zadejte jeho název a nechejte vytvořit novou databázi:

Acquia Dev Desktop

Poté, co jej Dev Desktop do počítače nakopíruje, zobrazí vám odkaz, pod kterým je nový web v počítači dostupný. Klikněte na něj, web se otevře ve výchozím webovém prohlížeči a spustí se klasický instalátor. Ten předpokládám zvládnete projít, jinak byste se asi do migrace na Drupal 8 vůbec nepouštěli.

Zastavím se zde u jediné věci – nastavení databáze bude díky Dev Desktopu předvyplněné, takže jej nijak neměňte a ani se nesnažte shánět nějaké jiné přístupy. To, že je to bez hesla by vás rovněž nemělo vyvést z míry. Prostě pokračujte na další krok instalace.

Instalace Drupalu 8

Nainstalujte si modul Drupal Upgrade a další potřebné

K tomu, abyste spustili migrovací proces, je základní instalace Drupalu 8 připravena jen částečně. Drupal 8 sice obsahuje modul pro migraci, nicméně ten nenabízí uživatelské rozhraní a nemá ani podporu pro příkazový řádek a nástroj drush. I v příkazovém řádku lze migraci provádět, já se v návodu budu věnovat jen té možná srozumitelnější operaci v prohlížeči.

Uživatelské rozhraní pro migraci v Drupalu 8 doplníte modulem Drupal Upgrade. Časem by se měl objevit přímo v jádře, zatím tedy nyní takto doplňkově. Modul zapněte, bude vyžadovat i aktivací migrovacích modulů, které jsou součástí jádra Drupalu.

Zapnutí migračních modulů

Následně si do své instalace Drupalu 8 nakopírujte všechny moduly, které budete na webu chtít používat. Zda se přenese jejich nastavení a obsah, bude záviset na tom, zda jejich tvůrci vytvořili i migrační můstek v těchto modulech.

Spouštíme migraci na Drupal 8

Máte-li vše výše uvedené hotovo, přejděte v novém webu na adresu /upgrade. Uvidíte rekapitulaci v podstatě výše uvedených informací. Je zde zmíněno i zálohování webu a skutečnost, že by měl mít možnost koukat do databáze a na soubory webu starého, což je asi z podstaty věci samozřejmé. Jelikož pracujeme na lokální kopii, můžeme klidně vypustit přepnutí webu do režimu údržby a pokračovat na další část migrace.

Spuštění migrace na Drupal 8

Ta je již o něco zajímavější a vyžaduje vaši plnou pozornost. Musíte totiž zadat údaje pro připojení k databázi STARÉHO webu, který jste si do počítače do Dev Desktopu nakopírovali. Takže v podstatě zde vyplníme to, co v importním průvodci na začátku celého postupu. Nezapomeňte, že databáze v Dev Desktopu má nestandardní číslo portu, které je tedy rovněž potřeba přepsat.

Aby bylo možné překopírovat soubory umístěné například v obrázkových políčkách, zadejte jejich umístění zadáním absolutní cesty ke složce se starým webem. V mém případě vidíte, jak by to vypadalo na OS X, ve Windows to bude podobné.

Spuštění migrace na Drupal 8

V další části vám migrační modul zobrazení seznam modulů ve starém a novém webu spolu s informací, zda se je podaří zmigrovat. Pokud je ve sloupci Cíl slovo Missing, pak buď daný modul nemáte v novém Drupalu připraven, nebo prostě nepodporuje migrační mechanismus a jeho nastavení budete muset do nového Drupalu překlikat.

Spuštění migrace na Drupal 8

Stále máte možnost se vrátit a například doplnit chybějící moduly. Ve spodní části tohoto přehledu najdete naopak seznam položek, které zmigrovat půjde. Momentálně to jsou bloky, komentáře, obsah, filtry, nastavení stylů obrázků, kategorie, uživatelé a další položky.

Spuštění migrace na Drupal 8

Klepnutím na tlačítko Perform upgrade celý proces migrace spustíte. Jeho délka závisí na počtu položek ve starém webu. Pokud nejde o obří projekt, mělo by být do pár minut hotovo, zobrazí se vám titulní strana webu a do logu se vloží informace o průběhu migrace.

Drupal 8 po migraci

Rovněž byste nyní měli vidět převedený obsah, obrázky, uživatele, dokonce i název webu, slogan, bloky a položky menu. Zbývá web celý znovu ponastavovat, nahodit nějaké pěkné téma vzhledu a může jít do provozu.

Moje zkušenosti s upgradem na Drupal 8

Aneb proč zatím nemám žádný web na osmičce. Jakkoli je základní jádro Drupalu 8 pěkné a použitelné, stále jsem přesvědčen o tom, že celá platforma ještě není vhodná pro migraci větších webů nebo takových, kde jste zvyklí na pohodlné ovládání a záleží vám na SEO.

A také si myslím, že v současné chvíli je provoz webu s Drupalem 8 spíše otázkou prestiže a machrování, než racionální úvahy. Pro pokusy je ale ta správná doba.

Co mě zatím vadí a zklamalo mě? V prvé řadě asi absence migračního mechanismu pro modul Views. To je v mých očích zcela zásadní nedostatek. Na Views stojí celá řada webů a překlikávat jejich nastavení ručně do nového webu je tedy „opruz“.

V případě migrace z Drupalu 6, která by měla být dle popisu dořešena už lépe, než migrace ze sedmičky, se mi v Drupalu 8 zdvojily formáty textu. Není to až tak velký problém, ale samozřejmě poněkud vadí, když máte dvakrát Full HTML, kdy jeden je s editorem a druhý ne.

Ne vždy se spolehlivě převádějí obrázky a další soubory. Položky menu se převedou, kupodivu jsem při pokusech ale nenarazil na kombinaci, kdy by se mi rovněž aktivoval blok s hlavním menu na správné místo v tématu vzhledu.

Pár dalších drobností by se ještě našlo. Celkově mi pro provoz Drupalu 8 bez ohledu na funkčnost migrace, chybí podpora modulů jako Global Redirect, Transliteration, XML Sitemap a Metatag. Některé fungují částečně, jiné vůbec, něco lze řešit na úrovni tématu vzhledu. Nicméně nemyslím si, že už nastala vhodná doba přecházet na Drupal 8.

Také mě docela zklamalo, že ne vše funguje zcela bez problémů pod PHP 7, tedy v případě některých doplňkových modulů. Očekával bych, že je vývojáři připraví již s ohledem na přítomnost rovněž revoluční nové verze našeho oblíbeného programovacího jazyka.

Jinak ještě připomínám článek Je váš web připraven pro migraci na Drupal 8? na webu SvětCMS, kde se rozvíte, jak rychle zjistit, zda jsou všechny moduly používané na vašem starém webu k dispozici I pro Drupal 8.

Tagy: 

Reklama

Přidat komentář