Page tree
Skip to end of metadata
Go to start of metadata

Pomocí skriptletu cms/set-prop je možné hromadně změnit vlastnosti dokumentů a dalších entit v rámci úložiště.

Pro textové položky (vlastnosti typu string) lze použít zjednodušený zápis:

Skriptlet pouštěný z CLI
Syntax: cms/set-prop /path/to/entity:Vendor\\CMS\\Model\\EntityClass property=value (property2='second value' (property3=value3))

Například pro změnu atributu title u všech entit typu \Vivo\CMS\Model\Document, které jsou v úložišti zařazeny ve složce /vivoproject-pegert/ROOT/cs/novinky, na hodnotu Nový titulek budou parametry příkazu následující:

Skriptlet pouštěný z CLI
cms/set-prop /vivoproject-develop/ROOT/cs/novinky:\\Vivo\\CMS\\Model\\Document title='Nový titulek'

Ke změně atributů dochází pouze u potomků entity s danou cestou, nikoli u entity samotné (tedy /vivoproject-pegert/ROOT/cs/novinky zůstane nezměněna, zatímco /vivoproject-pegert/ROOT/cs/novinky/prvni bude upravena).

Změna více vlastností najednou a netextové položky

Je možné nastavovat i netextové vlastnosti např. logické hodnoty (boolean) a také je možné JSON zápisem nadefinovat více vlastností najednou.

Nastavení hodnot v administraci webu
# nastavení přesměrování http na https
# skriptlet spouštíme z backendu Viva
/cofidis-czech-site-preview:\Vivo\CMS\Model\Document JSON {"secured":true}

# nastavení více vlastností jednou JSON konfigurací
cms/set-prop /path/to/entity:Vendor\CMS\Model\EntityClass JSON {"author":"John Doe","image":null,"navigable":true,"position":3}

Po změně vlastností je doporučeníhodné spustit reindex webu.

Na co si dát pozor:

  • Cesta k entitě musí být včetně site, tedy např. /vivoproject-pegert/ROOT/cs/novinky, nikoli jen /ROOT/cs/novinky
  • Při použití uvozovek v definici hodnoty property musí být použity jednoduché uvozovky (property='value'), dvojité (property="value") nefungují
  • Při použití scriptletu z CLI musí být \ v názvu třídy escapovány na \\ (správně je tedy např. \\Vivo\\CMS\\Model\\Document). Při použití ze scriptlet manageru v administraci nesmí být \ změněno na \\ (správně je tedy např. \Vivo\CMS\Model\Document)
  • Změna vlastnosti se nemusí povést (nic není neprůstřelné). Zažádejte si support nebo zkuste náhradu pomocí bash nástrojů viz další bod (wink)
  • Set-prop skriptlet nelze použít, co s tím? Využijte bashové nástroje viz Vyhledávání a hromadné nahrazování v terminálu/bashi

  • No labels

2 Comments

  1. Jam změním atributy netriviálních datových typů. Například odkaz na jiný dokument přes ref UUID, výběr jazyka? Dojde k zalogování operace - bude tedy dostupná v rámci auditu a dojde ke změně autora úpravy v samotných dotčených dokumentech?

    1. U většiny skritpletů jde o operace odpovídající práci na terminálu/CLI a tím pádem se do auditu nelogují.