Drupal – instalace a základní koncepty
Po předchozím „navnaďujícím“ článku je na čase přejít k něčemu prakticky využitelnému. Tento článek se bude věnovat instalaci, která v případě Drupalu nemusí být pro začátečníky úplně triviální, a vysvětlení základních principů a pojmů, bez kterých se ve světě Drupalu neobejdeme.
Instalace
Před dalším pokračováním bude nejlepší Drupal základním způsobem zprovoznit, abyste si některé popisované věci mohli rovnou vyzkoušet. Některé CMS přicházejí s instalačním skriptem, takže většinou stačí prohlížečem navštívit nějakou definovanou stránku a o všechno se již CMS postará sám. V případě Drupalu se instalátor bohužel vyskytuje pouze na seznamu dlouho plánovaných funkcí, na druhou stranu není instalace ničím, co by se nedalo při troše snahy zvládnout.
Budete potřebovat hosting s podporou PHP a buďto MySQL nebo PostgreSQL, což je dnes prakticky všude samozřejmostí. Osobně doporučuji kombinaci Apache + mod_rewrite + PHP 5 + MySQL, protože právě na této platformě se setkáte s nejmenším počtem problémů (z vlastní zkušenosti však mohu potvrdit, že bez větších problémů vše rozchodíte i na IIS serveru v kombinaci s isapi_rewrite).
Instalace probíhá v následujících krocích:
- Z webu drupal.org si stáhněte aktuální verzi (v současnosti 4.7.x), soubor drupal-x.y.z.tar.gz rozbalte do libovolného adresáře a tento adresář přes FTP nahrajte na server.
- Nyní musíte manuálně vytvořit databázi. SQL skripty najdete v distribuci Drupalu ve složce database. Většinou na svém hostingu budete mít nainstalovaného phpMyAdmin, kde na záložce „Import“ nebo „SQL“ vyberte správný soubor podle používané verze databáze, nejčastěji se bude jednat o database.4.1.mysql. Všimněte si, že v instalačním SQL skriptu je u každé tabulky uvedeno kódování utf8, takže nebudete mít problémy s češtinou.
- Nyní už stačí jen Drupalu říct, jak se má k databázi připojit. To provedete editací souboru sites/default/settings.php, kam přidáte řádek
$db_url = "mysql://username:password@servername/databasename";
, samozřejmě s aktuálními hodnotami. Drupal rovněž podporuje situaci, kdy jednu jeho instalaci používáte jako CMS k několika různým webům. Složka sites vám potom umožňuje definovat konfigurace pro jednotlivé weby, ale pro naše základní účely se tím nyní zabývat nemusíme.
To je vše. Pokud nyní prohlížečem navštívíte stránku http://example.com/[instalační cesta Drupalu]
, měli byste být přivítáni úvodní obrazovkou, která vás bude vybízet k vytvoření prvního, „superuživatelského“ účtu a bude poskytovat pár dalších informací. Účet vám vřele doporučuji vytvořit, jinak si svou instalaci Drupalu příliš neužijete.
S instalačním procesem souvisí ještě několik dalších kroků, jako například rozchození Cool URIs pomocí mod_rewrite, ale tím by se článek neúnosně protahoval. Věřím, že si s tímto úkolem v případě potřeby zdárně poradíte sami.
Pokud jste během instalace narazili na nějaké problémy, vězte, že nejste první ani poslední. V takovém případě doporučuji navštívit dedikované fórum Drupalu, které shodou okolností patří k těm nejaktivnějším. Na závěr se ještě zmíním o „videocastu“ Installing Drupal 4.7, kde se můžete podívat na instalační proces vizuálně.
Základní koncepty
Pokud jste nedočkaví a už už si chcete Drupal vyzkoušet, vřele vám to doporučuji. Dříve nebo později však narazíte na speciální terminologii nebo na koncepty, které nemusejí být na první pohled zcela zřejmé. Možná tedy bude užitečnější, když nejdříve strávíte pár okamžiků čtením – řada věcí pak ztratí svůj tajemný závoj. Aby nebylo povídání jen teoretické, na konci budou vždy uvedeny zajímavé odkazy, které se daného tématu týkají.
Interní cesty Drupalu
Ještě předtím, než se pustíme do popisu jednotlivých aspektů Drupalu, měli byste vědět, jak Drupal zpracovává URL. Pokud chci zobrazit stránku na adrese http://example.com/index.php?q=nejaka/cesta
, požádal jsem Drupal o zdroj ležící na jeho interní cestě nejaka/cesta
. Pokud je zapnuta podpora pro hezká URL, může adresa vypadat http://example.com/nejaka/cesta/
, což ovšem na interní cestě Drupalu nic nemění. Pokud tedy uvedu, že nastavení komentářů najdete na cestě admin/comment
, mělo by vám nyní být jasné, jak se na danou stránku dostat (vždy se samozřejmě můžete také proklikat).
Všechny cesty mohou mít v Drupalu své aliasy, čehož silně doporučuji využívat. Ve výchozím stavu totiž Drupal tvoří URL jako například http://example.com/?=node/123
, což je špatné nejen proto, že koncový uživatel netuší, co záhadného se skrývá pod číslem 123, ale také mu nebude vůbec jasné, proč se v URL objevuje slovo „uzel“. Daleko lepší je cestě node/123
přidělit alias, například blog/drupal-je-super
. Pomocí modulu pathauto se navíc mohou vhodné URL aliasy generovat automaticky.
Obsah středem pozornosti
Zcela ústředním pojmem je pro Drupal takzvaný „node“, česky uzel. Přes podivně znějící název, který dává smysl nejspíš jen lidem seznámeným s teorií grafů, se jedná o poměrně jednoduchou věc – node je jednotka obsahu. Například příspěvek na blogu je node, stránka s kontakty je node, anketa je node a podobně. Každý node má také svůj typ. Například všechny ankety jsou typu anketa, všechny příspěvky v blogu jsou typu příspěvek v blogu a podobně. Typ má svůj název a sadu polí, například stránka obsahuje nadpis a obsah, zatímco anketa obsahuje otázku a několik možností.
Ať je obsah jakéhokoli typu, lze nad ním vykonávat určité operace, které jsou společné napříč celým Drupalem. Libovolnému obsahu tak lze například povolit nebo zakázat komentáře, poslat ho do fronty moderování, obsah může být verzován a podobně. Pomocí modulu Views je možno na libovolný obsah vytvářet vlastní pohledy, což lze využít například pro zobrazení nejčtenějších příspěvků a podobně.
Základní typy obsahu jsou vestavěny, takže můžete hned začít psát svůj blog, tvořit web s hierarchickou strukturou nebo zprovoznit diskusní fórum. Největší silou Drupalu je ale to, že si můžete velmi snadno definovat typy vlastní (navíc ani nemusíte umět programovat, pomocí speciálních modulů lze nové typy tvořit přes webové rozhraní). Nemůže se tedy stát, že byste si přáli vložit nějaký „divoký“ obsah a Drupal vám to neumožnil.
Posledním důležitým tématem, týkajícím se obsahu, je jeho filtrování. Uživatelský vstup je do databáze uložen přesně tak, jak ho uživatel zadal, ale na výstupu se aplikují takzvané filtry. Filtr může například převádět konce řádků na odpovídající zalomení v HTML nebo může odstraňovat nepovolené HTML elementy. Posloupnost filtrů tvoří takzvaný formát vstupu, například vestavěný formát vstupu „Filtrované HTML“ funguje tak, že se nejdříve aplikuje „HTML filtr“ a potom filtr „Zlom konců řádků“. Jako obvykle, není problém přidat vlastní filtr, takže můžete narazit na weby používající formátovače Texy! nebo Textile.
Odkazy:
- Vestavěné typy obsahu
- CCK modul pro definici vlastních typů obsahu
- Views modul pro tvorbu uživatelských pohledů na obsah
- Správa obsahu: admin/node
- Přidání obsahu s výběrem správného typu: node/add
- Nastavení jednotlivých typů obsahu: admin/settings/content-types
- Formáty vstupu: admin/filters
Komentáře
Na prvním místě je potřeba říct, že komentář není node. Ukládá se v oddělené tabulce a nemá tak přístup ke všem vymoženostem, které jsou dostupné pro běžný obsah – komentář například nelze zařadit do kategorie.
V Drupalu je možno přidávat komentáře k libovolnému obsahu, pokud to administrátor povolí. Komentáře mohou být moderovány a lze určit, zda návštěvník nesmí, může nebo musí vyplnit kontaktní informace.
Zajímavou možností je vybrat způsob zobrazení komentářů, přičemž lze volit mezi „plochým“ zobrazením a zobrazením podle vláken. Právě podpora vláken není zdaleka ve všech CMS samozřejmostí a pro některé weby se nepochybně jedná o užitečnou vlastnost.
Odkazy:
- Správa komentářů: admin/comment
- Konfigurace komentářů: admin/comment/configure
Kategorie
Pokud jsou noví uživatelé něčím zmateni ze všeho nejvíc, pak se většinou jedná o systém kategorizace obsahu. Drupal používá pro začátečníky velmi nevhodnou terminologii, kterou je ale nutno přijmout a používat, jinak by například v otázce do fóra mohlo dojít k nejednoznačnostem.
- Taxonomie (taxonomy) je kategorizační nebo také klasifikační subsystém Drupalu. Kromě jednoduché kategorizace slouží také k vytváření struktury webu.
- Slovník (vocabulary) je sada kategorií.
- Termín (term) je kategorií samotnou.
Příkladem může být slovník témata
obsahující kategorie (termíny) počítače
, rodina
, práce
a další.
V základní rovině se nejedná o nic složitého, ale plné ovládnutí taxonomického subsystému patří k jedněm z nejobtížnějších úloh, na jaké v Drupalu narazíte. Existuje řada modulů, které kategorizační funkce doplňují nebo rozšiřují, což činí situaci ještě nepřehlednější. S jistotou lze říct jen to, že v rámci této podkapitolky v žádném případě nelze klasifikační systém popsat dostatečně. Navíc se rostoucí popularitě těší nový modul category, který kompletně nahrazuje původní funkčnost, a je dost dobře možné, že po nějakém čase převezme hlavní úlohu a bude distribuován spolu s Drupalem. Kategorizačním možnostem se proto budeme ještě podrobněji věnovat.
Odkazy:
- Vytváření a správa kategorií: admin/taxonomy
- Tutorial na webu cookingwithdrupal.org
- Domovská stránka projektu category module
Uživatelské role
Drupal je plně víceuživatelský CMS a na mnoha úrovních podporuje omezení funkčnosti podle aktuálně přihlášeného uživatele. Drupal přichází se dvěma výchozími rolemi – anonymous a authenticated, což bude pro základní účely většinou stačit, ale není problém definovat si role vlastní. Uživatel může vystupovat hned v několika rolích. První vytvořený uživatel (user/1) je tak trochu výjimečný, protože má univerzální práva úplně ke všemu. Je-li pro váš web kritická bezpečnost, dělejte pod tímto účtem jen nezbytné minimum věcí.
Odkazy:
- Správa rolí a jejich práv: admin/access
Přizpůsobení vzhledu
Poslední důležitou oblastí, která bude zajímat většinu uživatelů Drupalu, je přizpůsobování, respektive vytváření vlastního vzhledu. Také tentokrát se jedná o poměrně rozsáhlou a zajímavou oblast, která by si zasloužila samostatné pojednání, takže nyní se podíváme pouze na důležité základy.
První dobrou zprávou je, že vzhled Drupalu je přizpůsobitelný takřka dokonale. Veškerý HTML výstup se generuje pomocí speciálních „vzhledových“ funkcí, které je možno v případě potřeby nahradit vlastními. Aby vzhled mohli připravovat designéři a ne pouze PHP programátoři, podporuje Drupal několik šablonovacích systémů, mezi jinými například XTemplate nebo populární Smarty. (Nebyl by to ovšem Drupal, aby nešlo přidat zcela libovolný šablonovací systém.) Od verze 4.7 se jako výchozí šablonovací systém používá PHPTemplate, který dynamické části stránky generuje pomocí běžného PHP. Nemusíte se tak učit žádnou novou syntaxi.
Webová stránka je v Drupalu rozdělena na takzvané regiony, přičemž standardně jsou nabízeny hlavička, levý a pravý postranní sloupec, hlavní plocha a patička. Do těchto regionů lze umístit takzvané bloky – příkladem budiž blok pro přihlášení, blok s nejnovějšími příspěvky a podobně. Bloky mohou přidávat jak moduly, tak autorizovaní uživatelé. Nejedná se o nic obtížného.
Odkazy:
- Theme developer’s guide
- Témata vzhledu ke stažení
- Nastavení témat: admin/themes
Rozšíření funkčnosti
Na úplný závěr ještě musím zmínit skutečnost, že pro Drupal existují desítky a stovky modulů, které rozšiřují jeho funkčnost. Základní instalace Drupalu obsahuje takovou množinu funkcí, která základním způsobem uspokojí potřeby většiny uživatelů, je ale skoro jisté, že v daném konkrétním případě budete potřebovat nějaký ten modul doinstalovat. V takovém případě navštivte stránku modulů a porozhlédněte se.
Experimentujte. Po tomto článku máte dostatek informací, abyste si s Drupalem mohli začít hrát. Všechno se sice nestihlo probrat úplně do detailů, ale od toho tu přeci série článků jsou…
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Responzivní design: Proč by ho neměl ignorovat žádný vývojář?
27. listopadu 2023 -
Nejlevnější VPS: To je nový Cloud Server Mini od ZonerCloud
4. června 2024 -
Od iPhonu po Android: Ultra HDR přináší nový standard fotografií
1. listopadu 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024