Hlavní navigace

Názor ke článku Smysluplné srovnání dvou CMS od Wojtha - Přihodím taky svoji do mlýna :-) Drupal zacla používat...

  • 16. 5. 2008 9:49

    Wojtha (neregistrovaný)

    Přihodím taky svoji do mlýna :-)

    Drupal zacla používat v poslední době Madonna, Pink a Britney Spears ;-)

    Běží na něm taky třeba intranet AOL.

    Absolutně nesouhlasím s tím že by v Drupalu byl problém něco upravit. Problém je spíše v tom že Drupal má naprosto odlišnou architekturu od ostatních CMS a je potřeba se mu dostat malinko pod kůži. Důvodem proč je tak jiný a proč se zdá zpočátku složitější, je jeho unikátní filosofie.

    Většina nováčků skončí u toho, že se snaží nějak upravit šablonu a po pár dnech se na to vykašlou s tím že to nejde. Já sem například dělal 2 weby bez toho abych Drupalu nějak zvlášť rozumněl - měnil jsem jen šablony, s obdivnou úctou jsem používal PHP snippety, kterými zkušenější Drupalisti zásobovali bezradné n00b, jakým jsem byl tehdy i já :-) Pak přišel projekt, který mě donutil ponořit se asi měsíc do API a dokumentace, a pak jsem teprve "prohlédl". (Tehdy ještě neexistovalo moc tutoriálů nebo projektů typu drupal-dojo, kde jsou lekce s videocasty.)

    Teď pro mě v drupalu není problém téměř nic, určitě ne ve webocých aplikacích jako e-shopy, portály, intranety ... limity tu samozřejmě jsou, ale vše je rok od roku lepší a použitelnější. Pokud jsou ty limity nějak překročeny, pak je ale lepší vykašlat se na CMS a udělat raději aplikaci v nějakém "čistém" frameworku.

    Rozdíl mezi Joomlou a Drupalem je v odlišné filosofii - Joomla připomíná Windows, každá komponenta je určitá aplikace, která je většinou zcela samostatná. Drupal má naproti tomu spíše unix/linuxovou filosofii: poskytuje spoustu menších modulů (pro joomlisty: modul=komponenta), že kterých se ta výsledná aplikace vybuduje. Přičemž jeden modul využívá několik dalších modulů. Celkem běžná situace je, že pokud chcete nainstalovat nějaký větší modul, třeba e-shop, musíte nainstalovat třeba i pět dalších modulů, jejichž funkce tento modul používá.

    Druhá "alegorie" přirovnává Joomlu ke stavebnici Lego. Kostičky se naskládají na sebe, propojí se vstupy a výstupy, ale nejdou moc "ohnout". Drupal je naproti tomu jako plastelína, vybereme si plastelínu různých barev (= moduly) a pustíme se do díla. Díly plastelíny netvoří jednotlivé části, ale jsou slepené k sobě a barvy trochu promíchané tak, že tvoří jeden celek. Když se nám něco nelíbí, mužeme plastelínu libovolně ohýbat a tvarovat.

    Ted jsem třeba pro jednu firmu upravoval Joomlu 1.0 & Virtuemart a po dvou letech s Drupalem, jsem z toho byl celkem nešťastný ... Věci, které jsem upravoval třeba 14 dní a musel kvůli tomu upravovat i originální soubory (protože jinak to prostě nešlo) a řešil takové věci, jakože po zapnutí prasárničky typu ArtioSEF, půlka komponent přestala fungovat a já musel řešit workaroundy, bych v Drupalu měl tyhle věci tak za dva dny hotový a bez toho abych zasáhl do originálního kódu...

    Pokud bych měl vypíchnout něco co Joomla nemá:


    Výborný systém práv - každý může mít několik různých roli, drupal si umí poradit s vrstvením práv od různých modulu

    Výborný systém kategorii - kategorie lze různé křížit, neomezená hloubka, tagování

    FormsAPI - formuláře zpracovává přímo jádro drupalu, formuláře se do jádra posílají jako obyčejné asociované pole, definice, validace, uložení a případně speciální vykreslení (pokud nám nestačí defaultni) jsou od sebe oddělené -- takže žádné PHP+HTML mišmaše, stačí 4 funkce: JMENO_form, JMENO_form_va­lidate, JMENO_form_submit a popr. theme_JMENO_form. FormsAPI používají všechny moduly bezvýhradně, díky tomu lze každý formulář upravit bez toho aby se muselo sáhnout na originální kód (stačí si odchytit to asociované pole ~ surový formulář ~ a tam cokoliv přidat/přemís­tit/odstranit/změ­nit), dokonce ani nemusíte vědět v kterém souboru formulář je, stačí zjistit jeho ID.

    Výborný systém obsahu - všechny typy obsahu se zpracovávají přes jádro, výhody podobně jako u FormsAPI. Dále tu je modul CCK = "Content Construction Kit", kde si člověk může naklikat libovoný typ obsahu, a "Views", kde si člověk může zase naklikat, jak si ten libovolný typ obsahu zobrazí.

    U 99% funkcí, které mají nějaký výstup (print, echo) se tento výstup dá překrýt a zpracovat vlastním výstupem (opět bez zásahu do orig. kódu)


    Ufff, nějak mě to psaní chytlo :-)

    Pokud by se někdo chtěl dozvědět o tom, jak se dělají weby v Drupalu, nebo-li co je to ta "Drupal Way", cca za týden 24.5.2008 pořádá Jakub Suchý "První českou drupal konferenci"

    http://www.drupal.cz/články/setkání-akce/první-česká-drupal-konference-24-5-2008