WebToDate/Referenční/Workflow obsahu: Porovnání verzí

Z WebToDate
Skočit na navigaciSkočit na vyhledávání
Bajkvl (diskuse | příspěvky)
 
(Není zobrazeno 32 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
[[Category:WebToDate 4.1 Referenční]]
[[Category:WebToDate Referenční]]
[[Category:Referenční]]
[[Category:Referenční]]
== Zpracování obsahu z hlediska workflow ==
== Zpracování obsahu z hlediska workflow ==
Řádek 6: Řádek 6:
[[Image:referencniprirucka-workflowobsahu-img088.png|center]]
[[Image:referencniprirucka-workflowobsahu-img088.png|center]]


Tento diagram ovšem nezahrnuje možné události ohledně verzí zpráv. Práce s verzemi má rovněž vliv na přechod mezi stavy a lze nakonfigurovat, jaké chování je požadováno např. při publikaci nové verze zprávy apod.
Tento diagram ovšem nezahrnuje možné události ohledně revizí zpráv. Práce s revizemi má rovněž vliv na přechod mezi stavy a lze nakonfigurovat, jaké chování je požadováno např. při publikaci nové revize zprávy apod.


Uživatel v roli ''redaktor'' vkládá zprávu a předává ji ke schválení. V dalším kroku uživatel v roli ''editor'' zprávu kontroluje, schvaluje a rozhoduje o způsobu její publikace. Nakonec mohou nastoupit automatizované procesy řešící případné ukončení platnosti.
Uživatel v roli ''redaktor'' vkládá zprávu a předává ji ke schválení. V dalším kroku uživatel v roli ''editor'' zprávu kontroluje, schvaluje a rozhoduje o způsobu její publikace. Nakonec mohou nastoupit automatizované procesy řešící případné ukončení platnosti.
Řádek 34: Řádek 34:
| '''Schváleno'''
| '''Schváleno'''
| Položka je schválená a připravená k publikaci. Tento stav se používá nejméně často a je vhodný v následujících případech:
| Položka je schválená a připravená k publikaci. Tento stav se používá nejméně často a je vhodný v následujících případech:
Editor chce vyznačit, že zprávu zkontroloval a případně upravil. Je připravená k publikaci a editor chce sám manuálně rozhodnout o času její publikace.
*Editor chce vyznačit, že zprávu zkontroloval a případně upravil. Je připravená k publikaci a editor chce sám manuálně rozhodnout o času její publikace.
Chceme použít metodu automatického přepínání z tohoto stavu na Publikováno při generování stránky pomocí plánované úlohy.
*Chceme použít metodu automatického přepínání z tohoto stavu na Publikováno při generování stránky pomocí plánované úlohy.


|-
|-
Řádek 76: Řádek 76:
Je důležité si uvědomit, že korespondující automatickou publikaci či naopak odstranění zprávy z webu provádí plánovaná úloha '''Expirace'''. Z toho vyplývá následující:
Je důležité si uvědomit, že korespondující automatickou publikaci či naopak odstranění zprávy z webu provádí plánovaná úloha '''Expirace'''. Z toho vyplývá následující:


* Pokud taková úloha není instalována (k variantě '''Standard''' nutno dokoupit) nebo není automaticky spouštěna, k žádné změně nedojde a zadané časové údaje nemají žádný praktický dopad. Např. při pokusu o zobrazení celého textu zprávy pomocí prezentačního skriptu ''detail.php'' se neposuzují zadané časové údaje, ale pouze stav zprávy.
* Pokud taková úloha není instalována nebo není automaticky spouštěna, k žádné změně nedojde a zadané časové údaje nemají žádný praktický dopad. Např. při pokusu o zobrazení celého textu zprávy pomocí prezentačního skriptu ''detail.php'' se neposuzují zadané časové údaje, ale pouze stav zprávy.
* Plánovaná úloha neběží kontinuálně, ale spouští se v pravidelných intervalech, které se nastavují v časování úlohy. Pokud je např. úloha nastavena na spouštění každou celou hodinu a zadaný čas publikace je 10:25, doje k publikaci až v 11:00.
* Plánovaná úloha neběží kontinuálně, ale spouští se v pravidelných intervalech, které se nastavují v časování úlohy. Pokud je např. úloha nastavena na spouštění každou celou hodinu a zadaný čas publikace je 10:25, doje k publikaci až v 11:00.


Řádek 94: Řádek 94:
* Pro automatickou publikaci platí, že pokud je zpráva přiřazena na stránku individuálně, stránka se při změně stavu na ''Publikováno'' generuje. Tato funkce ale nepracuje se seznamy, nezjišťuje se, zda daná zpráva náhodou nevyhovuje nějakému kritériu některého ze seznamů. Pokud potřebujete to, aby zprávy byly publikované v určený čas a zároveň se ihned zobrazily ve stránkách v seznamech, jedinou možnosti je za expirační úlohou automaticky spouštět úlohu pro generování stránek s volbou "včetně podstromu". Tím je požadovaného efektu dosaženo, ovšem za cenu, že se mohou zbytečně přegenerovávat stránky, které by jinak nebylo nutné znovu generovat.
* Pro automatickou publikaci platí, že pokud je zpráva přiřazena na stránku individuálně, stránka se při změně stavu na ''Publikováno'' generuje. Tato funkce ale nepracuje se seznamy, nezjišťuje se, zda daná zpráva náhodou nevyhovuje nějakému kritériu některého ze seznamů. Pokud potřebujete to, aby zprávy byly publikované v určený čas a zároveň se ihned zobrazily ve stránkách v seznamech, jedinou možnosti je za expirační úlohou automaticky spouštět úlohu pro generování stránek s volbou "včetně podstromu". Tím je požadovaného efektu dosaženo, ovšem za cenu, že se mohou zbytečně přegenerovávat stránky, které by jinak nebylo nutné znovu generovat.


== Verze zpráv ==
== Revize zpráv ==
=== K čemu jsou určeny verze zpráv ===
=== K čemu jsou určeny revize zpráv ===


WebToDate podporuje práci s verzemi zpráv, přičemž zvolený způsob verzování slouží primárně k přípravě nových verzí dokumentů a k definování posloupností verzí, které mají být postupně v čase publikovány a nahrazovat předchozí znění.
WebToDate podporuje práci s revizemi zpráv, přičemž zvolený způsob slouží primárně k přípravě nových revizí dokumentů a k definování posloupností revizí, které mají být postupně v čase publikovány a nahrazovat předchozí znění.


Rámcově se jedná o následující přístup:
Interně je spojena práce s revizemi a jazykovými verzemi zpráv. Používá se následující terminologie:


* Každá verze je ve WebToDate uložena jako samostatná zpráva, přičemž v databázi zpráv existuje informace o tom, která zpráva je předchozí verzí dané zprávy (pokud taková existuje). Verze navíc mají pořadové číslování.
* '''Revize''' je další verze dané zprávy v pořadí v čase, je ve stejném jazyce jako předchozí verze
* Maximálně jedna verze je na veřejné části publikovaná (tj. ve stavu ''Publikováno''), ostatní verze musí být nutně v jiných stavech.
* '''Jazyková verze''' je stejná zpráva, ale v jiném jazyce.
* Je podporována náhrada jedné verze za druhou. To znamená, že je maximálně pro uživatele zjednodušena operace, při které se publikuje nová verze, odstraňuje stará verze a nová verze má zaujmout místo staré verze (co se týká umístění zpráv v oblastech apod.)
* Funkčnost je podporována na úrovni plánované úlohy pro expiraci. Lze např. naplánovat dopředu platnost několika verzí (dle datumů platnosti), plánovaná úloha zajistí náhrady staré verze za novou a korektní převody stavů zpráv.
* Funkce pro vypršení platnosti je konfigurovatelná – lze zvolit, zda zprávy a jejich verze, kterým končí platnost jsou odstraňovány (tj. převáděny do stavu ''Platnost vypršela'') nebo archivovány (tj. převáděny do stavu ''Archivováno''). Navíc tato změna stavu může být závislá na to, zda zpráva má novou publikovanou verzi – můžeme např. chtít, aby zpráva, které vypršela platnost a nemá novou publikovanou verzi byla zařazena do archívu, ale zpráva, která má novou publikovanou verzi byla naopak odstraněna.


Rámcově se jedná z hlediska revizí o následující přístup:
* Každá revize je ve WebToDate uložena jako samostatná zpráva, přičemž v databázi zpráv existuje informace o tom, která zpráva je jakou revizí dané zprávy (pokud taková existuje). Revize mají pořadové číslování.
* Maximálně jedna revize je na veřejné části publikovaná (tj. ve stavu ''Publikováno''), ostatní revize musí být nutně v jiných stavech.
* Je podporována náhrada jedné revize za druhou. To znamená, že je maximálně pro uživatele zjednodušena operace, při které se publikuje nová revize , odstraňuje stará revize a nová revize má zaujmout místo staré revize (co se týká umístění zpráv v oblastech apod.)
* Funkčnost je podporována na úrovni plánované úlohy pro expiraci. Lze např. naplánovat dopředu platnost několika revizí (dle data platnosti), plánovaná úloha zajistí náhrady staré revize za novou a korektní převody stavů zpráv.
* Funkce pro vypršení platnosti je konfigurovatelná – lze zvolit, zda zprávy a jejich revize, kterým končí platnost, jsou odstraňovány (tj. převáděny do stavu ''Platnost vypršela'') nebo archivovány (tj. převáděny do stavu ''Archivováno''). Navíc tato změna stavu může být závislá na to, zda zpráva má novou publikovanou revizi – můžeme např. chtít, aby zpráva, které vypršela platnost a nemá novou publikovanou revizi byla zařazena do archívu, ale zpráva, která má novou publikovanou revizi byla naopak odstraněna.




Typický životní cyklus verzí zobrazuje následující diagram.
Typický životní cyklus verzí zobrazuje následující diagram.




[[Image:referencniprirucka-workflowobsahu-img092.png|center]]
[[Image:referencniprirucka-workflowobsahu-img092.png|center]]


Verze 1 je zpráva, která byla publikována v minulosti a nyní je neplatná (typicky je ve stavu ''Platnost vypršela''). Aktuální verze 2 je ve stavu ''Publikováno'' a umístěná na různých stránkách webu, připravuje se další verze 3, které je momentálně např. ve stavu ''Ke schválení''.


Revize 1 je zpráva, která byla publikována v minulosti a nyní je neplatná (typicky je ve stavu ''Platnost vypršela''). Aktuální revize 2 je ve stavu ''Publikováno'' a umístěná na různých stránkách webu, připravuje se další revize 3, které je momentálně např. ve stavu ''Ke schválení''.




Uživateli zpracovávajícímu obsah je především daná možnost:
Uživateli zpracovávajícímu obsah je především daná možnost:


* Založit novou verzi zprávy
* Založit novou revizi zprávy
* Publikovat zvolenou verzi (a tím "odpublikovat" předchozí)
* Publikovat zvolenou revizi (a tím "odpublikovat" předchozí)
* Automaticky nahradit všechny výskyty předchozí verze novou verzí
* Automaticky nahradit všechny výskyty předchozí revize novou revizí
* Naplánovat změnu verzí v čase (změnu pak provede expirační úloha)
* Naplánovat změnu revizí v čase (změnu pak provede expirační úloha)
* Jednoduše přecházet mezi verzemi, zobrazit informace o stavu jednotlivých verzí apod.
* Jednoduše přecházet mezi revizemi, zobrazit informace o stavu jednotlivých revizí apod.
 
<div class="note">Lze pracovat pouze s&nbsp;revizemi zpráv, neexistuje obdobná podpora verzí u zdrojů či fragmentů nebo jiných objektů.</div>
 
 
Funkčnost revizí je spojena se správou jazykových verzí zpráv. Tyto prvky jsou v podstatě organizovány dle následujícího diagramu:
 
[[Image:referencniprirucka-workflowobsahu-revize-a-verze.png|center]]
 
Každá část této struktury je zároveň samostatná zpráva a zároveň nese informaci o jazyce a pořadovém čísle revize v daném jazyce. V každém jazyce jsou tak vedeny revize samostatně, údaj o revizi neznamená totožnost mezi jazyky. Jinak řečeno neplatí, že by stejné pořadové číslo revize v různých jazycích vyznačovalo, že jde o identický text v různých jazycích.
 
Jsou podporovány i složitější operace v rámci tohoto stromu revizí a jazykových verzí. Ve výčtu jsou možné následující operace:


<div class="note">Lze pracovat pouze s&nbsp;verzemi zpráv, neexistuje obdobná podpora verzí u zdrojů či fragmentů nebo jiných objektů.</div>
* Založení nové samostatné zprávy
* Založení nové revize (tj. nové verze zprávy ve stejném jazyce)
* Založení nové jazykové verze
* Změna jazyka revize (vzniká jazyková verze s novým číslem revize)
* Označení existující samostatné zprávy za revizi jiné zprávy ve zvoleném jazyce
* Smazání revize či jazykové verze
* Vyvázání existující zprávy ze stromu revizí a verzí dané zprávy (osamostatnění)
* Publikace nové revize
* Stažení revize z webu (změna z ''Publikováno'' na jiný stav)


=== Možnosti konfigurace verzování ===
=== Možnosti konfigurace správy revizí ===


Z&nbsp;hlediska práce s&nbsp;verzemi je pevně dáno to, že maximálně jedna z&nbsp;verzí může být ve stavu ''Publikováno''. Naopak lze nakonfigurovat chování verzí z&nbsp;hlediska změn stavů. Jedná se o následující možnosti:
Z&nbsp;hlediska práce s&nbsp;revizemi je pevně dáno to, že maximálně jedna z&nbsp;revizí může být ve stavu ''Publikováno''. Naopak lze nakonfigurovat chování revizí z&nbsp;hlediska změn stavů. Jedná se o následující možnosti:


* Zprávě končí platnost a je ve stavu ''Publikováno'' – lze nakonfigurovat, zda tento stav znamená to, že se má zpráva převést do stavu ''Platnost vypršela'' nebo do stavu ''Archivováno''.
* Zprávě končí platnost a je ve stavu ''Publikováno'' – lze nakonfigurovat, zda tento stav znamená to, že se má zpráva převést do stavu ''Platnost vypršela'' nebo do stavu ''Archivováno''.
* Nastává okamžik platnosti nové verze – lze nakonfigurovat, zda další "viditelné" verze (tj. ve stavu ''Publikováno'' nebo ''Archivováno'') přecházejí do stavu ''Platnost vypršela'' nebo ''Archivováno''.
* Nastává okamžik platnosti nové revize – lze nakonfigurovat, zda další "viditelné" verze (tj. ve stavu ''Publikováno'' nebo ''Archivováno'') přecházejí do stavu ''Platnost vypršela'' nebo ''Archivováno''.
* Volbu zda odstranit zprávy přepínané do stavu ''Archivováno'' ze všech stránek. Je-li stav měněn ze stavu ''Publikováno'' na ''Platnost vypršela'', odstraňují se takové zprávy ze stránek vždy. Pokud se mění ze stavu ''Publikováno'' na ''Archivováno'', lze tuto možnost nastavit.
* Volbu zda odstranit zprávy přepínané do stavu ''Archivováno'' ze všech stránek. Je-li stav měněn ze stavu ''Publikováno'' na ''Platnost vypršela'', odstraňují se takové zprávy ze stránek vždy. Pokud se mění ze stavu ''Publikováno'' na ''Archivováno'', lze tuto možnost nastavit.
* Volbu zda bránit možnosti publikovat zprávy mimo interval platnosti.
* Volbu zda bránit možnosti publikovat zprávy mimo interval platnosti.


Prvními dvěma možnostmi můžeme ovlivnit chování platnosti zpráv a verzování tak, jak je znázorněno v&nbsp;následující tabulce:
Prvními dvěma možnostmi můžeme ovlivnit chování platnosti zpráv a správu revizí tak, jak je znázorněno v&nbsp;následující tabulce:


{| class="prettytable"
{| class="prettytable"
Řádek 145: Řádek 168:


|-
|-
| Chceme, aby při vypršení platnosti byla zpráva z&nbsp;webu kompletně odstraněna, náhrada staré verze za novou znamená odstranění předchozí verze.
| Chceme, aby při vypršení platnosti byla zpráva z&nbsp;webu kompletně odstraněna, náhrada staré revize za novou znamená odstranění předchozí revize.
| Nastavíme konfiguraci takto:
| Nastavíme konfiguraci takto:
Ukončení platnosti znamená změnu stavu na ''Platnost vypršela''
*Ukončení platnosti znamená změnu stavu na ''Platnost vypršela''
Publikování nové verze znamená změnu stavu předchozí verze na ''Platnost vypršela''
*Publikování nové revize znamená změnu stavu předchozí revize na ''Platnost vypršela''


|-
|-
| Chceme, aby při vypršení platnosti byla zpráva přesunuta do archívu, staré verze se archivují.
| Chceme, aby při vypršení platnosti byla zpráva přesunuta do archívu, staré revize se archivují.
| Nastavíme konfiguraci takto:
| Nastavíme konfiguraci takto:
Ukončení platnosti znamená změnu stavu na ''Archivováno''
*Ukončení platnosti znamená změnu stavu na ''Archivováno''
Publikování nové verze znamená změnu stavu předchozí verze na ''Archivováno''
*Publikování nové revize znamená změnu stavu předchozí revize na ''Archivováno''


|-
|-
| Chceme, aby při vypršení platnosti byla zpráva přesunuta do archívu, pokud ale existuje nová publikovaná verze, starou verzi nechceme v&nbsp;archívu, ale chceme ji z&nbsp;webu odstranit.
| Chceme, aby při vypršení platnosti byla zpráva přesunuta do archívu, pokud ale existuje nová publikovaná revize, starou revizi nechceme v&nbsp;archívu, ale chceme ji z&nbsp;webu odstranit.
| Nastavíme konfiguraci takto:
| Nastavíme konfiguraci takto:
Ukončení platnosti znamená změnu stavu na ''Archivováno''
*Ukončení platnosti znamená změnu stavu na ''Archivováno''
Publikování nové verze znamená změnu stavu předchozí verze na ''Platnost vypršela''
*Publikování nové revize znamená změnu stavu předchozí verze na ''Platnost vypršela''


|}
|}
Řádek 166: Řádek 189:
První nastavení – konec platnosti zprávy – se týká zejména plánované expirační úlohy. Pokud je tato úloha spouštěna, řídí se tímto nastavením a může zde volitelně měnit stav nejen na ''Platnost vypršela'', ale i na ''Archivováno''. Při ručním ukládání zprávy v&nbsp;editačním formuláři se pak toto nastavení vztahuje na navrhovaný stav – uživatel je upozorněn, že zprávě končí platnost a je dle tohoto nastavení navržena změna stavu.
První nastavení – konec platnosti zprávy – se týká zejména plánované expirační úlohy. Pokud je tato úloha spouštěna, řídí se tímto nastavením a může zde volitelně měnit stav nejen na ''Platnost vypršela'', ale i na ''Archivováno''. Při ručním ukládání zprávy v&nbsp;editačním formuláři se pak toto nastavení vztahuje na navrhovaný stav – uživatel je upozorněn, že zprávě končí platnost a je dle tohoto nastavení navržena změna stavu.


Druhé nastavení – okamžik publikace zprávy – se týká jak plánované expirační úlohy, tak ruční editace zprávy. Pokud je spouštěna expirační úloha, může měnit kromě stavu zprávy, které nastává platnost i stavy předchozích verzí. V&nbsp;případě editace zprávy a změny jejího stavu na ''Publikováno'' může být volána v&nbsp;podstatě stejná funkce, která změní opět stavy předchozích verzí.
Druhé nastavení – okamžik publikace zprávy – se týká jak plánované expirační úlohy, tak ruční editace zprávy. Pokud je spouštěna expirační úloha, může měnit kromě stavu zprávy, které nastává platnost, i stavy předchozích revizí. V&nbsp;případě editace zprávy a změny jejího stavu na ''Publikováno'' může být volána v&nbsp;podstatě stejná funkce, která změní opět stavy předchozích revizí.


Volba zda odstranit zprávy přepínané do stavu ''Archivováno'' ze všech stránek se týká pouze expirační úlohy – v&nbsp;případě ruční změny stavu toto musí provést uživatel.
Volba zda odstranit zprávy přepínané do stavu ''Archivováno'' ze všech stránek se týká pouze expirační úlohy – v&nbsp;případě ruční změny stavu toto musí provést uživatel.
Řádek 172: Řádek 195:
Volba zda bránit možnosti publikovat zprávy mimo interval platnosti je relevantní pouze pro editační formuláře. Pokud je toto zvoleno, nelze přepnout do stavu ''Publikováno'' zprávu v&nbsp;případě, že aktuální čas není v&nbsp;intervalu platnosti.
Volba zda bránit možnosti publikovat zprávy mimo interval platnosti je relevantní pouze pro editační formuláře. Pokud je toto zvoleno, nelze přepnout do stavu ''Publikováno'' zprávu v&nbsp;případě, že aktuální čas není v&nbsp;intervalu platnosti.


V&nbsp;konfiguračním souboru&nbsp;''global.php'' se způsob práce s&nbsp;verzemi a související změny stavů řídí následujícím parametry:
V&nbsp;konfiguračním souboru&nbsp;''[[../Konfigurace WebToDate#Globální konfigurace WebToDate|global.php]]'' se způsob práce s&nbsp;revizemi a související změny stavů řídí následujícími parametry:


{| class="prettytable"
{| class="prettytable"
Řádek 194: Řádek 217:
| True / false
| True / false
| Udává, zda umožnit uživatelům publikovat i zprávy, jejichž interval platnosti se neslučuje a aktuálním časem; ''true'' = umožnit. Výchozí hodnota je ''true''.
| Udává, zda umožnit uživatelům publikovat i zprávy, jejichž interval platnosti se neslučuje a aktuálním časem; ''true'' = umožnit. Výchozí hodnota je ''true''.
|-
| REDIRECT_TO_PUBLISHED_VERSION
| True / false
| Udává, zda skript zobrazující celý text zprávy přesměrovává uživatele na viditelnou revizi zprávy v případě, že vyvolané URL odpovídá zprávě, která není ve stavu ''Publikováno'' nebo ''Archivováno'' (neplatí pro náhled zprávy volaný z administračního rozhraní).


|}
|}
Řádek 203: Řádek 231:
=== Kontrola uzamčených zpráv ===
=== Kontrola uzamčených zpráv ===


Při pokusu o publikaci zprávy se rovněž zjišťuje, zda neexistuje jiná verze, která tuto publikaci blokuje. Tento stav je definován následovně:
Při pokusu o publikaci zprávy se rovněž zjišťuje, zda neexistuje jiná revize, která tuto publikaci blokuje. Tento stav je definován následovně:


* Existuje jakákoliv jiná verze ve stavu ''Publikováno'', která je uzamčená jiným uživatelem než aktuálně přihlášeným.
* Existuje jakákoliv jiná revize ve stavu ''Publikováno'', která je uzamčená jiným uživatelem než aktuálně přihlášeným.
* Existuje jakákoliv jiná verze ve stavu ''Archivováno'', která je uzamčená jiným uživatelem než aktuálně přihlášeným a zároveň je nastaveno ON_VERSION_PUBLISH = 0, tj. zpráva by měla přejít do stavu ''Vypršelo''.
* Existuje jakákoliv jiná revize ve stavu ''Archivováno'', která je uzamčená jiným uživatelem než aktuálně přihlášeným a zároveň je nastaveno ON_VERSION_PUBLISH = 0, tj. zpráva by měla přejít do stavu ''Vypršelo''.
* Existuje jakákoliv jiná verze s pořadovým číslem menším než aktuálně publikovaná zpráva, která je uzamčena jiným uživatelem.
* Existuje jakákoliv jiná revize s pořadovým číslem menším než aktuálně publikovaná zpráva, která je uzamčena jiným uživatelem.


Logika této kontroly je tedy taková, že se blokuje jednak to, aby nešlo publikovat zprávu, která má jinou na veřejné části prezentace viditelnou a zároveň uzamčenou verzi, nebo předchozí verzi, kterou někdo připravuje k publikaci. Naopak nevadí, že někdo chystá (má uzamčenou) nějakou budoucí verzi, která ještě není publikovaná.
Logika této kontroly je tedy taková, že se blokuje jednak to, aby nešlo publikovat zprávu, která má jinou na veřejné části prezentace viditelnou a zároveň uzamčenou revizi, nebo předchozí revizi, kterou někdo připravuje k publikaci. Naopak nevadí, že někdo chystá (má uzamčenou) nějakou budoucí revizi, která ještě není publikovaná.


Pakliže funkce pro kontrolu možnosti publikace zjistí, že nastal alespoň jeden z výše uvedených stavů, není možné zprávu publikovat, uživateli toto je oznámeno ve výpisu v informačním formuláři v pravém spodním rámci prohlížeče, vynucení publikace zde není možné.
Pakliže funkce pro kontrolu možnosti publikace zjistí, že nastal alespoň jeden z výše uvedených stavů, není možné zprávu publikovat, uživateli toto je oznámeno ve výpisu v informačním formuláři v pravém spodním rámci prohlížeče, vynucení publikace zde není možné.


Funkce se vztahuje na všechny metody publikace, které jsou k dispozici (tlačítko '''Publikovat''', změna nabídky se stavy zpráv ve formuláři pro zprávu, vizuální režim pro úpravy zprávy). Stejně se chová i úloha '''Expirace''' pro Plánovač úloh, která nepřevede zprávu ze stavu Odloženo do stavu Publikováno v případě popsané blokace jinou verzí.
Funkce se vztahuje na všechny metody publikace, které jsou k dispozici (tlačítko '''Publikovat''', změna nabídky se stavy zpráv ve formuláři pro zprávu, vizuální režim pro úpravy zprávy). Stejně se chová i úloha '''Expirace''' pro Plánovač úloh, která nepřevede zprávu ze stavu Odloženo do stavu Publikováno v případě popsané blokace jinou revizí.


=== Identifikace platnosti verzí ===
=== Identifikace platnosti revizí ===


Pořadí verzí dané pořadovým číslem a platnost verzí daná rozsahem datumů není nijak spojeno. Jsou přípustné např. následující stavy:
Pořadí revizí dané pořadovým číslem a platnost revizí daná rozsahem datumů není nijak spojeno. Jsou přípustné např. následující stavy:


* Platnost verze 3 nastává před platností verze 2
* Platnost revize 3 nastává před platností revize 2
* Intervaly platnosti nejsou vůbec specifikovány
* Intervaly platnosti nejsou vůbec specifikovány
* Intervaly platností různých verzí se překrývají (verze 2 končí platnost 20.5.2006, verze 3 začíná platnost 18.5.2006)
* Intervaly platností různých revizí se překrývají (revizi 2 končí platnost 20.5.2006, revizi 3 začíná platnost 18.5.2006)
* Intervaly platnosti různých verzí na sebe nenavazují (verze 2 končí platnost 20.5.2006, verze 3 začíná platnost 24.5.2006)
* Intervaly platnosti různých revizí na sebe nenavazují (revize 2 končí platnost 20.5.2006, revize 3 začíná platnost 24.5.2006)


Proto jsou zavedena následující pravidla:
Proto jsou zavedena následující pravidla:


* Při posuzování platnosti od – od má přednost počátek platnosti. Pokud verze 2 končí platnost 20.5.2006 a verze 3 začíná platnost 18.5.2006, znamená to, že verze 3 je 18.5. publikována a v&nbsp;ten samý moment je verze 2 zneplatněna dle daného nastavení (tj. buď převedena do stavu ''Platnost vypršela'' nebo archivována).
* Při posuzování platnosti od – od má přednost počátek platnosti. Pokud revizi 2 končí platnost 20.5.2006 a revizi 3 začíná platnost 18.5.2006, znamená to, že revize 3 je 18.5. publikována a v&nbsp;ten samý moment je revize 2 zneplatněna dle daného nastavení (tj. buď převedena do stavu ''Platnost vypršela'' nebo archivována).
* Pokud se nelze rozhodnout podle rozsahů datumů platnosti, nastupuje pořadové číslo verze. Pokud má např. verze 2 i verze 3 nastaven datum a čas ''Publikovat dne'', publikuje se verze 3.
* Pokud se nelze rozhodnout podle rozsahů datumů platnosti, nastupuje pořadové číslo revize. Pokud má např. revize 2 i revize 3 nastaven datum a čas ''Publikovat dne'', publikuje se revize 3.


Typický je např. případ, že se zadává jen počáteční datum platnosti a koncové se nevyplňuje. Pak musí vždycky, když nastane platnost nové verze být předchozí verze zneplatněna.
Typický je např. případ, že se zadává jen počáteční datum platnosti a koncové se nevyplňuje. Pak musí vždycky, když nastane platnost nové revize být předchozí verze zneplatněna.


Překryv datumů se neřeší z&nbsp;hlediska koncového datumu. Uvažujme např. následující případ:
Překryv datumů se neřeší z&nbsp;hlediska koncového datumu. Uvažujme např. následující případ:
Řádek 236: Řádek 264:


{| class="prettytable"
{| class="prettytable"
| '''Verze'''
| '''Revize'''
| '''Publikovat dne'''
| '''Publikovat dne'''
| '''Vyprší dne'''
| '''Vyprší dne'''
Řádek 254: Řádek 282:




1.1.2006 je publikována verze 1. 8.1.2006 je publikována verze 2. 15.1.2006 je zneplatněna verze 2 a v&nbsp;ten moment jsou obě verze ve stavu ''Platnost vypršela'' nebo ''Archivováno''. Neřeší se to, že původně měla verze 1 delší rozsah platnosti a že by tudíž v&nbsp;úvahu přicházela možnost verzi 1. znovu publikovat.  
1.1.2006 je publikována revize 1. 8.1.2006 je publikována revize 2. 15.1.2006 je zneplatněna revize 2 a v&nbsp;ten moment jsou obě revize ve stavu ''Platnost vypršela'' nebo ''Archivováno''. Neřeší se to, že původně měla revize 1 delší rozsah platnosti a že by tudíž v&nbsp;úvahu přicházela možnost revizi 1. znovu publikovat.
 
=== Práce s&nbsp;revizemi zpráv z&nbsp;hlediska uživatele ===
 
V&nbsp;nástrojové liště ve [[../Zprávy#Vytvoření nové zprávy|formuláři pro zprávy]] je ikona pro duplikaci zpráv, pomocí níž lze vytvořit kopii právě otevřené zprávy.
 
[[Image:referencniprirucka-workflowobsahu-duplikace-zpravy.png|center]]
 
Tento duplikát nemá žádnou návaznost na původní zprávu, funkce slouží pouze k tomu, aby bylo jednodušší např. založit novou zprávu se stejnými metadaty či zdroji jako již existující zpráva.
 
Pro využití aparátu pro správu revizí a jazykových verzí se využívá ikona pro přechod na formulář pro správu těchto revizí či verzí.
 
[[Image:referencniprirucka-workflowobsahu-ikona-revizi.png|center]]
 
Touto ikonou se přechází na formulář, ve kterém jsou vypsány všechny revize a jazykové verze dané zprávy a jsou přístupné funkce pro všechny proveditelné akce týkající se revizí či verzí.
 
[[Image:referencniprirucka-workflowobsahu-img096.png|center]]


=== Práce s&nbsp;verzemi zpráv z&nbsp;hlediska uživatele ===
Ve spodní části formuláře je seznam revizí a jazykových verzí rozdělený podle jazyků. Zobrazují se tyto sloupečky:


V&nbsp;nástrojové liště ve formuláři pro zprávy je ikona pro duplikaci zpráv, pomocí níž lze vytvořit nejen duplikát zprávy, ale i novou verzi zprávy.
* Pořadové číslo revize
* Datum zprávy
* Stav zprávy
* Publikovat dne
* Vyprší dne
* Zaškrtávací okénka pro [[#Porovnání revizí či jazykových verzí zpráv|porovnání revizí zpráv]] či jiné operace s vybranými zprávami.


[[Image:referencniprirucka-workflowobsahu-img093.png|center]]
Klepnutím na pořadové číslo revize se přechází na danou zprávu. Revize, která se aktuálně nachází ve formuláři pro úpravy, je vyznačená tučně.


Ikona zobrazí následující dialog.
V horní části jsou tlačítka a další ovládací prvky pro vyvolání funkcí spojených s revizemi či verzemi:


[[Image:referencniprirucka-workflowobsahu-img094.png|center]]
* '''Nová revize''' - zakládá novou revizi aktuální zprávy (ve stejném jazyce)
* '''Nová jazyková verze''' - zakládá novou jazykovou verzi aktuální zprávy (v jazyce dle rozevírací nabídky)
* '''Připojit existující''' - připojí jinou existující zprávu, která nemá žádné revize či verze jako další revizi či jazykovou verzi
* '''Osamostatnit''' - vyváže zvolenou revizi ze seznamu revizí aktuální zprávy, čili změní se na samostatnou zprávu bez návazností na jiné revize či verze
* '''Porovnat''' - umožňuje porovnat dvě zvolené revize či verze
* '''Storno''' - návrat na formulář pro úpravu aktuální zprávy


Tlačítko '''Duplikovat''' vytvoří kopii zprávy, která není s&nbsp;původní zprávou nijak propojená. Tlačítko '''Nová verze''' naopak vytvoří novou verzi zprávy a přidělí ji odpovídající pořadové číslo. Vlastnosti této nové verze jsou následující:
Tlačítko '''Nová revize''' zakládá (bez dalšího potvrzovacího dialogu) další revizi aktuální zprávy. Vlastnosti této nové revize jsou následující:


* V&nbsp;poli Nadpis je na začátku řetězec "*Verze x:", pak následuje původní nadpis zprávy
* V&nbsp;poli Nadpis je na začátku řetězec "*Verze x CZ:", pak následuje původní nadpis zprávy (CZ je zde jazyk zprávy)
* '''Stav''' zprávy je vždy ''Vloženo''
* '''Stav''' zprávy je vždy ''Vloženo''
* '''Datum a čas''' je nastaven na aktuální čas
* '''Datum a čas''' je nastaven na aktuální čas
* Pole '''Publikovat''' přebírá obsah pole Vyprší dne z&nbsp;předchozí duplikované verze
* Pole '''Publikovat''' přebírá obsah pole Vyprší dne z&nbsp;předchozí revize
* Pole '''Vyprší dne''' je prázdné
* Pole '''Vyprší dne''' je prázdné
* Ostatní pole se přebírají z&nbsp;duplikované původní verze (s výjimkou technických položek typu Odkaz nadpisu, který se přidělí tak, aby odpovídal nové zprávě)
* Ostatní pole se přebírají z&nbsp;duplikované původní revize(s výjimkou technických položek typu Odkaz nadpisu, který se přidělí tak, aby odpovídal nové zprávě)


Ve všech zprávách, které mají nějakou další verzi, se v&nbsp;liště s&nbsp;funkcemi ve formuláři zobrazuje další ikona Verze.
Revize zpráv lze libovolně mazat. Pokud např. existují revize 1,2,3, lze smazat i revizi 2, pak budou existovat pouze revize 1 a 3. Pokud smažeme revizi 3 a založíme novou revizi (z revize 1 či 2), bude mít nová revize opět pořadové číslo 3.


[[Image:referencniprirucka-workflowobsahu-img095.png|center]]


Klepnutím na tuto ikonu se zobrazuje dialogové okno, které informuje o všech verzích dané zprávy a umožňuje mezi nimi jednoduše přecházet.
Tlačítko '''Nová jazyková verze''' zakládá novou [[../Jazykové verze#Jazykové verze zpráv|jazykovou verzi]]. Výsledek se nijak neliší od nové revize s výjimkou nastavení jazyka, pořadové číslo revize pak odpovídá sekvenci revizí ve zvoleném jazyce. Pokud tedy zakládáme např. anglickou verzi zprávy v češtině, je v tomto kroku vytvořena zpráva, která nemá prázdná textová vstupní pole, ale všechny texty jsou převzaty z češtiny a může začít překlad zprávy.


[[Image:referencniprirucka-workflowobsahu-img096.png|center]]


V&nbsp;okně se zobrazují tyto sloupečky:
Tlačítko '''Připojit existující''' vyvolá dialog pro výběr nějaké existující zprávy.
 
[[Image:kalendar-incl-zpravy.gif|center]]
 
Klepnutím na šipku se spouští funkce pro připojení vybrané zprávy ke stromu revizí a jazykových verzí dané zprávy. Připojit lze jen zprávu, která je samostatná, tj. nemá jiné revize či verze. Výsledkem je, že připojená zpráva se stane součástí stromu revizí a verzí, její jazyk zůstává nezměněn a pořadové číslo revize odpovídá číslování v daném jazyce.
 
Může nastat konflikt ohledně stavů zpráv. Např. ze všech revizí může být jen jedna publikovaná. Pokud taková revize existuje a připojujeme publikovanou zprávu, vznikly by dvě publikované revize, což není přípustné. V takovém případě se zobrazí upozornění na tuto skutečnost a volba řešení.
 
[[Image:referencniprirucka-workflowobsahu-konflikt-revizi.png|center]]
 
Je zde třeba vybrat, která revize zůstane publikována a na jaký stav se změní druhá revize.
 
 
Inverzní funkcí je '''Osamostatnit''', která umožňuje "vyvázání" zvolené revize ze stromu revizí a verzí aktuální zprávy a její označení za samostatnou zprávu. Aby bylo tlačítko aktivní, je třeba pomocí zaškrtávacího okénka vybrat alespoň jednu revizi. Vždy je vyžadováno potvrzení prováděné operace. V případě, že pro takto převáděné zprávy platí, že jsou ve stavu ''Publikováno'' nebo ''Archivováno'' a neexistuje žádná jiná revize (ve stejném jazyce) ve stavu ''Archivováno'', je vypisována navíc informace o tom, že žádná zbývající revize nebude v prezentační části zobrazitelná.
 
 
U každé zprávy je možné měnit jazyk. Pokud v cílovém jazyce existuje jakákoli revize, je vždy vyžadováno potvrzení operace. Jsou možné dva případy:
 
# Zpráva není ve stavu ''Publikováno'' – změní se jen číslo revize (dle číslování revizí v daném jazyce)
# Zpráva je ve stavu ''Publikováno'' a v cílovém jazyce rovněž existuje publikovaná zpráva – kromě změny čísla revize se mění stav jedné ze zpráv. V takovém případě je třeba potvrdit akci a zvolit výsledný stav ohledně stavů zpráv:


* Pořadové číslo verze
[[Image:referencniprirucka-workflowobsahu-konflikt-jazyku.png|center]]
* Datum zprávy
* Stav zprávy
* Publikovat dne
* Vyprší dne


Klepnutím na pořadové číslo verze se přechází na formulář pro úpravy vybrané verze. Verze, která se aktuálně nachází ve formuláři pro úpravy, je vyznačená tučně.


Verze zpráv lze libovolně mazat. Pokud např. existují verze 1,2,3, lze smazat i verzi 2, pak budou existovat pouze verze 1 a 3. Pokud smažeme verzi 3 a založíme novou verzi (duplikací verze 1 či 2), bude mít nová verze opět pořadové číslo 3.


Ze všech verzí dané zprávy může být pouze jedna ve stavu ''Publikováno''. Pokud je spuštěn proces publikace nějaké zprávy (ruční změnou stavu nebo tlačítkem '''Publikovat''') a je systémem detekován nějaký stav související s&nbsp;jinou verzí nebo s&nbsp;časovou platností, zobrazí se ve spodní části okna WebToDate místo formuláře nejprve dialog pro potvrzení tohoto úkonu nebo další informace.
Ze všech verzí dané zprávy může být pouze jedna ve stavu ''Publikováno''. Pokud je spuštěn proces publikace nějaké zprávy (ruční změnou stavu nebo tlačítkem '''Publikovat''') a je systémem detekován nějaký stav související s&nbsp;jinou verzí nebo s&nbsp;časovou platností, zobrazí se ve spodní části okna WebToDate místo formuláře nejprve dialog pro potvrzení tohoto úkonu nebo další informace.
Řádek 326: Řádek 391:


[[Image:referencniprirucka-workflowobsahu-img099.png|center]]
[[Image:referencniprirucka-workflowobsahu-img099.png|center]]
=== Porovnání revizí či jazykových verzí zpráv ===
Ve [[#Práce s revizemi zpráv z hlediska uživatele|formuláři pro seznam verzí revizí a přecházení mezi nimi]] je tlačítko '''Porovnat verze''', kterým lze porovnat dvě verze vybrané pomocí zaškrtávacích okének v tomto seznamu revizí.
[[Image:referencniprirucka-porovnaniverzizprav.png|center]]
Zobrazí se porovnání nadpisu, popisu a těla zprávy s grafickým vyznačením změn. Pokud se obsah daného pole nezměnil, je v této obrazovce pouze tato skutečnost uvedena a obsah pole není vypisován. Tlačítkem '''Storno''' se okno s výpisem porovnání uzavírá.
=== XML Export a import jednotlivých zpráv ===
Ve formuláři pro úpravu zprávy je tlačítko '''XML''', kterým lze obsah dané zprávy (revize) exportovat či importovat v XML formátu. Toto je vhodné např. při překladech jazykových verzí - lze exportovat zprávu, odeslat ji k překladu externímu překladateli a obdržený výsledek opět naimportovat.
Použití tlačítka zobrazí formulář, kde je k dispozici funkce pro export a funkce pro výběr souboru a jeho import. Import je určen k aktualizaci právě editované zprávy. To znamená, že údaje v XML kódu, které by způsobily jiný stav, než přepsání existující zprávy jsou chybou a soubor se nenaimportuje.
Používaný XML formát je popsán v dokumentaci modulu [[../../XML export - import/Reference|XML export - import]].


=== Jaké aktualizace se provedou automaticky a kdy je třeba ruční zásah obsluhy ===
=== Jaké aktualizace se provedou automaticky a kdy je třeba ruční zásah obsluhy ===


Pokud se spouští publikace zprávy ručně, dojde vždy ke korektní výměně zprávy umístěné na stránkách ručně. Pokud se spouští publikace automaticky pomocí expirační úlohy (tj. publikuje se ve stanovený čas ze stavu '''Odloženo''') dojde ke korektní výměně na stránkách pouze v&nbsp;případě, že na sebe intervaly platnosti navazují nebo se překrývají. Pokud je mezi těmito intervaly mezera, dojde k&nbsp;tomu, že nejprve je stará verze zprávy ze stránky odstraněna, při jiném spuštění expirační úlohy je nová verze publikována, ale stará už se na stránce v&nbsp;tu chvíli nenachází a tudíž se na ní ve výsledku nebude nacházet ani nová verze.
Pokud se spouští publikace zprávy ručně, dojde vždy ke korektní výměně zprávy umístěné na stránkách ručně. Pokud se spouští publikace automaticky pomocí expirační úlohy (tj. publikuje se ve stanovený čas ze stavu '''Odloženo''') dojde ke korektní výměně na stránkách pouze v&nbsp;případě, že na sebe intervaly platnosti navazují nebo se překrývají. Pokud je mezi těmito intervaly mezera, dojde k&nbsp;tomu, že nejprve je stará revize zprávy ze stránky odstraněna, při jiném spuštění expirační úlohy je nová revize publikována, ale stará už se na stránce v&nbsp;tu chvíli nenachází a tudíž se na ní ve výsledku nebude nacházet ani nová revize.


Další skutečnost, které je třeba věnovat pozornost, jsou '''Seznamy'''. Pokud se na nějaké stránce zpráva nachází díky seznamu a zpráva se převádí do stavu '''Vypršelo''', je stránka se seznamem vždy automaticky přegenerována a odkaz ve stránce nezůstane. Opačně to ale neplatí – při publikaci zprávy se automaticky nezjišťuje, zda zpráva náhodou nevyhovuje kritériu nějakého seznamu a tudíž se odkaz na takovou zprávu nemusí automaticky nikde objevit. V&nbsp;takovém případě je potřeba pomocí plánované úlohy spouštět generování vhodné části stromu šablon tak, aby k&nbsp;požadované aktualizaci stránek došlo.
Další skutečnost, které je třeba věnovat pozornost, jsou '''Seznamy'''. Pokud se na nějaké stránce zpráva nachází díky seznamu a zpráva se převádí do stavu '''Vypršelo''', je stránka se seznamem vždy automaticky přegenerována a odkaz ve stránce nezůstane. Opačně to ale neplatí – při publikaci zprávy se automaticky nezjišťuje, zda zpráva náhodou nevyhovuje kritériu nějakého seznamu a tudíž se odkaz na takovou zprávu nemusí automaticky nikde objevit. V&nbsp;takovém případě je potřeba pomocí plánované úlohy spouštět generování vhodné části stromu šablon tak, aby k&nbsp;požadované aktualizaci stránek došlo.
=== Možnost přesměrování na publikovanou revizi v prezentační části ===
[[../URL stránek#URL zpráv |Prezentační skript]] ''/scripts/detail.php'' může volitelně přesměrovávat uživatele na viditelnou revizi zprávy v případě, že vyvolané URL odpovídá zprávě, která není ve stavu ''Publikováno'' nebo ''Archivováno'' (neplatí pro náhled).
Chování je závislé na konfigurační konstantě REDIRECT_TO_PUBLISHED_VERSION. Pokud je nastavena na ''false'', k přesměrování nedochází a žádost o nepublikovanou zprávu končí chybovou stránkou. Pokud je nastavena na ''true'', pokusí se skript přesměrovat na viditelnou revizi zprávy vyhledáním dalších revizí ve stejném jazyce, a to v pořadí:
# Revize ve stavu ''Publikováno''
# Revize ve stavu ''Archivováno''
# Existuje-li víc archivovaných revizí, přesměruje se na tu s nejvyšším číslem revize.
Teprve v případě, že žádná viditelná revize neexistuje, přesměruje se na chybovou stránku.
== Revize zdrojů ==
Práce s revizemi a jazykovými verzemi zdrojů je identická jako revize a jazykové verze zpráv. Specifikem je práce s položkami ve zdroji - všechny revize a jazykové verze zdroje mají stejný seznam položek (souborů) ve zdroji, tj. jedná se o identické soubory; nová revize či jazyková verze nezakládá kopie souborů ve zdroji, ale odkazuje se na stejné soubory jako předchozí revize.
[[Image:referencniprirucka-workflowobsahu-revize-zdroje.png|center]]
Praktický význam mají zejména [[../Jazykové verze#Jazykové verze zdrojů|jazykové verze zdrojů]] - pomocí nich lze vytvořit více různých popisků pro různé jazyky, přičemž se používají stejné soubory, což je vhodné zejména při publikaci fotografií na vícejazyčných webech.


== Zamykání a odemykání zpráv a zdrojů ==
== Zamykání a odemykání zpráv a zdrojů ==
Řádek 338: Řádek 436:
<div class="note">'''Poznámka''': tato funkce může být volitelně zapnuta či vypnuta. Ve variantě Enterprise je standardně zapnuta, ve variantě Standard naopak vypnuta. Toto se konfiguruje globálně v&nbsp;předvolbách WebToDate, viz kapitola [[../Konfigurace WebToDate#Globální konfigurace WebToDate|Globální konfigurace WebToDate]].</div>
<div class="note">'''Poznámka''': tato funkce může být volitelně zapnuta či vypnuta. Ve variantě Enterprise je standardně zapnuta, ve variantě Standard naopak vypnuta. Toto se konfiguruje globálně v&nbsp;předvolbách WebToDate, viz kapitola [[../Konfigurace WebToDate#Globální konfigurace WebToDate|Globální konfigurace WebToDate]].</div>


== Možnosti konfigurace ==
== Další možnosti konfigurace ==
Konfigurovat lze možnost publikace zdrojů pro redaktory. Pokud v&nbsp;rámci serveru publikujete dokumenty ke stažení, můžete vyžadovat jejich schvalování. Pokud ovšem pracujete např. pouze s&nbsp;fotografiemi, které nenesou žádné informace, které by bylo nutno nějakým způsobem "hlídat" a schvalovat, je jednodušší umožnit redaktorům rovnou zdroje publikovat a tím ušetřit práci editora.
Konfigurovat lze možnost publikace zdrojů pro redaktory. Pokud v&nbsp;rámci serveru publikujete dokumenty ke stažení, můžete vyžadovat jejich schvalování. Pokud ovšem pracujete např. pouze s&nbsp;fotografiemi, které nenesou žádné informace, které by bylo nutno nějakým způsobem "hlídat" a schvalovat, je jednodušší umožnit redaktorům rovnou zdroje publikovat a tím ušetřit práci editora.


<div class="note">Jedná se o volbu ''ASSETS_SIMPLE_ACCESS_RIGHTS'' v&nbsp;konfiguračním souboru ''global.php''.</div>
<div class="note">Jedná se o volbu ''ASSETS_SIMPLE_ACCESS_RIGHTS'' v&nbsp;konfiguračním souboru ''[[../Konfigurace WebToDate#Globální konfigurace WebToDate|global.php]]''.</div>
 
== Úkolování ==
Proces zpracování obsahu lze dále podpořit využíváním [[../Úkoly|úkolů]], pomocí nichž lze jednotlivým uživatelům nebo týmům přidělovat úkoly týkající se zpracování obsahu a sledovat jejich plnění.

Aktuální verze z 23. 10. 2013, 11:05

Zpracování obsahu z hlediska workflow

Obecná pravidla postupu při zpracování obsahu a s tím spojená přístupová práva jsou popsána v kapitole Workflow a práva při zpracování obsahu. Na následujícím diagramu je znázorněn možný životní cyklus vložené jednotky obsahu, tj. zejména zprávy.

Tento diagram ovšem nezahrnuje možné události ohledně revizí zpráv. Práce s revizemi má rovněž vliv na přechod mezi stavy a lze nakonfigurovat, jaké chování je požadováno např. při publikaci nové revize zprávy apod.

Uživatel v roli redaktor vkládá zprávu a předává ji ke schválení. V dalším kroku uživatel v roli editor zprávu kontroluje, schvaluje a rozhoduje o způsobu její publikace. Nakonec mohou nastoupit automatizované procesy řešící případné ukončení platnosti.

Při rozhodování o způsobu publikace lze postupovat jednou z následujících metod:

  • Zpráva se ihned publikuje a vkládá na vhodné oblasti na stránkách - jedná se o nejčastější způsob, všechny možnosti tohoto postupu jsou detailně popsány v kapitolách popisujících práci s odpovídajícími objekty.
  • Zpráva se publikuje odloženě - je považována za připravenou k publikaci, ale chceme ji publikovat až ke stanovenému datu. Automatickou publikaci v tomto případě zajistí odpovídající plánovaná úloha. Editor může přitom předem vložit zprávu na nějakou stránku, ve chvíli publikace je pak tato stránka přegenerována a zpráva se zde objeví požadovaným způsobem.
  • Zpráva se převádí automaticky ze schváleného stavu na publikovaný při generování stránky - tento způsob se používá nejméně často, je vhodný pro denně aktualizovaný server, kdy chceme např. odpoledne připravit zítřejší podobu stránek. Zprávy schválíme, vložíme na stránky a zkontrolujeme pomocí náhledů, plánovanou úlohou se pak v noci stránky vygenerují a zprávy se zde automaticky převedou do odpovídajícího stavu. Zprávy v takovém případě nemají časovou platnost.

Poznamenejme zde, že role editora zahrnuje všechna práva a možnosti redaktora. Některé instalace používají jednodušší workflow, editor zprávy nejen publikuje, ale i do systému vkládá. Pak je v roli uživatele, který si kompletně spravuje svoji část webu (danou nastavením stromu kategorií) a systém WebToDate zde z hlediska workflow působí jen jako nástroj na rozdělení prezentace na jednotlivé části pomocí přístupových práv.

Workflow ve WebToDate není postaveno na individuálním postupu, ale na týmech. Pokud tedy např. redaktor vloží zprávu a je třeba ji schválit, ve WebToDate to neznamená, že existuje informace pro nějakou konkrétní osobu, která má schválení provést, ale pro všechny členy týmu v roli editor.

Stavy zpráv a zdrojů

Možné stavy zpráv a zdrojů jsou shrnuty v následující tabulce.

Vloženo Stav vyznačuje, že položka se zpracovává - vkládá se text, připravuje se formátování, připravují se odpovídající zdroje apod. Redaktor na zprávě pracuje a ještě ji nepostoupil dál.
Ke schválení Stav vyznačuje, že položka je zpracovaná a postoupená ke schválení. Redaktor ukončil svoji práci a postoupil ji k dalším zpracování editorovi.
Schváleno Položka je schválená a připravená k publikaci. Tento stav se používá nejméně často a je vhodný v následujících případech:
  • Editor chce vyznačit, že zprávu zkontroloval a případně upravil. Je připravená k publikaci a editor chce sám manuálně rozhodnout o času její publikace.
  • Chceme použít metodu automatického přepínání z tohoto stavu na Publikováno při generování stránky pomocí plánované úlohy.
Publikováno Položka je publikovaná. V tomto stavu je zpráva viditelná z veřejně přístupné části webové prezentace.
Archivováno Položka již pozbyla platnost v aktuální části webu, ale lze ji na veřejně přístupné části webu zobrazit (typicky v určité vybrané archivní části). Zprávu lze v tomto stavu vkládat na stránky, vyhledat fulltextovým hledáním apod. stejně jako když je ve stavu Publikováno.
Odloženo Stav vyznačuje, že položka je postoupena k publikaci plánovanou úlohou ve stanovený čas. Editor zprávu schválil a "v zásadě" opublikoval, pouze chce, aby zpráva nebyla na veřejné části webu umístěna okamžitě, ale až ve stanovený okamžik.
Vypršelo Platnost zprávy vypršela. Plánovaná úloha zjistila, že nastal čas ukončení platnosti zprávy, zpráva byla odstraněna z webové prezentace a není již z veřejně přístupné části viditelná.

Možnost změn stavů závisí na uživatelských rolích a členství v týmech. Platí následující:

  • Administrátor může manipulovat se stavy všech položek v databázi jakýmkoliv způsobem.
  • Redaktor může pracovat jen se stavy Vloženo a Ke schválení. Pokud je zpráva v jiném stavu, má k ní přístup pouze pro čtení.
  • Editor může měnit stavy zpráv svého týmu jakýmkoliv způsobem.

Uživatelé navíc mohou být členy více týmů. Pokud je redaktor vkládající zprávu členem jednoho týmu a stejně tak editor, je situace jednoduchá a nic jiného než změny stavu zprávy nepřicházejí v úvahu. Pokud jsou uživatelé členy více týmů, znamená to, že mohou měnit vlastnictví položky. Každá zpráva či zdroj patří právě jednomu týmu, pokud je ale editor členem více týmů, má ve formuláři pro úpravy zpráv nabídku těchto týmů a tím pádem může definovat, že zpráva patří jinému týmu (ve kterém už ani nemusí být redaktor, který původně zprávu vložil).

Časová platnost zpráv a zdrojů

Ve zprávách či zdrojích lze zadat časovou platnost, to znamená údaje Publikovat dne a Vyprší dne (lze zadat včetně času). Ani jeden z těchto údajů není povinný. Datum a čas se zadává přímo nebo pomocí dialogu zobrazeného na následujícím otisku obrazovky. Tento dialog slouží pouze k usnadnění výpočtu (vyprší za 25 dnů od data publikace apod.).

Se zadáním takové časové platnosti souvisí i odpovídající stav. Pokud např. zadáme datum publikace, které ještě nenastalo, a chceme zprávu publikovat, neměl by být stav zprávy Publikováno, ale Odloženo. Aplikace vás na takový případ upozorní a nabídne odpovídající změnu stavu. Při pokusu o publikaci takové zprávy se objeví následující dialog.

Tlačítko Publikovat ihned zde převede zprávu do stavu Publikováno nezávisle na nastaveném čase publikace, tlačítko Odložit publikaci převede zprávu do stavu Odloženo.

Je důležité si uvědomit, že korespondující automatickou publikaci či naopak odstranění zprávy z webu provádí plánovaná úloha Expirace. Z toho vyplývá následující:

  • Pokud taková úloha není instalována nebo není automaticky spouštěna, k žádné změně nedojde a zadané časové údaje nemají žádný praktický dopad. Např. při pokusu o zobrazení celého textu zprávy pomocí prezentačního skriptu detail.php se neposuzují zadané časové údaje, ale pouze stav zprávy.
  • Plánovaná úloha neběží kontinuálně, ale spouští se v pravidelných intervalech, které se nastavují v časování úlohy. Pokud je např. úloha nastavena na spouštění každou celou hodinu a zadaný čas publikace je 10:25, doje k publikaci až v 11:00.

Na následujícím otisku obrazovky je dialog, ve kterém se nastavují parametry této úlohy.

Úloha provádí v zásadě následující:

  • Vyhledává publikované zprávy či zdroje, u kterých nastal datum Vyprší dne. Pokud takovou zprávu najde, odstraní ji ze všech stránek, stránky přegeneruje a změní stav zprávy na Vypršelo.
  • Vyhledává zprávy ve stavu Odloženo, pokud u nich nastal datum Publikovat dne, změní stav na Publikováno a přegeneruje stránky, na kterých se zpráva vyskytuje.

Zde je důležité uvědomit si případné dopady na používání této funkce v souvislosti s WebToDate Seznamy. Platí následující:

  • WebToDate si interně udržuje informace o tom, která zpráva byla umístěna na stránku pomocí seznamů. Pokud nějaké zpráva expiruje, jsou přegenerovány i takové stránky.
  • Výjimkou jsou ovšem SQL seznamy - zde nejsou k dispozici prostředky, jak interně zjistit, jestli zpráva nebyla umístěna na stránku nějakým přímým SQL dotazem. Pokud tedy používáte SQL dotazy do databáze zpráv a zároveň automatické ukončení platnosti zpráv, měli byste v nastavení úlohy zvolit volbu SQL seznamy, která způsobí, že se přegenerují všechny stránky, na kterých se seznamy tohoto typu nacházejí. V opačném případě se vystavujete riziku, že na nějakých stránkách zůstanou nefunkční odkazy na zprávy, které již nejsou platné.
  • Pro automatickou publikaci platí, že pokud je zpráva přiřazena na stránku individuálně, stránka se při změně stavu na Publikováno generuje. Tato funkce ale nepracuje se seznamy, nezjišťuje se, zda daná zpráva náhodou nevyhovuje nějakému kritériu některého ze seznamů. Pokud potřebujete to, aby zprávy byly publikované v určený čas a zároveň se ihned zobrazily ve stránkách v seznamech, jedinou možnosti je za expirační úlohou automaticky spouštět úlohu pro generování stránek s volbou "včetně podstromu". Tím je požadovaného efektu dosaženo, ovšem za cenu, že se mohou zbytečně přegenerovávat stránky, které by jinak nebylo nutné znovu generovat.

Revize zpráv

K čemu jsou určeny revize zpráv

WebToDate podporuje práci s revizemi zpráv, přičemž zvolený způsob slouží primárně k přípravě nových revizí dokumentů a k definování posloupností revizí, které mají být postupně v čase publikovány a nahrazovat předchozí znění.

Interně je spojena práce s revizemi a jazykovými verzemi zpráv. Používá se následující terminologie:

  • Revize je další verze dané zprávy v pořadí v čase, je ve stejném jazyce jako předchozí verze
  • Jazyková verze je stejná zpráva, ale v jiném jazyce.


Rámcově se jedná z hlediska revizí o následující přístup:

  • Každá revize je ve WebToDate uložena jako samostatná zpráva, přičemž v databázi zpráv existuje informace o tom, která zpráva je jakou revizí dané zprávy (pokud taková existuje). Revize mají pořadové číslování.
  • Maximálně jedna revize je na veřejné části publikovaná (tj. ve stavu Publikováno), ostatní revize musí být nutně v jiných stavech.
  • Je podporována náhrada jedné revize za druhou. To znamená, že je maximálně pro uživatele zjednodušena operace, při které se publikuje nová revize , odstraňuje stará revize a nová revize má zaujmout místo staré revize (co se týká umístění zpráv v oblastech apod.)
  • Funkčnost je podporována na úrovni plánované úlohy pro expiraci. Lze např. naplánovat dopředu platnost několika revizí (dle data platnosti), plánovaná úloha zajistí náhrady staré revize za novou a korektní převody stavů zpráv.
  • Funkce pro vypršení platnosti je konfigurovatelná – lze zvolit, zda zprávy a jejich revize, kterým končí platnost, jsou odstraňovány (tj. převáděny do stavu Platnost vypršela) nebo archivovány (tj. převáděny do stavu Archivováno). Navíc tato změna stavu může být závislá na to, zda zpráva má novou publikovanou revizi – můžeme např. chtít, aby zpráva, které vypršela platnost a nemá novou publikovanou revizi byla zařazena do archívu, ale zpráva, která má novou publikovanou revizi byla naopak odstraněna.


Typický životní cyklus verzí zobrazuje následující diagram.



Revize 1 je zpráva, která byla publikována v minulosti a nyní je neplatná (typicky je ve stavu Platnost vypršela). Aktuální revize 2 je ve stavu Publikováno a umístěná na různých stránkách webu, připravuje se další revize 3, které je momentálně např. ve stavu Ke schválení.


Uživateli zpracovávajícímu obsah je především daná možnost:

  • Založit novou revizi zprávy
  • Publikovat zvolenou revizi (a tím "odpublikovat" předchozí)
  • Automaticky nahradit všechny výskyty předchozí revize novou revizí
  • Naplánovat změnu revizí v čase (změnu pak provede expirační úloha)
  • Jednoduše přecházet mezi revizemi, zobrazit informace o stavu jednotlivých revizí apod.
Lze pracovat pouze s revizemi zpráv, neexistuje obdobná podpora verzí u zdrojů či fragmentů nebo jiných objektů.


Funkčnost revizí je spojena se správou jazykových verzí zpráv. Tyto prvky jsou v podstatě organizovány dle následujícího diagramu:

Každá část této struktury je zároveň samostatná zpráva a zároveň nese informaci o jazyce a pořadovém čísle revize v daném jazyce. V každém jazyce jsou tak vedeny revize samostatně, údaj o revizi neznamená totožnost mezi jazyky. Jinak řečeno neplatí, že by stejné pořadové číslo revize v různých jazycích vyznačovalo, že jde o identický text v různých jazycích.

Jsou podporovány i složitější operace v rámci tohoto stromu revizí a jazykových verzí. Ve výčtu jsou možné následující operace:

  • Založení nové samostatné zprávy
  • Založení nové revize (tj. nové verze zprávy ve stejném jazyce)
  • Založení nové jazykové verze
  • Změna jazyka revize (vzniká jazyková verze s novým číslem revize)
  • Označení existující samostatné zprávy za revizi jiné zprávy ve zvoleném jazyce
  • Smazání revize či jazykové verze
  • Vyvázání existující zprávy ze stromu revizí a verzí dané zprávy (osamostatnění)
  • Publikace nové revize
  • Stažení revize z webu (změna z Publikováno na jiný stav)

Možnosti konfigurace správy revizí

Z hlediska práce s revizemi je pevně dáno to, že maximálně jedna z revizí může být ve stavu Publikováno. Naopak lze nakonfigurovat chování revizí z hlediska změn stavů. Jedná se o následující možnosti:

  • Zprávě končí platnost a je ve stavu Publikováno – lze nakonfigurovat, zda tento stav znamená to, že se má zpráva převést do stavu Platnost vypršela nebo do stavu Archivováno.
  • Nastává okamžik platnosti nové revize – lze nakonfigurovat, zda další "viditelné" verze (tj. ve stavu Publikováno nebo Archivováno) přecházejí do stavu Platnost vypršela nebo Archivováno.
  • Volbu zda odstranit zprávy přepínané do stavu Archivováno ze všech stránek. Je-li stav měněn ze stavu Publikováno na Platnost vypršela, odstraňují se takové zprávy ze stránek vždy. Pokud se mění ze stavu Publikováno na Archivováno, lze tuto možnost nastavit.
  • Volbu zda bránit možnosti publikovat zprávy mimo interval platnosti.

Prvními dvěma možnostmi můžeme ovlivnit chování platnosti zpráv a správu revizí tak, jak je znázorněno v následující tabulce:

Případ Nastavení
Chceme, aby při vypršení platnosti byla zpráva z webu kompletně odstraněna, náhrada staré revize za novou znamená odstranění předchozí revize. Nastavíme konfiguraci takto:
  • Ukončení platnosti znamená změnu stavu na Platnost vypršela
  • Publikování nové revize znamená změnu stavu předchozí revize na Platnost vypršela
Chceme, aby při vypršení platnosti byla zpráva přesunuta do archívu, staré revize se archivují. Nastavíme konfiguraci takto:
  • Ukončení platnosti znamená změnu stavu na Archivováno
  • Publikování nové revize znamená změnu stavu předchozí revize na Archivováno
Chceme, aby při vypršení platnosti byla zpráva přesunuta do archívu, pokud ale existuje nová publikovaná revize, starou revizi nechceme v archívu, ale chceme ji z webu odstranit. Nastavíme konfiguraci takto:
  • Ukončení platnosti znamená změnu stavu na Archivováno
  • Publikování nové revize znamená změnu stavu předchozí verze na Platnost vypršela

První nastavení – konec platnosti zprávy – se týká zejména plánované expirační úlohy. Pokud je tato úloha spouštěna, řídí se tímto nastavením a může zde volitelně měnit stav nejen na Platnost vypršela, ale i na Archivováno. Při ručním ukládání zprávy v editačním formuláři se pak toto nastavení vztahuje na navrhovaný stav – uživatel je upozorněn, že zprávě končí platnost a je dle tohoto nastavení navržena změna stavu.

Druhé nastavení – okamžik publikace zprávy – se týká jak plánované expirační úlohy, tak ruční editace zprávy. Pokud je spouštěna expirační úloha, může měnit kromě stavu zprávy, které nastává platnost, i stavy předchozích revizí. V případě editace zprávy a změny jejího stavu na Publikováno může být volána v podstatě stejná funkce, která změní opět stavy předchozích revizí.

Volba zda odstranit zprávy přepínané do stavu Archivováno ze všech stránek se týká pouze expirační úlohy – v případě ruční změny stavu toto musí provést uživatel.

Volba zda bránit možnosti publikovat zprávy mimo interval platnosti je relevantní pouze pro editační formuláře. Pokud je toto zvoleno, nelze přepnout do stavu Publikováno zprávu v případě, že aktuální čas není v intervalu platnosti.

V konfiguračním souboru global.php se způsob práce s revizemi a související změny stavů řídí následujícími parametry:

Konstanta Možné hodnoty Význam
ON_NEWS_EXPIRATION 0,1 Udává stav, který se nastaví, pokud končí platnost zprávy (nastává datum Vyprší dne). 0 = Platnost vypršela, 1 = Archivováno. Výchozí hodnota 0.
ON_VERSION_PUBLISH 0,1 Udává, co se má stát s předchozí verzí, která je ve stavu Publikováno nebo Archivováno ve chvíli, kdy se zpráva publikuje. 0 = předchozí verzi nastavit Platnost vypršela, 1 = předchozí verzi nastavit Archivováno. Výchozí hodnota 0.
ALLWAYS_ALLOW_PUBLISH True / false Udává, zda umožnit uživatelům publikovat i zprávy, jejichž interval platnosti se neslučuje a aktuálním časem; true = umožnit. Výchozí hodnota je true.
REDIRECT_TO_PUBLISHED_VERSION True / false Udává, zda skript zobrazující celý text zprávy přesměrovává uživatele na viditelnou revizi zprávy v případě, že vyvolané URL odpovídá zprávě, která není ve stavu Publikováno nebo Archivováno (neplatí pro náhled zprávy volaný z administračního rozhraní).

Zbylá zmíněná nastavení jsou součástí plánované expirační úlohy:

  • Odstraňovat archivované zprávy ze stránek (výchozí hodnota je ano)

Kontrola uzamčených zpráv

Při pokusu o publikaci zprávy se rovněž zjišťuje, zda neexistuje jiná revize, která tuto publikaci blokuje. Tento stav je definován následovně:

  • Existuje jakákoliv jiná revize ve stavu Publikováno, která je uzamčená jiným uživatelem než aktuálně přihlášeným.
  • Existuje jakákoliv jiná revize ve stavu Archivováno, která je uzamčená jiným uživatelem než aktuálně přihlášeným a zároveň je nastaveno ON_VERSION_PUBLISH = 0, tj. zpráva by měla přejít do stavu Vypršelo.
  • Existuje jakákoliv jiná revize s pořadovým číslem menším než aktuálně publikovaná zpráva, která je uzamčena jiným uživatelem.

Logika této kontroly je tedy taková, že se blokuje jednak to, aby nešlo publikovat zprávu, která má jinou na veřejné části prezentace viditelnou a zároveň uzamčenou revizi, nebo předchozí revizi, kterou někdo připravuje k publikaci. Naopak nevadí, že někdo chystá (má uzamčenou) nějakou budoucí revizi, která ještě není publikovaná.

Pakliže funkce pro kontrolu možnosti publikace zjistí, že nastal alespoň jeden z výše uvedených stavů, není možné zprávu publikovat, uživateli toto je oznámeno ve výpisu v informačním formuláři v pravém spodním rámci prohlížeče, vynucení publikace zde není možné.

Funkce se vztahuje na všechny metody publikace, které jsou k dispozici (tlačítko Publikovat, změna nabídky se stavy zpráv ve formuláři pro zprávu, vizuální režim pro úpravy zprávy). Stejně se chová i úloha Expirace pro Plánovač úloh, která nepřevede zprávu ze stavu Odloženo do stavu Publikováno v případě popsané blokace jinou revizí.

Identifikace platnosti revizí

Pořadí revizí dané pořadovým číslem a platnost revizí daná rozsahem datumů není nijak spojeno. Jsou přípustné např. následující stavy:

  • Platnost revize 3 nastává před platností revize 2
  • Intervaly platnosti nejsou vůbec specifikovány
  • Intervaly platností různých revizí se překrývají (revizi 2 končí platnost 20.5.2006, revizi 3 začíná platnost 18.5.2006)
  • Intervaly platnosti různých revizí na sebe nenavazují (revize 2 končí platnost 20.5.2006, revize 3 začíná platnost 24.5.2006)

Proto jsou zavedena následující pravidla:

  • Při posuzování platnosti od – od má přednost počátek platnosti. Pokud revizi 2 končí platnost 20.5.2006 a revizi 3 začíná platnost 18.5.2006, znamená to, že revize 3 je 18.5. publikována a v ten samý moment je revize 2 zneplatněna dle daného nastavení (tj. buď převedena do stavu Platnost vypršela nebo archivována).
  • Pokud se nelze rozhodnout podle rozsahů datumů platnosti, nastupuje pořadové číslo revize. Pokud má např. revize 2 i revize 3 nastaven datum a čas Publikovat dne, publikuje se revize 3.

Typický je např. případ, že se zadává jen počáteční datum platnosti a koncové se nevyplňuje. Pak musí vždycky, když nastane platnost nové revize být předchozí verze zneplatněna.

Překryv datumů se neřeší z hlediska koncového datumu. Uvažujme např. následující případ:


Revize Publikovat dne Vyprší dne
1 1.1.2006 31.1.2006
2 8.1.2006 15.1.2006


1.1.2006 je publikována revize 1. 8.1.2006 je publikována revize 2. 15.1.2006 je zneplatněna revize 2 a v ten moment jsou obě revize ve stavu Platnost vypršela nebo Archivováno. Neřeší se to, že původně měla revize 1 delší rozsah platnosti a že by tudíž v úvahu přicházela možnost revizi 1. znovu publikovat.

Práce s revizemi zpráv z hlediska uživatele

V nástrojové liště ve formuláři pro zprávy je ikona pro duplikaci zpráv, pomocí níž lze vytvořit kopii právě otevřené zprávy.

Tento duplikát nemá žádnou návaznost na původní zprávu, funkce slouží pouze k tomu, aby bylo jednodušší např. založit novou zprávu se stejnými metadaty či zdroji jako již existující zpráva.

Pro využití aparátu pro správu revizí a jazykových verzí se využívá ikona pro přechod na formulář pro správu těchto revizí či verzí.

Touto ikonou se přechází na formulář, ve kterém jsou vypsány všechny revize a jazykové verze dané zprávy a jsou přístupné funkce pro všechny proveditelné akce týkající se revizí či verzí.

Ve spodní části formuláře je seznam revizí a jazykových verzí rozdělený podle jazyků. Zobrazují se tyto sloupečky:

  • Pořadové číslo revize
  • Datum zprávy
  • Stav zprávy
  • Publikovat dne
  • Vyprší dne
  • Zaškrtávací okénka pro porovnání revizí zpráv či jiné operace s vybranými zprávami.

Klepnutím na pořadové číslo revize se přechází na danou zprávu. Revize, která se aktuálně nachází ve formuláři pro úpravy, je vyznačená tučně.

V horní části jsou tlačítka a další ovládací prvky pro vyvolání funkcí spojených s revizemi či verzemi:

  • Nová revize - zakládá novou revizi aktuální zprávy (ve stejném jazyce)
  • Nová jazyková verze - zakládá novou jazykovou verzi aktuální zprávy (v jazyce dle rozevírací nabídky)
  • Připojit existující - připojí jinou existující zprávu, která nemá žádné revize či verze jako další revizi či jazykovou verzi
  • Osamostatnit - vyváže zvolenou revizi ze seznamu revizí aktuální zprávy, čili změní se na samostatnou zprávu bez návazností na jiné revize či verze
  • Porovnat - umožňuje porovnat dvě zvolené revize či verze
  • Storno - návrat na formulář pro úpravu aktuální zprávy

Tlačítko Nová revize zakládá (bez dalšího potvrzovacího dialogu) další revizi aktuální zprávy. Vlastnosti této nové revize jsou následující:

  • V poli Nadpis je na začátku řetězec "*Verze x CZ:", pak následuje původní nadpis zprávy (CZ je zde jazyk zprávy)
  • Stav zprávy je vždy Vloženo
  • Datum a čas je nastaven na aktuální čas
  • Pole Publikovat přebírá obsah pole Vyprší dne z předchozí revize
  • Pole Vyprší dne je prázdné
  • Ostatní pole se přebírají z duplikované původní revize(s výjimkou technických položek typu Odkaz nadpisu, který se přidělí tak, aby odpovídal nové zprávě)

Revize zpráv lze libovolně mazat. Pokud např. existují revize 1,2,3, lze smazat i revizi 2, pak budou existovat pouze revize 1 a 3. Pokud smažeme revizi 3 a založíme novou revizi (z revize 1 či 2), bude mít nová revize opět pořadové číslo 3.


Tlačítko Nová jazyková verze zakládá novou jazykovou verzi. Výsledek se nijak neliší od nové revize s výjimkou nastavení jazyka, pořadové číslo revize pak odpovídá sekvenci revizí ve zvoleném jazyce. Pokud tedy zakládáme např. anglickou verzi zprávy v češtině, je v tomto kroku vytvořena zpráva, která nemá prázdná textová vstupní pole, ale všechny texty jsou převzaty z češtiny a může začít překlad zprávy.


Tlačítko Připojit existující vyvolá dialog pro výběr nějaké existující zprávy.

Klepnutím na šipku se spouští funkce pro připojení vybrané zprávy ke stromu revizí a jazykových verzí dané zprávy. Připojit lze jen zprávu, která je samostatná, tj. nemá jiné revize či verze. Výsledkem je, že připojená zpráva se stane součástí stromu revizí a verzí, její jazyk zůstává nezměněn a pořadové číslo revize odpovídá číslování v daném jazyce.

Může nastat konflikt ohledně stavů zpráv. Např. ze všech revizí může být jen jedna publikovaná. Pokud taková revize existuje a připojujeme publikovanou zprávu, vznikly by dvě publikované revize, což není přípustné. V takovém případě se zobrazí upozornění na tuto skutečnost a volba řešení.

Je zde třeba vybrat, která revize zůstane publikována a na jaký stav se změní druhá revize.


Inverzní funkcí je Osamostatnit, která umožňuje "vyvázání" zvolené revize ze stromu revizí a verzí aktuální zprávy a její označení za samostatnou zprávu. Aby bylo tlačítko aktivní, je třeba pomocí zaškrtávacího okénka vybrat alespoň jednu revizi. Vždy je vyžadováno potvrzení prováděné operace. V případě, že pro takto převáděné zprávy platí, že jsou ve stavu Publikováno nebo Archivováno a neexistuje žádná jiná revize (ve stejném jazyce) ve stavu Archivováno, je vypisována navíc informace o tom, že žádná zbývající revize nebude v prezentační části zobrazitelná.


U každé zprávy je možné měnit jazyk. Pokud v cílovém jazyce existuje jakákoli revize, je vždy vyžadováno potvrzení operace. Jsou možné dva případy:

  1. Zpráva není ve stavu Publikováno – změní se jen číslo revize (dle číslování revizí v daném jazyce)
  2. Zpráva je ve stavu Publikováno a v cílovém jazyce rovněž existuje publikovaná zpráva – kromě změny čísla revize se mění stav jedné ze zpráv. V takovém případě je třeba potvrdit akci a zvolit výsledný stav ohledně stavů zpráv:


Ze všech verzí dané zprávy může být pouze jedna ve stavu Publikováno. Pokud je spuštěn proces publikace nějaké zprávy (ruční změnou stavu nebo tlačítkem Publikovat) a je systémem detekován nějaký stav související s jinou verzí nebo s časovou platností, zobrazí se ve spodní části okna WebToDate místo formuláře nejprve dialog pro potvrzení tohoto úkonu nebo další informace.

Mohou nastat např. následující stavy:

  • Pokoušíme se publikovat zprávu mimo interval platnosti (Publikovat dne ještě nenastalo nebo Vyprší dne již nastalo)
  • Zpráva má nějakou předchozí verzi ve stavu Publikováno
  • Zpráva má nějakou následující verzi ve stavu Publikováno

Při publikaci zprávy se pak provádějí následující činnosti:

  • Převést verzí, které je eventuálně ve stavu Publikováno do stavu Platnost vypršela nebo Archivováno dle nastavení
  • Provést náhradu předchozí publikované verze za aktuální publikovanou verzi (tj. odstranit starou ze všech stránek, vložit novou identickým způsobem na tyto stránky)
  • Přegenerovat všechny relevantní stránky.

V tomto procesu ovšem hraji roli nastavení zmíněná v předchozích kapitolách. Publikace zprávy, která je mimo interval platnosti může být odmítnuta (podle nastavení ALLWAYS_ALLOW_PUBLISH). Pokud je možné zprávu publikovat, zjišťuje se, zda existuje jiná publikovaná verze zprávy. Pokud tomu tak je, provádí se následující:

  1. Náhrada předchozí publikované verze za novou. Nová verze se umísťuje na všechny stránky, na kterých se vyskytovala stará verze se zachováním všech atributů (styl, oblast, priorita).
  2. Přegenerování všech relevantních stránek
  3. Změna stavu předchozí publikované verze (dle konstanty ON_VERSION_PUBLISH)

Nakonec se ošetřují jiné verze, které jsou ve stavu Archivováno. Pokud je nastaveno ON_VERSION_PUBLISH = 0, provádí se změna stavu všech archivovaných verzí do stavu Platnost vypršela.

Ve výše zmíněném dialogu je tedy třeba nejprve vypsané akce potvrdit, pak se spustí tyto procesy. Po ukončení se vypíše, co bylo přesně provedeno a proces publikace verze zprávy je tím dokončen.

Publikace zprávy může být rovněž zamítnuta v případě, že existuje jiná verze zprávy, která je uzamčena jiným uživatelem. V tom případě se zobrazí informační dialog dle následujícího otisku obrazovky, publikaci zprávy nelze vynutit.

Porovnání revizí či jazykových verzí zpráv

Ve formuláři pro seznam verzí revizí a přecházení mezi nimi je tlačítko Porovnat verze, kterým lze porovnat dvě verze vybrané pomocí zaškrtávacích okének v tomto seznamu revizí.

Zobrazí se porovnání nadpisu, popisu a těla zprávy s grafickým vyznačením změn. Pokud se obsah daného pole nezměnil, je v této obrazovce pouze tato skutečnost uvedena a obsah pole není vypisován. Tlačítkem Storno se okno s výpisem porovnání uzavírá.

XML Export a import jednotlivých zpráv

Ve formuláři pro úpravu zprávy je tlačítko XML, kterým lze obsah dané zprávy (revize) exportovat či importovat v XML formátu. Toto je vhodné např. při překladech jazykových verzí - lze exportovat zprávu, odeslat ji k překladu externímu překladateli a obdržený výsledek opět naimportovat.

Použití tlačítka zobrazí formulář, kde je k dispozici funkce pro export a funkce pro výběr souboru a jeho import. Import je určen k aktualizaci právě editované zprávy. To znamená, že údaje v XML kódu, které by způsobily jiný stav, než přepsání existující zprávy jsou chybou a soubor se nenaimportuje.

Používaný XML formát je popsán v dokumentaci modulu XML export - import.

Jaké aktualizace se provedou automaticky a kdy je třeba ruční zásah obsluhy

Pokud se spouští publikace zprávy ručně, dojde vždy ke korektní výměně zprávy umístěné na stránkách ručně. Pokud se spouští publikace automaticky pomocí expirační úlohy (tj. publikuje se ve stanovený čas ze stavu Odloženo) dojde ke korektní výměně na stránkách pouze v případě, že na sebe intervaly platnosti navazují nebo se překrývají. Pokud je mezi těmito intervaly mezera, dojde k tomu, že nejprve je stará revize zprávy ze stránky odstraněna, při jiném spuštění expirační úlohy je nová revize publikována, ale stará už se na stránce v tu chvíli nenachází a tudíž se na ní ve výsledku nebude nacházet ani nová revize.

Další skutečnost, které je třeba věnovat pozornost, jsou Seznamy. Pokud se na nějaké stránce zpráva nachází díky seznamu a zpráva se převádí do stavu Vypršelo, je stránka se seznamem vždy automaticky přegenerována a odkaz ve stránce nezůstane. Opačně to ale neplatí – při publikaci zprávy se automaticky nezjišťuje, zda zpráva náhodou nevyhovuje kritériu nějakého seznamu a tudíž se odkaz na takovou zprávu nemusí automaticky nikde objevit. V takovém případě je potřeba pomocí plánované úlohy spouštět generování vhodné části stromu šablon tak, aby k požadované aktualizaci stránek došlo.

Možnost přesměrování na publikovanou revizi v prezentační části

Prezentační skript /scripts/detail.php může volitelně přesměrovávat uživatele na viditelnou revizi zprávy v případě, že vyvolané URL odpovídá zprávě, která není ve stavu Publikováno nebo Archivováno (neplatí pro náhled).

Chování je závislé na konfigurační konstantě REDIRECT_TO_PUBLISHED_VERSION. Pokud je nastavena na false, k přesměrování nedochází a žádost o nepublikovanou zprávu končí chybovou stránkou. Pokud je nastavena na true, pokusí se skript přesměrovat na viditelnou revizi zprávy vyhledáním dalších revizí ve stejném jazyce, a to v pořadí:

  1. Revize ve stavu Publikováno
  2. Revize ve stavu Archivováno
  3. Existuje-li víc archivovaných revizí, přesměruje se na tu s nejvyšším číslem revize.

Teprve v případě, že žádná viditelná revize neexistuje, přesměruje se na chybovou stránku.

Revize zdrojů

Práce s revizemi a jazykovými verzemi zdrojů je identická jako revize a jazykové verze zpráv. Specifikem je práce s položkami ve zdroji - všechny revize a jazykové verze zdroje mají stejný seznam položek (souborů) ve zdroji, tj. jedná se o identické soubory; nová revize či jazyková verze nezakládá kopie souborů ve zdroji, ale odkazuje se na stejné soubory jako předchozí revize.

Praktický význam mají zejména jazykové verze zdrojů - pomocí nich lze vytvořit více různých popisků pro různé jazyky, přičemž se používají stejné soubory, což je vhodné zejména při publikaci fotografií na vícejazyčných webech.

Zamykání a odemykání zpráv a zdrojů

Do procesu zpracování patří i funkce pro zamykání a odemykání (viz příslušné kapitoly popisující zpracování zpráv resp. zdrojů). Pokud by např. zpráva byla ve stavu Vloženo a nebyla uzamčena pro konkrétního uživatele, mohl by zprávu v tu chvíli měnit v podstatě kterýkoliv člen týmu. Tato funkce je tedy velmi užitečná minimálně v případech, že v týmech vždy existuje víc než jeden redaktor. Nezapomeňte ovšem po každé změně stavu zprávu odemknout, jinak další uživatel nemůže se zprávou pracovat.

Poznámka: tato funkce může být volitelně zapnuta či vypnuta. Ve variantě Enterprise je standardně zapnuta, ve variantě Standard naopak vypnuta. Toto se konfiguruje globálně v předvolbách WebToDate, viz kapitola Globální konfigurace WebToDate.

Další možnosti konfigurace

Konfigurovat lze možnost publikace zdrojů pro redaktory. Pokud v rámci serveru publikujete dokumenty ke stažení, můžete vyžadovat jejich schvalování. Pokud ovšem pracujete např. pouze s fotografiemi, které nenesou žádné informace, které by bylo nutno nějakým způsobem "hlídat" a schvalovat, je jednodušší umožnit redaktorům rovnou zdroje publikovat a tím ušetřit práci editora.

Jedná se o volbu ASSETS_SIMPLE_ACCESS_RIGHTS v konfiguračním souboru global.php.

Úkolování

Proces zpracování obsahu lze dále podpořit využíváním úkolů, pomocí nichž lze jednotlivým uživatelům nebo týmům přidělovat úkoly týkající se zpracování obsahu a sledovat jejich plnění.