Časová platnost obsahu

jNetPublish disponuje několika mechanismy, které umožňují definovat rozsah platnosti obsahu a použít tento údaj při jeho prezentaci.

Možnosti využití časových údajů určujících platnost dat zahrnují jednak přímé ovlivnění výpisu, jednak konfiguraci mechanismů cache, a to jak na straně serveru, tak pomocí prostředků HTTP. Tento článek je třeba chápat jako základní přehled.

Pohled autora obsahu

Platnost jednotlivých assetů

Autor obsahu může nastavovat u všech assetů hodnoty atributů validFrom a validTo.

Toto nastavení samo o sobě nemusí vést ke skrytí obsahu z prezentace. Vždy je třeba dohodnout a zdokumentovat způsob, jakým bude tyto hodnoty zohledňovat prezentační logika: neplatné položky se mohou zobrazovat v archivu, nezobrazovat se vůbec atp.

Platnost výčtů assetů

V případě některých typů výčtů assetů může autor obsahu explicitně nastavit dobu platnosti náležení položky do seznamu; toto nastavení je nezávislé na platnosti samotné položky.

V tom případě se systém chová při zobrazení transparentně, položka se při výpisu přeskakuje, aniž by to měl autor prezentační logiky možnost ovlivnit.

Vznik nových verzí assetu

V assetu se automaticky ukládá datum poslední změny assetu. Autor obsahu si tuto hodnotu může zobrazit, ale v principu se o ni nemusí starat.

Možnosti autora prezentační logiky

Zjištění platnosti assetu

Vedle atributů validFrom a validTo (které zavádí Obecný asset) je možné přistupovat také k dynamicky dopočítávaným atributům isValid, wasValid a willBeValid. Viz popis těchto atributů.

Filtrování seznamů assetů

Podporu pro nastavení filtrování assetů podle platnosti vzhledem k aktuálnímu datu mají všechny zdroje assetů. Tímto způsobem lze snadno definovat, jak zohlednit nastavení atributů validFrom a validTo u filtrovaných assetů.

Přístup k datu změny obsahu

Z pohledu prezentační logiky je datum poslední změny běžný atribut, jehož hodnotu je možné přečíst a libovolně s ní nakládat v šabloně. Viz seznam souvisejících atributů.

Ovlivnění cache obsahu

Autor prezentační logiky má k dispozici určité prostředky jak ovlivnit ukládání obsahu do cache, a to jak v případě obsahové cache (na straně serveru), tak prostředky protokolu HTTP (hlavičky Last-Modified, Expires…).

Změnu hlaviček a omezení platnosti obsahové cache je možné vynutit pomocí příkazu limvalid a dále ještě pomocí volby enableTimeCheck příkazu options.

Při skládání stránky se evidují platnosti a poslední změny všech assetů, které se na výsledné stránce nějak podílejí: obsahových assetů, šablon, formátovačů, všech assetů v datových zdrojích apod. Z těchto údajů se odvodí:

Last-Modified
Čas, kdy na stránce došlo (nebo spíš mohlo dojít) k poslední změně, ať již editací nebo změnou platnosti některého assetu. Této informace mohou využívat například vyhledávače pro detekci změn.
Expires
Udává příští změnu platnosti, která může mít vliv na podobu stránky. V reálných aplikacích se doporučuje tuto funkci nepoužívat, protože webovský prohlížeč si přítomnost tohoto údaje vyloží jako pokyn pro uložení do cache. To jednak způsobuje snižování návštěvnických statistik a jednak vznikají problémy, pokud se obsah stránky později změní editací.

Generování obou hlaviček může být v konfiguraci systému jNetPublish zapnuto nebo vypnuto.

Verzování URL

Každá generovaná URL může obsahovat parametr, jehož hodnota se změní pokaždé, když se změní verze obsahu, na který URL odkazuje – viz verzování URL. Tímto způsobem je možné eliminovat některé negativní dopady použití hlavičky Expires.

Pro vložení příspěvku do diskuse se přihlašte.