Č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.