# `MishkaCmsCore.Runtime.Resources.Notifiers.PageEditions`
[🔗](https://github.com/mishka-group/mishka_cms_core/blob/v0.0.1/lib/mishka_cms_core/runtime/resources/__notifiers/page_editions.ex#L5)

Keeps a written page's row in `MishkaCmsCore.Runtime.States.SiteState`'s editions index, on the
node that wrote it — what `MishkaCmsCore.Runtime.PageEditions.editions/2` reads instead of the
database.

Notifiers run **after the transaction commits**, for every action of a resource that lists this —
master twins, a draft's publish, a bulk action and an action added later included — and in the
writing process, so the request that writer makes next is answered with the row as it now is. A
create or an update puts the row (`SiteState.put_page_edition/1`), which takes it out again when
it is inactive or archived; an archive or a delete takes it out.

Every other node hears the same write over `Ash.Notifier.PubSub` and applies it in `SiteState`,
which leaves alone the broadcasts this node sent.

No page is compiled again for this. A page reads its group's editions on every render, so a
sibling added, moved or removed is offered, or no longer offered, without its module changing.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
