Superhero trio

Workflow, publishing restrictions a user roles – superhrdinové publikace

V Sitecore je publikace velmi mocný proces. Na rozdíl od jednoduchého přiřazení hodnoty v databázi, se při publikaci v Sitecore fyzicky přemisťují soubory z jedné databáze do jiné. Tato ceremonie může ale nabývat hromady různých odstínů, podle použití trojkombinace workflows, publishing restrictions a user roles.

Kdy je item připraven k publikaci?

Aby mohl Sitecore vypublikovat obsah, provádí se řada kontrol, které musí být splněné, než k samotné publikaci dojde. Sitecore kontroluje, že:

  • item je ve “Final Workflow State” – to znamená, že pokud je na itemu navázané workflow, musí být pro úspěšnou publikaci prošlé všechny jeho kroky až do posledního kroku, označeného vývojáři jako “Final Workflow Step”. Pokud jsou workflow vypnutá v konfiguraci (více viz článek Jak správně zapnout workflows v konfiguraci)  nebo nejsou na daný typ item template přiřazena, pak jsou takové itemy považovány vždy jako nezatížené workflows a tím tedy pokaždé chápány jakoby byly ve “final workflow state”.
  • item odpovídá publishing restrictions – na každou itemu a na každou její verzi je možné nastavit publikační restrikce, které určují zda je daná itema publikovatelná nebo ne, případně od kdy do kdy. Díky této restrikci je možné nastavit přesný životní cyklus itemy nebo její verze. Pokud tedy využíváme itemu například pro správu týdenních promocí a připravujeme obsah na měsíc dopředu, můžeme vytvořit 4 verze itemy, každou s nabídkou pro jeden týden v daném měsíci. Dále nastavíme publishing restrictions tak, aby v každém týnu byla vidět pouze jedna verze, která je platná pro daný týden.
    Publishing restrictions settings
    Nastavení publishing restrictions pro verze jedné itemy.

    Tímto zajistíme, že nikdy nebude vypublikován obsah, který nemá být vypublikován. Na celkové nastavení publishing restrictions je pak možné se podívat v kalendáři a mít hned přehled o publikovatelnosti jednotlivých verzí

    Publishing restrictions viewer
    Zobrazení publishing restrictions pro verze itemy.

Co je publikováno?

Publikována je vždy poslední verze itemy, která prošla celým workflow. Dejme tomu, že máme dvě verze itemy – 1 a 2. Verze 1 prošla celým workflow a dospěla do final workflow state. Je tedy připravena k publikaci. Oproti tomu verze 2 je stále v přípravách a není připravena pro publikaci. Neprošla tedy ani workflow a nenachází se ve final workflow state. Při publikaci se tedy vypublikuje verze 1, i když na itemě se nachází verze s vyšším číslem. Verze 1 totiž splňuje všechny parametry pro publikaci, zatímco verze 2 nikoli. Sitecore o tomto uživatele spraví hláškou, která se ukazuje při editaci obsahu:

Notifikace o publikovane verzi
Notifikace Sitecore o publikované verzi

 Kdo publikuje obsah?

V Sitecore lze k publikaci přistoupit několika způsoby – lze publikovat manuálně, poloautomaticky nebo zcela automaticky. Více o publikaci a principech se můžete dočíst ve článku Architektura publikace v Sitecore. Pro rychlé připomenutí uvedu hlavní rysy každého typu publikace:

  • Manuální – jedná se o scénář, kdy všichni nebo zvolení editoři obsahu mohou publikovat obsah pomocí stisku tlačítka publikace a volby typu publikace (Smart Publish, Site republish, Incremental Publish – více detailů o publikačních možnostech o publikaci webů a publikaci items je dostupných na Sitecore Documentation  webu)
  • Automatická – o publikaci se stará Sitecore prostřednictvím plánovaných úloh v přednastavených intervalech
  • Poloautomatická – obsah se publikuje automaticky na základě dokončeného workflow.

V případech, kdy se o obsah stará několik uživatelů a není potřeba publikovat velké množství items, bývá zpravidla povolena manuální publikace a doplňkově je využito plánované úlohy pro noční publikace.

Naopak v případech, kdy Sitecore pohání více webů s desítkami či stovkami tisíc items, které upravuje celá řada editorů, je nejlepší nechat publikaci zcela v režii systému. Tím je zaručena maximální kontrola nad průběhem publikací a nehrozí problémy vlivem lidského faktoru.

Workflows

Workflow v Sitecore hraje důležitou roli ve dvou případech: v prvním případě představuje prostředek pro lepší kontrolu vydávaného obsahu – typickým případem je schvalovací proces obsahu před vydáním. Ve druhém případě umožňuje připravit řadu kroků, které jsou na sobě závislé a mohou spouštět určité akce – typickým případem jsou nasazení marketingových cílů nebo spouštění A/B testů. Nově v Sitecore 8 jsou to i akce spojené se social aktivitami – např. obnovení účtu.

V řešeních stavějících na Sitecore, kde se na tvorbě obsahu podílí větší týmy se zpravidla strmější hierarchií, mají workflows většinou vícero kroků. Typickým příkladem může být stav, kdy je item ve zpracování editorem – v takovém případě může být například ve stavu “Draft”. Pokud editor skončí s editací, může poslat daný obsah na revizi a schválení – v takovém případě může workflow nabývat například stavu “Awaiting approval”. Schvalující role má pak možnost obsah editovat, schválit nebo zamítnout a poslat zpět autorovi. Pakliže obsah schválí, dostane se obsah do např. stavu “Approved”. Toto workflow je nastaveno již v každé instalaci Sitecoru jako referenční, ale zároveň plní valnou většinu požadavků na schvalovací workflow.

Vzhledem k tomu, že v takovém workflow není v plánu žádný další krok, je možné stav “Approved” označit jako “Final Workflow Step”. Sitecore je tím informován, že workflow je ukončeno a obsah je připraven k publikaci.

Workflow v Sitecore může být nastaveno dle libosti z hlediska počtu kroků, názvu kroků, akcí a příkazů. Platí však, že na jedné itemě je možné mít vždy pouze jedno aktivní workflow v určitém kroku.

Uživatelské role

Uživatelské role slouží standardně k určení obsahu, který má uživateli (v určité roli) být dostupný a jaké úkony s obsahem může provádět. Ve spojení s workflow pak dovolí určit kdo má kterou část životního cyklu  obsahu na starosti.

V Sitecore určuje nastavení uživatelských rolí přístup k jednotlivým items pro danou roli. Vzhledem k tomu, že i nastavení workflows je řešeno prostřednictvím items, je tak možné ovlivnit, co která role může v rámci workflow řešit.

Vrátíme-li se k předchozímu příkladu se schvalovacím workflow, můžeme si představit dvě role – jedna představuje editora, který připravuje obsah a druhá představuje supervizora, který obsah reviduje a schvaluje. Tak je možné docílit úplné kontroly nad tím, která role smí poslat v rámci workflow obsah do stavu “schváleno” a připravit tím tedy obsah k publikaci.

Role není nutné používat s workflow, lze je použít i samostatně. Totéž platí i naopak, ale praktické využití workflows je pak nižší, protože všichni mohou vše. V takovém případě tedy postrádá skoro smysl mít jakékoli schvalovací workflow.

Leave a Reply

Your email address will not be published. Required fields are marked *