WebToDate/Referenční/Strom kategorií: Porovnání verzí

Z WebToDate
Skočit na navigaciSkočit na vyhledávání
 
(Není zobrazeno 11 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 2: Řádek 2:
[[Category:Referenční]]
[[Category:Referenční]]
== K čemu se používá strom kategorií ==
== K čemu se používá strom kategorií ==
Strom kategorie je základní řídící struktura, která dělí celou webovou prezentaci na jednotlivé sekce a podsekce z hlediska obsahu i přístupových práv. Struktura stromu kategorií a vlastnosti jednotlivých kategorií ovlivňují následující funkce a chování webové prezentace:
Strom kategorií je základní řídící struktura, která dělí celou webovou prezentaci na jednotlivé sekce a podsekce z hlediska obsahu i přístupových práv. Struktura stromu kategorií a vlastnosti jednotlivých kategorií ovlivňují následující funkce a chování webové prezentace:


* Strukturu ukládání souborů do složek na serveru – pokud např. generujeme stránku nebo ukládáme soubor do databáze zdrojů, výchozí cesta k souboru je daná složkami definovanými ve vlastnostech kategorií.
* Strukturu ukládání souborů do složek na serveru – pokud např. generujeme stránku nebo ukládáme soubor do databáze zdrojů, výchozí cesta k souboru je daná složkami definovanými ve vlastnostech kategorií.
Řádek 21: Řádek 21:
* '''Fulltextově prohledávat''' – jedná se o informaci pro modul Fulltext, tímto příznakem se vyznačuje, zda jsou zprávy v dané kategorii pro vyhledávací modul viditelné či nikoliv. Zprávy mohou být umístěny ve více kategoriích, v takovém případě je jedna kategorie označena jako ''výchozí''. V takovém případě o tom, zda je zpráva pro vyhledávání viditelná, rozhoduje právě výchozí kategorie.
* '''Fulltextově prohledávat''' – jedná se o informaci pro modul Fulltext, tímto příznakem se vyznačuje, zda jsou zprávy v dané kategorii pro vyhledávací modul viditelné či nikoliv. Zprávy mohou být umístěny ve více kategoriích, v takovém případě je jedna kategorie označena jako ''výchozí''. V takovém případě o tom, zda je zpráva pro vyhledávání viditelná, rozhoduje právě výchozí kategorie.
* '''Vkládat data''' – příznak udává, zda lze do této kategorie vkládat data jako zprávy či zdroje
* '''Vkládat data''' – příznak udává, zda lze do této kategorie vkládat data jako zprávy či zdroje
* '''Název složky''' – název složky, která se zakládá pro soubory v dané kategorii (generované stránky, soubory v databázi zdrojů). Složky se zakládají automaticky a vnořeně podle struktury stromu kategorií. Název složky je tedy vhodné volit tak, aby vyhovoval konvencím pro použití jako součásti URL adresy.
* '''Priorita''' – lze volitelně zadat celé číslo, které ovlivňuje pořadí kategorie ve výpisech. Např. při generování navigační nabídky se kategorie umístěné ve stejném uzlu řadí primárně podle této priority, sekundárně podle pořadí, v jakém byly vytvořeny.
* '''Priorita''' – lze volitelně zadat celé číslo, které ovlivňuje pořadí kategorie ve výpisech. Např. při generování navigační nabídky se kategorie umístěné ve stejném uzlu řadí primárně podle této priority, sekundárně podle pořadí, v jakém byly vytvořeny.
* '''Vlastní pole – text''' – textové pole, do kterého lze zadat jakýkoliv text
* '''Vlastní pole – text''' – textové pole, do kterého lze zadat jakýkoliv text
* '''Vlastní pole - číslo''' – pole, do kterého lze zadat jakékoliv číslo
* '''Vlastní pole - číslo''' – pole, do kterého lze zadat jakékoliv číslo
Pořadí podkategorií zvolené kategorie lze kromě ruční změny priority měnit i nástrojem, který se zobrazí pomocí tlačítka '''Pořadí podkategorií'''. Tato stránka zobrazí seznam podkategorií zvolené kategorie, kde lze metodou Táhni a pusť měnit jejich pořadí, po změně je třeba tlačítkem '''Uložit změny''' provedené změny uložit. Interně se jedná o automatické přečíslování priorit kategorií.
[[Image:referencniprirucka-stromkategorii-poradi.png|center]]


Dále následují vlastnosti kategorie, které jsou na jazyku závislé. Na následujícím otisku obrazovky je vidět, jak se formulář mění v případě, že je v systému definován více než jeden jazyk – rozšíří se nabídka jazyků v odpovídajícím radiopřepínači, změna hodnoty tohoto přepínače okamžitě zobrazí hodnoty pro vybraný jazyk.
Dále následují vlastnosti kategorie, které jsou na jazyku závislé. Na následujícím otisku obrazovky je vidět, jak se formulář mění v případě, že je v systému definován více než jeden jazyk – rozšíří se nabídka jazyků v odpovídajícím radiopřepínači, změna hodnoty tohoto přepínače okamžitě zobrazí hodnoty pro vybraný jazyk.
Řádek 33: Řádek 38:


* '''Lokalizovaný název''' – název kategorie v daném jazyce, používá se pro navigační nabídky.
* '''Lokalizovaný název''' – název kategorie v daném jazyce, používá se pro navigační nabídky.
* '''Název složky''' – název složky, která se zakládá pro soubory v dané kategorii (generované stránky, soubory v databázi zdrojů). Složky se zakládají automaticky a vnořeně podle struktury stromu kategorií. Název složky je tedy vhodné volit tak, aby vyhovoval konvencím pro použití jako součásti URL adresy.
* '''Popis''' – text opět využitelný v navigačních nabídkách
* '''Popis''' – text opět využitelný v navigačních nabídkách
* '''Součást navigace''' – příznak udává, zda se daná kategorie zahrnuje do funkce generování navigačních nabídek nebo je touto funkcí ignorována. Pokud je nějaká kategorie označena tak, že není součástí navigace a přitom má vytvořeny vnořené kategorie, které do navigace patří, je navigační strom navázán na první nadřazenou kategorii, která do navigace patří. To znamená, že tento případ je možný a je podporován.
* '''Součást navigace''' – příznak udává, zda se daná kategorie zahrnuje do funkce generování navigačních nabídek nebo je touto funkcí ignorována. Pokud je nějaká kategorie označena tak, že není součástí navigace a přitom má vytvořeny vnořené kategorie, které do navigace patří, je navigační strom navázán na první nadřazenou kategorii, která do navigace patří. To znamená, že tento případ je možný a je podporován.
Řádek 39: Řádek 45:
* '''URL''' – lze zadat jakékoliv platné URL, které se má pro danou kategorii vkládat do automaticky generovaných navigací. Smysl má tedy zadat buď URL nebo zvolit výchozí stránku. Pokud jsou vyplněna dvě nebo tři z těchto polí definujících URL v navigacích, přednost při generování navigací má pole URL, pak výchozí zpráva jako druhá v pořadí a nakonec výchozí stránka.
* '''URL''' – lze zadat jakékoliv platné URL, které se má pro danou kategorii vkládat do automaticky generovaných navigací. Smysl má tedy zadat buď URL nebo zvolit výchozí stránku. Pokud jsou vyplněna dvě nebo tři z těchto polí definujících URL v navigacích, přednost při generování navigací má pole URL, pak výchozí zpráva jako druhá v pořadí a nakonec výchozí stránka.
* '''Výchozí předloha''' – lze nepovinně vybrat výchozí předlohu pro zprávy v dané kategorii. Při zadávání zprávy se vybírá předloha pro zobrazení zprávy. Zde místo výběru konkrétní předlohy můžeme ponechat hodnotu ''výchozí''. Pak se předloha hledá buď v definici kategorie nebo v definici publikace. V globálních předvolbách WebToDate lze nastavit, která z těchto dvou voleb má přednost, pokud jsou definovány obě.
* '''Výchozí předloha''' – lze nepovinně vybrat výchozí předlohu pro zprávy v dané kategorii. Při zadávání zprávy se vybírá předloha pro zobrazení zprávy. Zde místo výběru konkrétní předlohy můžeme ponechat hodnotu ''výchozí''. Pak se předloha hledá buď v definici kategorie nebo v definici publikace. V globálních předvolbách WebToDate lze nastavit, která z těchto dvou voleb má přednost, pokud jsou definovány obě.
Výchozí zpráva se zadává pomocí jejího ID do textového pole vedle popisku. Zadání tohoto ID je zjednodušeno následujícím způsobem:
* Vedle pole pro ID je rozevírací nabídka obsahující nejnovějších 5 zpráv z dané kategorie. Výběrem jedné z těchto zpráv se příslušné ID vloží do textového pole.
* Poslední položkou rozevírací nabídky je položka ''Jiná'', která zobrazí dialog pro výběr ID jiné zprávy.
[[Image:referencniprirucka-stromkategorii-vyberzpr.png|center]]
V horní části dialogu je formulář pro vyhledávání zpráv, ve spodní části je seznam zpráv odpovídajících vyhledávanému kritériu. Klikem na šipku v prvním sloupci tohoto seznamu se ID vybrané zprávy vloží do textového pole.


Strom kategorií má jeden "virtuální" kořen zobrazovaný v administračním rozhraní jako ''Strom kategorií''. Pod tímto kořenem se pak nacházejí kategorie nejvyšší úrovně. Je povoleno vytvořit více než jednu kategorii v nejvyšší úrovni, vhodnost takového řešení závisí na konkrétních cílech implementace.
Strom kategorií má jeden "virtuální" kořen zobrazovaný v administračním rozhraní jako ''Strom kategorií''. Pod tímto kořenem se pak nacházejí kategorie nejvyšší úrovně. Je povoleno vytvořit více než jednu kategorii v nejvyšší úrovni, vhodnost takového řešení závisí na konkrétních cílech implementace.
Řádek 78: Řádek 93:


* Lokalizovaný název
* Lokalizovaný název
* URL (buď URL výchozí stránky kategorie nebo URL zadané jako vlastnost kategorie)
* URL (buď URL výchozí stránky kategorie nebo výchozí zprávy nebo URL zadané jako vlastnost kategorie)
* ID kategorie (interní jedinečné číslo)
* ID kategorie (interní jedinečné číslo)
* Popis
* Popis
Řádek 250: Řádek 265:
=== Proces zjednodušeného režimu založení výchozí stránky ===
=== Proces zjednodušeného režimu založení výchozí stránky ===


Proces zjednodušeného zakládání výchozích stránek se spouští, pokud jsou splněny následující podmínky (názvy konstant jsou z konfiguračního souboru ''global.php''):
Proces zjednodušeného zakládání výchozích stránek se spouští, pokud jsou splněny následující podmínky (názvy konstant jsou z konfiguračního souboru ''[[../Konfigurace WebToDate#Globální konfigurace WebToDate|global.php]]''):


* Uživatel zakládající novou kategorii tuto možnost ve formuláři při zakládání nové kategorie zvolil (pokud je konstanta NEW_CATEGORY_REGIME nastavená na 0, nelze tuto možnost zvolit)
* Uživatel zakládající novou kategorii tuto možnost ve formuláři při zakládání nové kategorie zvolil (pokud je konstanta NEW_CATEGORY_REGIME nastavená na 0, nelze tuto možnost zvolit)
Řádek 374: Řádek 389:


* Soubory v privátní zóně nejsou automaticky přístupné anonymním návštěvníkům
* Soubory v privátní zóně nejsou automaticky přístupné anonymním návštěvníkům
* Lze zajistit, aby je mohla zobrazit či stahovat jen omezená skupina registrovaných uživatelů (tuto problematiku řeší rozšiřující moduly '''Neveřejná část''' a '''Registrace a personalizace''')
* Lze zajistit, aby je mohla zobrazit či stahovat jen omezená skupina registrovaných uživatelů (tuto problematiku řeší rozšiřující moduly [[../../Neveřejná část|Neveřejná část]] a [[../../Registrace a personalizace|Registrace a personalizace]])
* Stahování z veřejné zóny je pomalejší, protože neběží přímo, ale přes prezentační PHP skripty.
* Stahování z veřejné zóny je pomalejší, protože neběží přímo, ale přes prezentační PHP skripty.


Řádek 384: Řádek 399:


== Možnosti konfigurace funkčnosti stromu kategorií ==
== Možnosti konfigurace funkčnosti stromu kategorií ==
Základní chování stromu kategorií lze ovlivnit nastaveními v globálním konfiguračním souboru WebToDate ''global.php''. Přehled těchto možností je v následující tabulce.
Základní chování stromu kategorií lze ovlivnit nastaveními v globálním konfiguračním souboru WebToDate ''[[../Konfigurace WebToDate#Globální konfigurace WebToDate|global.php]]''. Přehled těchto možností je v následující tabulce.


{| class="prettytable"
{| class="prettytable"

Aktuální verze z 4. 5. 2020, 08:29

K čemu se používá strom kategorií

Strom kategorií je základní řídící struktura, která dělí celou webovou prezentaci na jednotlivé sekce a podsekce z hlediska obsahu i přístupových práv. Struktura stromu kategorií a vlastnosti jednotlivých kategorií ovlivňují následující funkce a chování webové prezentace:

  • Strukturu ukládání souborů do složek na serveru – pokud např. generujeme stránku nebo ukládáme soubor do databáze zdrojů, výchozí cesta k souboru je daná složkami definovanými ve vlastnostech kategorií.
  • Přístupová práva – každý uzel stromu kategorií je ve vlastnictví jednoho týmu, což má vliv na možnosti zakládat vnořené kategorie, ukládat do kategorie zprávy či zdroje apod.
  • Automaticky generované navigační nabídky – od stromu kategorií se odvozuje struktura automaticky generovaných navigací, přičemž lze ovlivnit URL stránky, na kterou kategorie ukazuje, to, zda se vůbec daná kategorie do navigací zahrnuje apod.
  • Zařazení do stromu kategorií je významná metainformace, se kterou lze dále pracovat jak v administračním rozhraní WebToDate, tak při generování veřejně přístupné prezentace. V redakčním rozhraní lze podle kategorií vyhledávat a filtrovat, v prezentační části lze např. vytvářet seznamy zpráv, které vypisují zprávy dané kategorie (případně v kombinaci s mnoha dalšími kritérii týkajícími se metadat).

Vlastnosti uzlů stromu

Na následujícím obrázku je formulář pro nastavení vlastností kategorie. Formulář je rozdělen na horní část, která obsahuje pole nezávislá na jazyku a spodní část, která obsahuje vlastnosti závislé na konkrétním jazyce.

Každá kategorie má následující vlastnosti nezávislé na jazyku:

  • Systémový název – název kategorie tak, jak se zobrazuje v administračním rozhraní
  • Nadřazená kategorie – kategorie, která je ve stromu kategorií přímo nadřazená dané kategorii (musí být právě jedna s výjimkou kategorií, které jsou v nejvyšší úrovni, tyto kategorie žádnou nadřazenou kategorii nemají)
  • Tým – tým uživatelů, který vlastní danou kategorii
  • Fulltextově prohledávat – jedná se o informaci pro modul Fulltext, tímto příznakem se vyznačuje, zda jsou zprávy v dané kategorii pro vyhledávací modul viditelné či nikoliv. Zprávy mohou být umístěny ve více kategoriích, v takovém případě je jedna kategorie označena jako výchozí. V takovém případě o tom, zda je zpráva pro vyhledávání viditelná, rozhoduje právě výchozí kategorie.
  • Vkládat data – příznak udává, zda lze do této kategorie vkládat data jako zprávy či zdroje
  • Priorita – lze volitelně zadat celé číslo, které ovlivňuje pořadí kategorie ve výpisech. Např. při generování navigační nabídky se kategorie umístěné ve stejném uzlu řadí primárně podle této priority, sekundárně podle pořadí, v jakém byly vytvořeny.
  • Vlastní pole – text – textové pole, do kterého lze zadat jakýkoliv text
  • Vlastní pole - číslo – pole, do kterého lze zadat jakékoliv číslo


Pořadí podkategorií zvolené kategorie lze kromě ruční změny priority měnit i nástrojem, který se zobrazí pomocí tlačítka Pořadí podkategorií. Tato stránka zobrazí seznam podkategorií zvolené kategorie, kde lze metodou Táhni a pusť měnit jejich pořadí, po změně je třeba tlačítkem Uložit změny provedené změny uložit. Interně se jedná o automatické přečíslování priorit kategorií.


Dále následují vlastnosti kategorie, které jsou na jazyku závislé. Na následujícím otisku obrazovky je vidět, jak se formulář mění v případě, že je v systému definován více než jeden jazyk – rozšíří se nabídka jazyků v odpovídajícím radiopřepínači, změna hodnoty tohoto přepínače okamžitě zobrazí hodnoty pro vybraný jazyk.

Jazykově závislé vlastnosti jsou:

  • Lokalizovaný název – název kategorie v daném jazyce, používá se pro navigační nabídky.
  • Název složky – název složky, která se zakládá pro soubory v dané kategorii (generované stránky, soubory v databázi zdrojů). Složky se zakládají automaticky a vnořeně podle struktury stromu kategorií. Název složky je tedy vhodné volit tak, aby vyhovoval konvencím pro použití jako součásti URL adresy.
  • Popis – text opět využitelný v navigačních nabídkách
  • Součást navigace – příznak udává, zda se daná kategorie zahrnuje do funkce generování navigačních nabídek nebo je touto funkcí ignorována. Pokud je nějaká kategorie označena tak, že není součástí navigace a přitom má vytvořeny vnořené kategorie, které do navigace patří, je navigační strom navázán na první nadřazenou kategorii, která do navigace patří. To znamená, že tento případ je možný a je podporován.
  • Výchozí stránka – každá kategorie může mít volitelně pro každý jazyk nejvýše jednu výchozí stránku. Tato stránka je oproti ostatním stránkám vloženým do dané kategorie zvýhodněna v tom, že se na ní vkládá URL do automaticky generovaných navigací a dále v tom, že ze záložky pro strom kategorií je na ni jednoduchý přechod (vybere se kategorie a zavolá funkce Výchozí stránka).
  • Výchozí zpráva - pokud má v URL automaticky generovaných navigací pro danou kategorii figurovat odkaz na nějakou konkrétní zprávu, vybírá se tato zpráva zde.
  • URL – lze zadat jakékoliv platné URL, které se má pro danou kategorii vkládat do automaticky generovaných navigací. Smysl má tedy zadat buď URL nebo zvolit výchozí stránku. Pokud jsou vyplněna dvě nebo tři z těchto polí definujících URL v navigacích, přednost při generování navigací má pole URL, pak výchozí zpráva jako druhá v pořadí a nakonec výchozí stránka.
  • Výchozí předloha – lze nepovinně vybrat výchozí předlohu pro zprávy v dané kategorii. Při zadávání zprávy se vybírá předloha pro zobrazení zprávy. Zde místo výběru konkrétní předlohy můžeme ponechat hodnotu výchozí. Pak se předloha hledá buď v definici kategorie nebo v definici publikace. V globálních předvolbách WebToDate lze nastavit, která z těchto dvou voleb má přednost, pokud jsou definovány obě.

Výchozí zpráva se zadává pomocí jejího ID do textového pole vedle popisku. Zadání tohoto ID je zjednodušeno následujícím způsobem:

  • Vedle pole pro ID je rozevírací nabídka obsahující nejnovějších 5 zpráv z dané kategorie. Výběrem jedné z těchto zpráv se příslušné ID vloží do textového pole.
  • Poslední položkou rozevírací nabídky je položka Jiná, která zobrazí dialog pro výběr ID jiné zprávy.

V horní části dialogu je formulář pro vyhledávání zpráv, ve spodní části je seznam zpráv odpovídajících vyhledávanému kritériu. Klikem na šipku v prvním sloupci tohoto seznamu se ID vybrané zprávy vloží do textového pole.

Strom kategorií má jeden "virtuální" kořen zobrazovaný v administračním rozhraní jako Strom kategorií. Pod tímto kořenem se pak nacházejí kategorie nejvyšší úrovně. Je povoleno vytvořit více než jednu kategorii v nejvyšší úrovni, vhodnost takového řešení závisí na konkrétních cílech implementace.

Poznámka: Kategorie lze libovolně vnořovat podle potřeby, fyzická omezení zde ovšem jsou: může existovat maximálně 85 úrovní vnoření, může existovat maximálně 999 přímých podkategorií dané kategorie.

Typy objektů vkládaných do stromu kategorií

Do stromu kategorií se ukládají následující typy objektů:

  1. Zprávy
  2. Fragmenty
  3. Zdroje
  4. Stránky

Na následujícím otisku obrazovky je např. formulářový prvek pro řazení zpráv do kategorií.


Pro první tři typy objektů platí, že každou položku lze vložit do alespoň jedné kategorie, to znamená, že např. zpráva se může nacházet i ve více kategoriích. Právě jedna kategorie je pak označena jako výchozí.

Pojem výchozí kategorie pak používají následující funkce:

  • Vyhledávání předlohy – pokud je u zprávy zvolena předloha : výchozí a předloha se vyhledává podle kategorie, proběhne vyhledání ve výchozí kategorii, do které zpráva patří.
  • Zobrazování navigací – navigační elementy při zobrazení zprávy se zobrazují kontextově podle toho, kde se daná zpráva ve stromu kategorií nachází. Pokud je zpráva ve více kategoriích, opět se jako řídící bere výchozí kategorie, umístění v dalších kategoriích je pro navigace irelevantní a je tímto nástrojem ignorováno.
  • Fulltextové hledání – o tom, zda je zpráva viditelná z hlediska fulltextu rozhoduje její zařazení do výchozí kategorie.

Pro stránky platí, že každá stránka patří do právě jedné kategorie ve stromu. Výjimkou je speciální typ stránek, tzv. předlohy. Předlohy mají svoje vlastní kategorie předloh – např. Zprávy, Zdroje či kategorie předloh pro jednotlivé moduly.

Strom kategorií a navigace webu

Strom kategorií má úzkou vazbu na automatické generování navigačních nabídek. Tato funkčnost je založena na následujícím principu:

Strom kategorií se nejprve převádí do XML kódu. Tento kód reflektuje stromovou strukturu kategorií a pro každou kategorii obsahuje následující atributy:

  • Lokalizovaný název
  • URL (buď URL výchozí stránky kategorie nebo výchozí zprávy nebo URL zadané jako vlastnost kategorie)
  • ID kategorie (interní jedinečné číslo)
  • Popis
  • Úroveň vnoření

Ukázka takového XML kódu je na následujícím obrázku. Pro účely ladění navigací jej lze získat pomocí funkce Navigace z hlavní nabídky – přejdeme do formuláře pro úpravy definice navigace, poslední položkou formuláře je XML kód stromu a tlačítko Zobrazit.

Do tohoto kódu se vkládají pouze kategorie, které mají příznak Součást navigace.

Vlastní HTML kód navigace pak vzniká XSLT transformací XML kódu stromu kategorií, příklady výsledné podoby jsou na následujících obrázcích.

Příslušné transformace mají k dispozici kromě výše uvedených informací ze stromu kategorií ještě informaci o aktivní kategorii – tou je buď kategorie, ve které se nachází stránka, která se právě generuje, nebo výchozí kategorie, ve které se nachází právě zobrazovaná zpráva. Transformace se vytvářejí v rámci implementace designu. Jedna stránka může používat i více automaticky generovaných navigací – jedná se např. typicky o hlavní svislou navigaci webu, drobečkovou navigaci ale může jít např. i o názvy (element <title''>) stránky apod.

Strom kategorií a přístupová práva

Každá kategorie je ve vlastnictví nějakého týmu. Prvotní postup je zpravidla takový, že administrátor založí kategorie v prvních dvou či prvních několika úrovních a následně u zvolených kategorií změní tým na odpovídající tým uživatelů, kteří budou danou kategorii používat.

To, že kategorii vlastní nějaký tým znamená, že uživatelé, kteří jsou v daném týmu v roli editor, mohou měnit vlastnosti této kategorie a vytvářet v ní podkategorie. Týmy tedy touto funkcí dostávají nástroj, jak vytvářet a spravovat vlastní strukturu své části webu.

Práva oblastí na stránkách se primárně odvozují od kategorie, ve které se stránka nachází, neboli od týmu, který tuto kategorii vlastní. Teprve v případě nutných výjimek je třeba nastavit práva pro danou oblast na dané stránce explicitně.

Předchozí obrázek zobrazuje právě toto explicitní nastavení práv (záložka Práva ve vlastnostech stránky). Pokud jsou práva na nějakou oblast na stránce nastavena individuálně, platí pouze toto explicitní nastavení a implicitní práva odvozená od stromu kategorií pozbývají pro tuto oblast na stránce význam.

Dále může ve stromu kategorií platit restrikce na vkládání obsahu do kategorií. Jsou k dispozici následující volby:

  • 1 – členové týmů mohou řadit data do libovolných kategorií
  • 2 – editoři mohou řadit data do libovolných kategorií, redaktoři jen do těch, do kterých mají přístup
  • 3 – členové týmů mohou řadit data jen do těch kategorií, do kterých mají přístup
Poznámka: Toto nastavení se konfiguruje v globálních předvolbách, jedná se o konstantu TREE_ACCESS_REGIME.

Správa stromu kategorií

Založení nové kategorie

Nová kategorie se zakládá ze stromu kategorií. Vyberte existující kategorii nebo virtuální kořen stromu (nazvaný Strom kategorií) a vyvolejte funkci Nová (buď pomocí kontextové nabídky volané pravým tlačítkem myši, nebo pomocí tlačítka v horní části záložky Strom kategorií).

Zobrazí se formulář pro založení nové kategorie. Povinně se zadává:

  • Systémový název (výchozí hodnota je prázdná)
  • Nadřazená kategorie (výchozí hodnota vyplněná podle předchozí vybrané kategorie, lze ji ale změnit)
  • Tým - zde se nabídka liší podle toho, v jakých je uživatel týmech, administrátor zde má k dispozici všechny týmy, editoři týmů pouze týmy, ve kterých jsou v této roli.

Dále doporučujeme vyplnit tato pole, která nejsou povinná, ale např. kvůli generování navigací či ukládání stránek a souborů je velmi vhodné je pečlivě vyplnit (hned nebo co nejdříve):

  • Všechna nastavení, která jsou ve formuláři formou zaškrtávacích okének (Fulltextově prohledávat, Součást navigace, Vkládat data)
  • Název složky
  • Lokalizovaný název, resp. lokalizované názvy pro jazyky (je nutné pouze, pokud kategorie patří do navigace, ale je poměrně vhodné jej vyplnit hned, protože toto opomenutí může být zdrojem následných chyb).

Při ukládání formuláře se pak kontroluje jednoznačnost:

  • Nelze založit dvě kategorie se stejnou nadřazenou kategorií a stejným systémovým názvem
  • Nelze založit dvě kategorie se stejnou nadřazenou kategorií a stejným názvem složky

Pokud kategorie patří do navigace, je třeba buď zvolit výchozí stránku, nebo zadat URL. Formulář toto při zakládání nové kategorie nekontroluje, protože např. stránky v kategorii lze vytvářet, až když kategorie existuje, ale tuto činnost je vhodné provést co nejdříve.

Na webu běžícím v ostrém provozu doporučujeme nejprve založit novou kategorii s nastavením "není součást navigace", pak připravit a vygenerovat výchozí stránku kategorie a teprve v posledním kroku kategorii označit jako patřící do navigace. Jiný postup vede k riziku, že na úplně jiných stránkách webové prezentace dojde k aktualizaci a přegenerování, do automaticky generovaných navigací se zde již může zapojit nově založené kategorie, tato kategorie ale ještě nebude mít funkční odkaz v navigacích a tudíž dojde k vytvoření nefunkčního hypertextového odkazu v nabídce na stránkách. Tato nežádoucí stavy kromě mnoha dalších vyhledává a vypisuje modul Verifikace - informujte se v příslušné příručce k modulu.

Úprava vlastností existující kategorie

Ve stromu kategorií vyberte požadovanou kategorii a vyvolejte funkci Vlastnosti (buď pomocí kontextové nabídky volané pravým tlačítkem myši, nebo pomocí tlačítka v horní části záložky Strom kategorií). Další postup je stejný jako u založení nové kategorie, změny je třeba potvrdit tlačítkem Uložit.

Smazání kategorie

Ve formuláři pro úpravu vlastností kategorie je tlačítko Smazat. Možnost mazání kategorie je ale omezená, smazat kategorii lze v případě, že na ní nejsou vázané další položky v databázi. Pro mazání tedy platí, že

  • Kategorie nesmí mít podkategorie
  • Kategorie nesmí obsahovat stránky
  • Kategorie nesmí obsahovat zprávy, fragmenty a zdroje
  • Neexistují další závislosti (odkazy na kategorii v objektech jako akce, seznamy, moduly apod.)

Přímý datový obsah kategorie naleznete v záložce Užití formuláře, kde jsou vypsány počty zpráv v kategorii, stránek apod.

Přesun kategorie na jiné místo ve stromu

Kategorii lze přesunout na jiné místo stromu. Ve formuláři pro úpravy vlastností kategorií použijte tlačítko Změnit u pole Nadřazená kategorie. Všechny objekty v přesouvané kategorii (stránky, zprávy apod.) zůstávají, nemění se ani jejich URL. Tato akce je ale umožněna z bezpečnostních důvodů pouze administrátorům WebToDate.

Je zde si třeba uvědomit, že po migraci kategorie na jinou úroveň dojde k tomu, že pro nové objekty (stránky a soubory ve zdrojích) ukládané do migrované kategorie se budou automaticky přidělovat jiná URL, resp. jiná složka. Pokud máme např. kategorii ve třetí úrovni a zakládáme v ní novou stránku, bude výchozí URL ve tvaru

/složka_první_kategorie/složka_druhé_kategorie/složka_třetí kategorie/stranka.htm

Pokud tuto kategorii budeme migrovat do jiné části stromu kategorií, tato URL existujících stránek zůstanou beze změny, v případě, že budeme v migrované kategorii zakládat novou stránku, přidělí se jí URL podle toho, jak je aktuálně umístěná, tedy např.

/složka_jiné_první_kategorie /složka_třetí kategorie/stranka.htm

Všechna tato URL se automaticky předvyplňují a je možné je ručně měnit, nicméně z hlediska pracnosti je vhodné složky v kategoriích dobře nadefinovat a pak automatické předvyplňování plně využívat.

Duplikace kategorie

Kategorii lze duplikovat (tlačítko Duplikovat ve formuláři pro vlastnosti kategorie). Právo duplikovat danou kategorii má buď administrátor, nebo editor týmu, který vlastní kategorii nadřazenou k duplikované kategorii.

Duplikát má následující vlastnosti:

  • Systémový název odvozený od systémového názvu duplikované kategorie se stejnou konvencí pojmenovávání duplikátů jako se používá např. u zpráv.
  • Stejná nadřazená kategorie jako u duplikované kategorie
  • Stejné vlastnosti Fulltextově prohledávat a Vkládat data jako duplikovaná kategorie
  • Součást navigace nastaveno vždy na ne (aby se duplikace okamžitě nechtěně neprojevila na veřejných stránkách)
  • Stejná priorita jako u duplikované kategorie
  • Název složky odvozený od názvu složky duplikované kategorie se stejnou konvencí pojmenovávání duplikátů jako se používá např. u zpráv (v případě, že je prázdný u duplikované kategorie, zůstává prázdný i u duplikátu)
  • Z jazykově závislých vlastností stejné lokalizované názvy, popisy, výchozí předlohy a URL jako u duplikované kategorie (doslovně stejné bez přejmenovávání)
  • Výchozí stránky vždy prázdné

Režimy zakládání kategorií

Zjednodušený režim zakládání výchozích stránek

Z výše popsaných funkcí vyplývá, že možný postup je ten, že v případě, že chce uživatel založit na webu novou rubriku, tak

  • Založí novou kategorii ve stromu kategorií
  • Založí novou stránku v této kategorii a označí ji jako výchozí
  • Vybere této stránce nějakou šablonu
  • Přiřadí na stránku nějaké objekty (zprávy, seznamy, navigace) a vygeneruje.

Kromě této výše popsané možnosti zakládání stránek ovšem existuje zjednodušená varianta. Funkce je orientovaná především na intranetová nasazení, která mají relativně bohatou hierarchii stromu webu a kde stránky v jednotlivých uzlech stromu kategorií vypadají podobně nebo stejně a mají stejnou strukturu. V maximálně možné zjednodušené variantě jde o následující postup:

  • Editor založí novou rubriku (tedy nějaký nový uzel stromu kategorií)
  • Do tohoto uzlu se začnou vkládat nějaké zprávy
  • Uživatelé nic dalšího nebudou dělat, tedy odkaz na novou rubriku se objeví v navigačním menu, rubrika bude mít svou stránku a na ní se zobrazí zprávy do rubriky vložené.

Funkce logicky musí založit výchozí stránku pro danou kategorii. Tato stránka má řadu vlastností, které je třeba nastavit. V zjednodušeném režimu zakládání položek stromu kategorií se toto provede automaticky s využitím výchozích nastavení definovaných globálně administrátorem, vždy lze ovšem přejít do pokročilejšího režimu, kde se všechny vlastnosti nastavují manuálně.

Na následujícím obrázku jsou znázorněny automaticky spouštěné funkce při použití zjednodušeného režimu.

Zjednodušený režim nastavuje pro zakládané stránky automaticky zejména následující vlastnosti:

  • Název stránky
  • URL stránky
  • Šablonu stránky
  • Označení stránky jako výchozí
  • Práva na oblasti
  • Jazyk a značkovací jazyk
  • Přiřazení některých objektů na oblasti (zejména seznamů a navigací, případně fragmentů)

Výsledkem by měla být plně funkční stránka připravená k publikaci – typicky se zvolí připravená univerzální šablona a přiřadí se na ni připravený seznam zobrazující zprávy v dané kategorii, pokud je takto založená stránka navíc zobrazovaná dynamicky, může okamžitě zobrazovat publikované zprávy v dané rubrice.

Celý proces je jednoduché používat, je třeba ale věnovat značnou pozornost konfiguraci pomocí globálních předvoleb, aby bylo dosaženo požadovaného výsledku.

Použití zjednodušeného režimu uživatelem

Ve formuláři pro založení nové kategorie zvolte jeden ze zjednodušených režimů. Lze spustit zjednodušený režim, který zakládá výchozí stránku pouze pro výchozí jazyk, nebo pro všechny jazyky.

Přinejmenším ve druhém případě je třeba provést zpětnou kontrolu výsledku - např. pro lokalizované názvy kategorií se použije zadaný systémový název, což může být v pořádku pro jeden jazyk, ale nikoliv pro více jazyků.

Po volbě některého ze zjednodušených režimů se zobrazí stejný formulář jako v případě pokročilého režimu. Ve formuláři se typicky vyplní následující položky:

  • Systémový název
  • Lokalizovaný název
  • Název složky
  • Všechna zaškrtávací okénka se zpravidla ponechají zaškrtnutá

Pro volbu Zjednodušený režim – výchozí jazyk je toto většinou postačující, v rámci založení kategorie se založí i výchozí stránka a přiřadí se na ní objekty dle nastavení.

Pro volbu Zjednodušený režim – všechny jazyky je třeba se vrátit zpět do vlastností kategorie a doplnit další lokalizované názvy pro další jazyky. Dále je vhodné pro každý jazyk nastavit pole Výchozí předloha – pro vícejazyčné prezentace je vhodné výchozí předlohy pro zprávy rozlišovat na úrovni stromu kategorií, nikoliv na úrovni publikací.

Pokud se funkci nepodaří některou stránku založit, zobrazí se informační hlášení o této skutečnosti. Důvodem je zpravidla nevyhovující nastavení v globálních předvolbách. Neobsahuje-li např. ani jedna konstanta, pomocí kterých se definují URL automaticky zakládaných stránek klíčové slovo pro kód jazyka a přitom je použit Zjednodušený režim – všechny jazyky, nepodaří se založit více než jednu stránku, protože by takto více stránkám bylo přiřazeno stejné URL, což ve WebToDate není možné.

Proces zjednodušeného režimu založení výchozí stránky

Proces zjednodušeného zakládání výchozích stránek se spouští, pokud jsou splněny následující podmínky (názvy konstant jsou z konfiguračního souboru global.php):

  • Uživatel zakládající novou kategorii tuto možnost ve formuláři při zakládání nové kategorie zvolil (pokud je konstanta NEW_CATEGORY_REGIME nastavená na 0, nelze tuto možnost zvolit)
  • Kategorie není v nejvyšší úrovni vnoření, tj. má existující nadřazenou kategorii
  • Je zvolena vlastnost Vkládat data pro tuto kategorii

Proces lze spustit jen při zakládání nové kategorie, nikoliv pro existující kategorii.

Na proces automatického zakládání stránek mají vliv následující parametry:

  • Konstanta NEW_CATEGORY_REGIME – neovlivňuje vlastní algoritmus, ale to, zda jsou příslušné radiopřepínače pro tuto volbu vůbec ve formuláři přítomny a jaké je jejich výchozí nastavení.
  • Konstanta NEW_CATEGORY_PAGE_NAME – slouží k vytvoření cesty k výchozí stránce, konkrétně definuje název souboru (při výchozím nastavení "default.htm")
  • Konstanta NEW_CATEGORY_PAGE_PATH – slouží k vytvoření cesty k výchozí stránce, konkrétně definuje tvar celé cesty bez názvu souboru
  • Konstanta NEW_CATEGORY_PAGE_PROTOTYPE – definuje, kterou stránku ve stromu nadřazených kategorií si algoritmus vezme jako vzor
  • Konstanty NEW_CATEGORY_PAGE_FRAGMENTS, NEW_CATEGORY_PAGE_LISTS a NEW_CATEGORY_PAGE_NAVIGATIONS – definují, co se na výchozí stránku automaticky přiřazuje

Proces probíhá v následujících krocích:

  1. Zakládá se nová stránka, která bude označena jako výchozí
  2. Přiřazují se požadované objekty na stránku
  3. Stránka se generuje

V prvním kroku dochází k zakládání stránky, kde se automaticky stanovuje řada parametrů stránky a vlastností kategorie závislých na jazyku:

Název stránky Systémový název zakládané kategorie + mezera + zkratka jazyka
Titulek stránky prázdný
URL stránky URL sestavené podle konfiguračních parametrů NEW_CATEGORY_PAGE_PATH a NEW_CATEGORY_PAGE_NAME - oba parametry se spojí a vznikne kompletní URL stránky, např. "/prezentace/ceniky/default.htm".
Kategorie stránky Kategorie, která je právě zakládaná
Jazyk Odpovídající jazyk
Značkovací jazyk První v seznamu značkovacích jazyků (podle výchozí instalace HTML)
Šablona Stejné jako u vzorové stránky
Umístění Stejné jako u vzorové stránky
Server Stejné jako u vzorové stránky
Lokalizovaný název kategorie Systémový název zakládané kategorie
Výchozí předloha kategorie Stejné jako u vzorové kategorie
Popis kategorie prázdný
URL kategorie prázdný

V druhém kroku se na stránku přiřazují objekty. Platí následující:

  • Objekty se řadí na stránky na stejné oblasti a pod stejným stylem (a dalšími nastaveními jako priorita či staticky / dynamicky) jako na vzorové stránce.
  • Pokud je konstanta NEW_CATEGORY_PAGE_FRAGMENTS = 1, vkládají se stejné fragmenty, jako jsou na vzorové stránce.
  • Pokud je konstanta NEW_CATEGORY_PAGE_LISTS > 0, vkládají se seznamy dle vzorové stránky. Je-li hodnota této konstanty 2, vkládají se všechny seznamy podle vzorové stránky, pokud je hodnota této konstanty 1, vkládají se jen ty, které jsou parametrizované podle kategorie stránky, na které se nacházejí.
  • Pokud je konstanta NEW_CATEGORY_PAGE_NAVIGATIONS = 1, přiřazují se na stránku navigace se stejným nastavením jako u vzorové stránky.

Třetím krokem je vygenerování založené stránky

Přístupová práva k oblastem algoritmus nijak nenastavuje, což v praxi znamená, že přístupová práva ke všem oblastem na vytvořené stránce bude mít tým, který vlastní založenou kategorii.

Výběr vzorové stránky

Celá možnost nasazení této funkčnosti závisí na tom, zda lze globálně stanovit, jak má systém najít stránku, která bude sloužit jako vzor pro automaticky zakládané stránky.

Pro volbu vzorové stránky při automatickém zakládání nové stránky slouží konstanta

define( 'NEW_CATEGORY_PAGE_PROTOTYPE', 0 );

Možné hodnoty této konstanty jsou:

  • 0 – za vzor pro automatické zakládání výchozích stránek slouží přímo nadřazená kategorie
  • Celé kladné číslo - za vzor pro automatické zakládání výchozích stránek slouží nadřazená kategorie v dané úrovni vnoření, 1= nejvyšší úroveň, 2 = druhá nejvyšší úroveň atd.

Výchozí hodnota pro novou instalaci je 2.

To znamená, že proces automatického zakládání hledá zásadně vzorovou stránku v kategoriích, které jsou nadřazené právě zakládané kategorii, pomocí konfigurační konstanty lze definovat globální pravidlo, která z nadřazených kategorií to bude, pravidlo se přitom odvíjí od vnořování těchto kategorií.

Veřejná a privátní zóna

Ačkoliv tento pojem přímo nesouvisí se stromem kategorií, ale spíše s objekty do stromu ukládanými (konkrétně se stránkami a soubory ve zdrojích), je vhodné tyto termíny vysvětlit již v této kapitole.

Termín zóna znamená způsob uložení souboru. Veřejná zóna je část diskového prostoru www serveru, která je přímo přístupná přes virtuální adresáře serveru ve veřejné části a všechny soubory, které se zde nacházejí, jsou automaticky přístupné všem anonymním uživatelům. Založíme-li tedy stránku např. s URL /adresar/stranka.htm ve veřejné zóně, znamená to, že skutečně fyzicky je takovýto soubor vytvořen v odpovídající složce hned pod kořenovým adresářem webu a je okamžitě přístupný všem anonymním návštěvníkům webu a jeho plná URL adresa je www.server.cz/adresar/stranka.htm.

Pokud ovšem u stránky zvolíme, že je umístěná v privátní zóně a zadáme URL ve tvaru /adresar/stranka.htm, soubor je sice vytvořen v zadané složce, ale v úplně jiné adresářové struktuře WebToDate, která je umístěna mimo přímo přístupné virtuální adresáře www serveru. V důsledku to znamená, že URL adresa www.server.cz/adresar/stranka.htm neexistuje, místo toho se stránka zobrazuje pomocí prezentačního skriptu na adrese www.server.cz/scripts/detail.php?pgid=xxx, kde xxx je ID stránky. Analogicky toto platí i pro soubory, pouze místo prezentačního skriptu detail.php se používá skript file.php.

Umístění do veřejné zóny tedy znamená následující:

  • Soubory (tj. soubory ve zdrojích a generované stránky) jsou okamžitě po vytvoření v systému dostupné všem anonymním návštěvníkům.
  • Ve veřejné zóně nelze zajistit, aby k souboru měla přístup jen omezená skupina uživatelů
  • Stahování z veřejné zóny (HTML stránky či jiného typu souboru) je velmi rychlé, protože se jedná o statické soubory, které se na straně www serveru nijak nezpracovávají.

Umístění do privátní zóny naopak znamená:

  • Soubory v privátní zóně nejsou automaticky přístupné anonymním návštěvníkům
  • Lze zajistit, aby je mohla zobrazit či stahovat jen omezená skupina registrovaných uživatelů (tuto problematiku řeší rozšiřující moduly Neveřejná část a Registrace a personalizace)
  • Stahování z veřejné zóny je pomalejší, protože neběží přímo, ale přes prezentační PHP skripty.

V globálních předvolbách WebToDate lze navíc zvolit chování vůči souborům v ještě nepublikovaných zdrojích. Pokud není zdroj ve stavu Publikováno a obsahuje nějaké soubory, lze globálně navolit, zda se tyto soubory umístí nejprve do privátní zóny (přestože uživatel zvolil veřejnou zónu) a teprve v momentě publikace zdroje se do veřejné zóny přesunou, nebo jsou do veřejné zóny umístěny ihned (tj. může je teoreticky kdokoliv stáhnout, přestože nejsou ještě označeny za publikované).

Způsob práce s veřejnou a privátní zónou je třeba předem pečlivě zvážit a nakonfigurovat. Pokud jsou položky umístěny do privátní zóny, je obecně větší kontrola nad možností tyto položky stahovat, ale stahování je náročnější na systémové zdroje.

Jak pro stránky, tak pro soubory ve zdrojích lze nakonfigurovat i možnost výběru vzhledem k uživatelům - lze např. privátní zónu úplně vypnout nebo naopak vynutit ukládání všech souborů do privátní zóny nebo ponechat tuto volbu na uživateli. Více viz kapitola Globální konfigurace WebToDate.

Možnosti konfigurace funkčnosti stromu kategorií

Základní chování stromu kategorií lze ovlivnit nastaveními v globálním konfiguračním souboru WebToDate global.php. Přehled těchto možností je v následující tabulce.

Přístupová práva ke stromu webu Lze přepnout režim kontroly řazení zpráv do stromu s následujícími možnostmi:
  • Členové týmů mohou řadit do libovolných kategorií
  • Editoři mohou řadit do libovolných kategorií, redaktoři jen do těch, do kterých mají přístup
  • Členové týmů mohou řadit jen do kategorií, do kterých mají přístup

Lze zvolit, zda uživatelé v roli editor mají možnost zakládat nové podkategorie kategorií, které patří týmům, v nichž jsou členy.

Zjednodušený režim tvorby stránek Pro interface zakládání kategorií lze nastavit výchozí volbu pro zakládání stránek:
  • Pokročilý režim
  • Zjednodušený režim – výchozí jazyk
  • Zjednodušený režim – všechny jazyky
  • Pro způsob zakládání výchozích stránek lze nastavit:
  • Název souboru pro výchozí stránku (standardně default.htm)
  • Způsob výchozího sestavování cesty ke stránkám
  • Odvozovat šablony a přiřazení objektů od přímo nadřazené kategorie / nejvyšší nadřazené kategorie
  • Automaticky přidat na oblasti podle vzoru všechny fragmenty
  • Automaticky přidat na oblasti podle vzoru všechny seznamy / seznamy parametrizované podle kategorie / žádné seznamy
  • Automaticky přidat na stránku podle vzoru navigace
Předlohy pro zprávy Lze nastavit, zda se při zobrazení zprávy jako výchozí objekt pro nalezení předlohy bere výchozí kategorie zprávy nebo publikace jako předchozích verzích WebToDate.
Veřejná a privátní zóna pro stránky Lze nastavit název podadresáře adresáře offlinedata, do kterého se ukládají stránky v privátní zóně. Lze nastavit výchozí volbu ukládání stránek (výběr veřejné či privátní zóny).

Podrobný popis konfiguračních konstant naleznete v kapitole Globální konfigurace WebToDate.

Strom kategorií a jazykové verze

Strom kategorií obsahuje podporu vícejazyčných webů. Tato podpora spočívá v následujícím:

  • Každá kategorie má lokalizované názvy pro všechny jazykové mutace.
  • Každá kategorie dovoluje specifikovat URL pro navigace pro každý jazyk zvlášť (buď výchozí stránku nebo přímo zadané URL).
  • Při generování navigace se použije jazykové varianta navigace podle jazyka generované stránky či zobrazované zprávy.

Pokud tedy máte více jazykových mutací webu ve stejné struktuře, doporučujeme vytvořit jeden strom kategorií pro všechny jazyky, definovat všechny jazykově závislé vlastnosti kategorií a jazykové verze zpráv či stránek ukládat vždy do stejného uzlu stromu.

Nic ovšem nebrání tomu, aby byl pro každý jazyk založen jiný strom kategorií (resp. jiná část stromu). Tuto variantu použijte v případě, že jednotlivé jazykové mutace mají odlišnou strukturu prezentace (a patrně i odlišný rozsah apod.). Pak platí následující:

  • Na úrovni XSLT transformací bude nutné zajistit, aby se na stránkách generovaly odpovídající navigace. Pro každou jazykovou mutaci bude patrně třeba vytvořit jiné transformace, které berou v potaz jen odpovídající větev stromu kategorií.
  • Jazykové verze zpráv a stránek nejsou omezeny v tom, že by se musely nacházet ve stromu kategorií na stejném místě. Umístění jazykových verzí těchto objektů je libovolné.
  • Pokud je v dané implementaci plánované fulltextové hledání pouze v daném jazyce, není třeba tento problém nijak řešit v souvislosti se stromem kategorií, jazyk je vlastnost zprávy, se kterou vyhledávací modul pracuje bez ohledu na strom kategorií.