Nástrahy kategorií v Drupalu
Je to již skoro měsíc, co zde vyšel první článek. A kromě toho, že jsem se stal "blogerem", jsem se také začal seznamovat s CMS Drupal. Od první chvíle mě napadala otázka, jak jednoduše kategorizovat obsah. Nelámal jsem si s tím hlavu a ládoval jsem všechny články do defaultně vytvořeného cointaineru "obsah". Předpokládaje,že to vyřeším později.
Časem jsem prohledal nastavení Drupalu, trochu zagoogloval, ale nikde jsem nenašel snadné vytvořeni kategorii. Sice mi Google poradil, že tyhle vymoženosti obstarává modul "taxonomy", ale jeho jednoduchost a přívětivost limituje k nule. Našel jsem tedy modul "Category". Po jeho instalaci jsem zatrhnul všechny category moduly, což byla chyba. Najednou totiž neviděli nepřihlášení uživatelé žádné články. Zhnuseně jsem modul "Category" vypnul a doufal, že někdo z kamarádů blogerů tento problém vyřeší místo mě.
Jako první tento problém vyřešil můj šéf. Použil ale Taxonomy, trápil se s tím tři hodiny a uďelal to ještě dříve než napsal první článek. To se mi ale nelíbilo a tak jsem čekal, že Jocho se toho ujme a vymyslí něco jednoduššího.
Bohužel/bohudík další krok udělal zase šéf. Natolik si oblíbil Drupal, že se rozhodnul ho nasadit na intranet pro firemní účely. Nahodil čistý Drupal, napsal pár článků a nechal mě a Jocha, ať uděláme zbytek. Také byl tak hodný a poradil nám, ať použijeme modul "category". Jak jsem slyšel o modulu "category", tak jsem se raději od budování tohoto intranetového webu, po předchozích zkušenostech, distancoval. Navíc Jocho vypadal dostatečně zapáleně. :) Po chvíli Jocho narazil na stejný problém, neregistrovaným uživatelům se nezobrazovaly žádné články. Na druhou stranu našel řešení, stačilo anonymous uživatelům přidat oprávnění "administrovat uzly". Řesení to bylo, ale trochy bezpečnostně kritické. Anonymous uživatelé pak totiž mohli editovat všechny članky a uzly obecně.
Po několika pokusech jsme našli chybu. Jocho, stejně jako já, nainstaloval všechny moduly z balíku category. Bohužel modul "Category access control lite", zakázal přístup anonymous uživatelům k článkům. Nevím, zda to je jeho primární funkcí, nebo jsme ho nebyli schopni správně nastavit, ale jednoduchým vypnutím tohoto modulu se problém vyřešil.
Nastal již relativně snadný úkol, vytvořit novou položku menu, v ní nový container. Do containeru vytvořit kategorie, do kterých se již snadno vloží články. Snadné, ne? Jocho by mohl vyprávět, trvalo mu asi hodinu, než vložil první kategorii tam kde má být a naplnil ji testovacími články. Poté zhnuseně odešel domů a raději mi to přenechal. A já nad seřazením zbývajících článků strávil skoro dvě hodiny. Objevovali se problémy, že po editaci kategorie utekla do jiného cointaineru, nebo se alespoň skryla. Popřípadě po vložení článku do nové kategorie se tam tento článek objevil dvakrát. Jiné se neoběvovaly vůbec atd.
Jaké z toho plyne ponaučeni? Nikdy nezapínat modul "Category access control lite". A pokud teprve hodláte začít s Drupalem, doporučuji si obsah rozkategorizovat dříve, než vytvoříte první obsah. Ušetříte si pak hafoo potíží. ;-) Možná nám všem nějaký čtenář poradí, jak kategore řešit ještě snadněji. Popřípadě přihoďte nějaké snadné HOWTO, či odkaz do komentářů pod článkem.
Já bych to asi shrnul takto:
Pokud potřebujete pouze jednoduché členěné (bez popisu kategorií a bez podkategorií) použijte jednodušší taxonomy (vytvořte např taxonomy Navigace a do slovníku už názvy kategorií). Doporučuji pak ale upravit v pathauto v Category path settings pouze na [catpath] (aby se negenerovaly url typu ".../navigace/neco").
Pokud ovšem chcete trošku pokrořilejší správu kategorií, použijte Category.
- odpovědět
Vložil Petr Svoboda (bez ověření), 18. Prosinec 2007 - 8:21