Drupal 8: co vám bude chybět po instalaci pro jednoduchý web

Ve finální verzi je Drupal 8 k dispozici již od konce minulého roku. Pro jednoduché weby je určitě použitelný, nasazení na něčem větším bych se ale bál. Z prostého důvodu – jsem líný řešit problémy s tím související. Zde je výčet několika z nich.

Reklama

Některé problémy související s Drupalem 8 v podstatě vyplývají z jeho výchozího nastavení a projevovaly se i v Drupalu 7. Je to možná otázka vkusu, pro mě představují zbytečné zdržování při nové instalaci a z toho důvodu jsem si také připravil vlastní výchozí instalaci, kterou při tvorbě webů používám. Rád šetřím čas svůj i čas klientů.

Jiné problémy se týkají jádra Drupalu, další zase souvisí s dostupností některých široce používaných modulů. Vše se dá nakonec nějak řešit, ale s pohodlím, na které jsem zvyklý u Drupalu 7 se to zkrátka nedá srovnat. Je jistě příjemné mít v referencích ukázku práce s Drupalem 8 na produkčním prostředí.

Je fajn mít k dispozici skvělé API založené na Symfony a Twigu. Je fajn mít možnost dopsat si chybějící věci. Já osobně si nechci zatěžovat život, když to není potřeba. Drupal 7 bude podporován ještě několik let, takže jsem toho názoru, že Drupal 8 je třeba nechat vyzrát.

Zde je několik velkých ale, kvůli kterým se k Drupalu 8 pro nasazení na produkčním prostředí stavím rezervovaně. Aby nedošlo k mýlce – v zásadě se mi líbí více jak sedmička, a věci níže popsané mohou vzít rychle za své a přestanou být překážkou.

Nízký editor a výchozí formát Basic HTML

Chápu, že kvůli bezpečnosti je jako výchozí formát nastaven Basic HTML. Beru to. Nevzpomínám si ale v posledních letech na web, kde bych potřeboval, aby tento formát byl výchozí. Naopak, nemožnost používat komplet celé formátování je pro uživatele svazující. Zvlášť, když jim máte vysvětlovat rozdíly ve formátech textu, filtrech a mezi Basic HTML a Full HTML.

Přitom když jako výchozí nastavíte Full HTML a až druhé v řadě Basic HTML, o nic nejde. Práva na Full HTML má stejně jenom admin, dokud to nezměníte, a ostatní dále fungují pouze se základním HTML. Čili z mého pohledu drobná úprava po instalaci, bez negativního dopadu, ale s velkým přínosem pro správce webu.

S úpravou obsahu souvisí i editor. Je jistě výborné, že je v Drupalu 8 zabudovaný CKeditor a člověk se nemusí zdržovat instalací doplňkového modulu. Méně potěšitelná je skutečnost, že tento editor je nastaven tak, že v praxi je téměř nepoužitelný. Jeho okno má totiž málo řádků a uživatel jej musí při každé editaci ručně natahovat na výšku.

Jistě, pole pro zadávání víceřádkového textu lze nastavit s výchozím počtem řádků. Pokud nevíte, je to trochu jinak, než v Drupalu 7: Struktura > Typy obsahu > Základní stránka > Manage form display, ozubené kolečko u příslušného políčka a nastavení Řádky.

Jenže CKeditor na tuto úpravu absolutně nereflektuje. Má tedy vliv jen v případě, že použijete textový formát bez napojeného editoru, nebo nějakou alternativu k CKeditoru. Já si pro www.knihadrupal.cz vybral nevizuální BUEditor. I proto, že se mi hodila možnost rychle upravovat HTML a doplňovat do něj třídy Bootstrapu. Pro běžné uživatele to ale není.

Nelze vložit existující obrázek

Alternativa v podobě BUEditoru má jeden nedostatek. Neumožňuje nahrávání obrázků. Funguje sice se známým IMCE, ale nikoli s výchozím nahrávačem, který je v Drupalu 8 u CKeditoru. Alespoň prozatím.

Drupal 8: nahrávání obrázku v editoru

Každopádně, pokud zůstaneme u výchozího CKeditoru, moc si nepolepšíme. Obrázky lze sice nahrát a vložit, ale z mně neznámého důvodu je není možné vložit opakovaně. Chcete v jiném článku vložit obrázek, který jste do textu už dali jinde? Musíte si zkopírovat jeho URL a tu vložit nikoli do nějakého dialogu pro vložení obrázku, ale dokonce si editor přepnout do HTML a tam ručně napsat kód značky IMG. Pro začátečníka „ideální“. Za mě tedy zlaté IMCE coby doplňkový modul.

Třídění obrázků do podsložek?

Když už jsme u nahrávání obrázků na web. Pomiňme nastavení obrázkového políčka, zůstávám v editoru. V jeho nastavení u daného textového formátu je možné zvolit složku v rámci sites/default/files, kam budou obrázky nahrávané editorem umístěny. Ovšem nic víc a ani nejsou nějak automaticky tříděny. Výsledkem pak může být jedna složka s obrovským množstvím souborů, čehož jsem se snažil u všech webů vždy vyvarovat.

Drupal 8: definice složky pro nahrávání obrázku v editoru

Řešením je opět IMCE, kde si člověk vybere vlastní složku, do které chce obrázek umístit. Moc nechápu, že to nikomu ve vývojovém týmu nevadí, WordPress má třídění nahrávaných obrázků do podsložek už dlouho, přičemž tím, kde obrázek skončí, uživatele ani neobtěžuje.

Nastavení systému souborů nelze změnit z adminu

Poněkud nepříjemně mě překvapilo, že není možné měnit výchozí složku pro nahrávání souborů z administrace, jako tomu bylo u předchozích verzí Drupalu. Asi to nebude extra problém.

Nemožnost nastavení složky se soubory v Drupalu 8

Ale jsem zvyklý na umístění souborů do sites/default/files a pokud si Drupal 8 nainstaluju do Acquia Dev Desktopu, automaticky mi vznikne něco jako sites/lokální-doména/files. Bez možnosti to změnit jinak, než ručním zásahem do settings.php.

Vytváření obsahu vyžaduje moc klikání

Jako člověk zvyklý na modul Administration menu jsem čekal, jak se zpříjemní přístup k vytváření obsahu v Drupalu 8 a jeho nové admin liště v porovnání s výchozím Toolbarem v Drupalu 7.

A musím říci, že nic moc. Pro vytvoření nového záznamu je třeba kliknout na:

  1. Content
  2. Přidat obsah
  3. Daný typ obsahu

Jistě, můžete si připravit zkratku, ale pak to budou minimálně kliknutí dvě. Zkratky a daná zkratka. Za mě tedy zůstává doplňkové Administration menu nepřekonané.

Metatagy – zatím s polovičatým řešením

Modul pro zadávání a generování metatagů mi od počátku vydání finálky Drupalu 8 chyběl. Teď je pár dní k dispozici ve verzi označené jako stabilní, nicméně:

Neumožňuje zadávání metatagů na úrovní konkrétního uzlu, jsou generovány automaticky podle vzorků z připraveného nastavení. (Umožňuje, je potřeba přidat jako nové pole ze skupiny Obecné, pak se objeví klasicky v seznamu vertikálních záložek v editaci)

Do kódu se generuje nějaký binec s HTML entitami. Například pro titulku jsem vyplnil vlastní text a do kódu se přesto generuje kromě tohoto textu ještě první odstavec stránky navíc s HTML entitami značek H1 a DIV.

Řešit se to samozřejmě dá doplněním políček do zadávání obsahu a jejich vypisováním ve správném tvaru na úrovni šablony. Ale je to zbytečně pracné.

Pathauto opět chybí

Na WordPressu mi vadí asi tisíce věcí, ale jedno se musí nechat. Dávno pochopili, že automatické vygenerování URL adresy na základě nadpisu stránky, nebo podle nějakého jiného pravidla, by mělo být součástí jádra systému.

Nikoli tak v Drupalu 8. Ten nadále spoléhá na doplňkový modul Pathauto. Objevil se pro osmičku až nedávno ve stabilní verzi – označené ovšem jako alpha a závislé na dalších modulech Token a Chaos tool suite. Nicméně funguje.

Textový formát bez editoru

Pro vkládání reklam, kód pro Twitter či Facebooku a podobných věcí je fajn mít možnost vložit čistý kód bez dalšího formátování. V Drupalu 8 to není možné, respektive musíte si nadefinovat vlastní textový formát bez filtrů. Z praxe vím, že je častý požadavek vkládat nějaký kód, u kterého nepotřebuji editor a různé odstraňování či formátování HTML značek ze strany filtrů je na škodu.

Rozbalené menu

Možná další drobnost a buzerace z mé strany, ale chybí mi rozbalovací menu. Není nic trapnějšího, když na kurzu vysvětluji vytvoření hierarchie v menu a zanoření položek navigace do sebe. „No jo pane Polzere a proč nejsou ty zanořené položky vidět?“

Drupal 8 mě v tomto nepotěšil. Jistě, jde především o otázku toho, jak se menu nastyluje a nastaví v tématu vzhledu. Ale proč to nemůže výchozí téma vzhledu Bartik umět?

A když už najdete téma vzhledu, které to dovede, jako třeba Boostrap 3, tak budete trochu zmateni z toho, že menu není rozbalovací do doby, než přejdete na stránku definovanou jako nadřazená položka. Proč? Protože je nutné nejprve tuto položku menu nastavit jako rozbalenou. V Drupalu 6 to šlo v pohodě jedním klepnutím z přehledu položek v menu, v sedmičce se muselo jít do editace konkrétní položky a v Drupalu 8 taktéž. V sedmičce to pro pohodlnost řeším modulem Menu Expanded, pro osmičku zatím není.

XML sitemap shodí web

No a poslední z rýpnutí – modul XML sitemap byl naposledy aktualizován začátkem února, ale stále není použitelný. Po jeho zapnutí přestane fungovat administrační stránka.

Další drobnosti

Podobně jako výše uvedený se chová i aktuální verze modulu EU Cookie Compliance. Co mi vadí poněkud více, jsou drobné chyby projevující se při provozu Drupalu 8 na PHP 7. S každou novou verzí je jich méně, ale netěší mě to. Nicméně i s PHP 5.6 a OPcode cache je Drupal 8 perfektně rychlý.

Pro nezkušené je docela zmatečné i varovné hlášení o nenastaveném Trusted Host Settings. Vůbec, ale vůbec si nejsem jistý, zda jej začátečník pochopí a bude vědět, co a kam doplnit. A proč. Tipuju, že to pár lidí od Drupalu 8 odradí. A možná zbytečně, přestože bezpečnost je důležitá.

Drupal 8 mi přijde jako pokrok proti sedmičce. Jen si zkrátka budeme muset počkat, až trochu dozraje, zatím je sice stabilní, ale s řadou drobných, byť řešitelných, problémů. A i přes drobné zádrhely si stále myslím, že je pro větší weby lepší, než WordPress, neřku-li Joomla.

Tagy: 

Reklama

Komentáře

Díky za článek, mám podobný názor, ono to dost souvisí se směrováním Drupalu 8 spíše jako enterprise řešení než řešení pro klikače bez znalostí programování. Pro klikače bude muset vzniknout nástupce Drupal Gardens (které stále používají Drupal 7 a zřejmě se už nevyvíjí).

Našel jsem chybičku Některé problémy související s Drupalem 8 v podstatě vyplývají z jeho výchozího nastavení a projevovaly se i v Drupalu 8 Drupalu 7.

Díky, opraveno. S tím enterprise řešením souvisí i ta velikost instalačky/jádra. Aktualizace přes drush je v pohodě, ale kopírování takovýho molochu přes pomalé FTP někam třeba na lowcost hosting v USA (HostGator, GoDaddy, A2hosting) asi bude za trest.

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

To musim potvrdit. Mam hostgator a drupal som daval cez FTPS, čo je este pomalsie a musim povedat ze to trvalo teda niekolko hodin. Tusim okolo 4 - 5 hodin. Bolo to davnejsie tak presne neviem ale priblizne to tolko trvalo.

Metatagy - "Neumožňuje zadávání metatagů na úrovní konkrétního uzlu" - treba k nodu pripojit nove pole typu metatags.

To jsem zaznamenal už na DrupalConu ve Vídni, ale jsem asi úplně blbej, protože to pole tam nevidím :)

Aha, nalezeno. Buď se to objevilo až v současné verzi, nebo fakt pro oči nevidím :-)

Ten rozhozený meta description pro titulku jde nějak řešit?

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

Dobrý den, v první řadě díky za článek, pár rad jsem z něho načerpal. Teprve s D8 začínám a jsem těžce zklamán, co vše mi tu nejde a jaké moduly pro něj nejsou.

Nyní mám problém. Existuje řešení na správu vlastností obrázku v textu? Na D6 jsem kliknul v editoru na ikonu obrázku a mohl jsem hejbat s rozlišením. Na D8 je jen možnost obrázek nahrát, pomocí IMCE ho aspoň dostanu do složky rozumně, protože i Tokeny tu nějak nefungují. Ale jak nastavit další vlastnosti obrázku bez přepnutí do kódu?

Řešíte někdo nějak? Děkuji za tipy.

Jojo, to je důvod, proč třeba s Maxiorlem zatím čekám. Moc rozumné to s obrázky v textu není. Jde to řešit s Paragraphs, jde to řešit s modulem Media a spol. (viz distribuce Thunder CMS pro inspiraci), ale tak pěkně a odlehčeně, jako v sedmičce nee. Nejvíce mi vadí právě absence tokenu pro třídění obrázků do složek při nahrávání přes inline images.

Možná mrkněte na toto: CKEditor Upload Image

 

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

Migroval jsem z šestky a mám problém s řazením komentářů. Nevíte, kde se to dá nastavit tak, aby byly nejnovější nahoře?

Hm, to je problém. Buď si na to můžete udělat View, nebo přebít výchozí řazení v jádře Drupalu dle tohoto návodu http://www.lohmeyer.rocks/blog/2017/03/02/0080-reverse-core-threaded-com…

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

Přidat komentář