Skip to content

Pages that change with time

Some content should change automatically as dates pass: a “sign-ups are open” banner that flips to “sign-ups closed,” a price block that changes at a deadline, a list that only ever shows the current round. Live time lets you build that with dates instead of a republish.

Any element can carry a visibility rule based on a date instead of an audience: before a date, after a date, between two dates, or matching “the current period” of an edition’s schedule. Set these the same way you set a members-only or signed-out-only rule — from the element’s visibility settings.

These rules keep working, and update themselves, right in the visitor’s browser, checked against a clock corrected against your server rather than the visitor’s own device clock (which may be wrong). If a visitor is already looking at the page when a deadline passes, the affected content flips on its own, without a page reload.

A repeater or table can be filtered to “items belonging to @current.edition” — whichever edition is current right now, resolved from its schedule. This is the recommended way to show “this round’s entries”: one filter value, no dates to manage on the page itself. Combine it with a per-round detail page (one page template, one item per round) for a public timetable that never needs editing after the first round.

None of this requires you to open the editor and hit Publish again when a date arrives. A schedule’s dates, or an edition’s start and end, are edited once in the CMS; every page that reacts to them — visibility rules, current- round lists, form gates, edit locks — reflects the change immediately for every visitor.

Anything that actually needs to be enforced — whether a form still accepts submissions, whether a member can still edit their entry — is always checked on your server, every time, never only in the visitor’s browser. The browser clock only decides what’s shown; it never decides what’s allowed.

A visitor browsing with JavaScript disabled still sees a sensible page: it shows exactly what was true at the moment the page was last published, computed with the same rules. It won’t flip live as a deadline passes for that visitor, but nothing breaks and nothing shows the wrong content by default — a page just falls back to “what was current when this was published” instead of updating itself.

A time-filtered list checks its date rule against every candidate item. For a list under 500 items, this happens live, right in the browser, and updates as time passes. Past that size, the list is published as a plain snapshot of what matched at publish time instead — MATRIZ shows a note about this in the editor when it applies. If you expect a list to grow past a few hundred items, prefer per-round detail pages and a list filtered to “the current round” (as above) over one giant time-filtered list — that shape stays fast and live at any size.

A festival page shows “Early bird pricing — ends March 1” before March 1, “Regular pricing” between March 1 and April 1, and “Registration closed” after April 15 — all driven by one schedule on the current edition, with no manual page edits as each date passes.