One lifecycle, two layers
Content systems grow overlapping kinds of visibility: a draft flag, a scheduled state, a preview mode, a staging server for templates. Each is a mechanism of its own, and they interact badly. Loam has one lifecycle: two layers, live — what visitors see — and draft, staged beside it. Every change lands in draft first: a new page, a corrected price, a replaced image, an edited template. There is no third state.
Preview is the whole site
Ask your agent what is staged and you get the list with a preview link. The preview shows the entire site as it would be: the new page in the real menu, in its place in the overviews and the search, with the real images, in every language. A small bar on every page says Draft preview and offers the link to pass on. The link is a secret: renew it and the old one stops working; when the last draft is published or dropped, it dies with the round.
Publishing, with a check
Publishing moves a draft to live: one thing, a chosen set, or everything staged. A set goes live as a whole or not at all, so a new page and the menu item pointing to it never arrive separately.
Before anything goes live, the site judges itself as it would be: every link resolves, every required field is filled, every template parses and the site's own settings still start. A draft that would break the site does not go live, and you are told why. The check is the same for everyone and cannot be skipped.
Drop, take back, remove
| Action | What happens |
|---|---|
| Drop a draft | It disappears from the draft layer; the live site was never affected. |
| Take back | Something live returns to draft, to be fixed and republished, or dropped. |
| Remove for good | Take back, then drop. Reversible until the last step — and even then the file is in history. |
Taking back is refused if it would break what remains — a page another page still links to, or the home page — so the references are fixed first.
Templates included
A new template is a draft like any other change, previewed on the real site and refused if it does not parse. The draft layer is the staging environment. And because nothing staged reaches a visitor, a key that may write but not publish can be handed out without fear.