Docs / Content
Editing content & the edited flag
How per-site overrides work, what survives regenerate-all, and when to use reset vs reroll.
How content lands on your site
Every brand site has ~15 long-form fields per casino × every enabled locale — introduction, banking section, sportsbook overview, FAQ, etc. At site-bootstrap time the platform runs a spintax template through a deterministic per-tenant seed and stores the result in site_casino_content (scc for short). That stored row is what the public render reads. Spintax never runs at request time.
The bootstrap is per-tenant: two sites on the same casino get two different outputs because the seed is siteId:casinoId:lang:field. No two brand sites ship identical paragraphs.
The edited flag
Every scc row carries an edited flag. The platform sets it the moment you open the cabinet's content editor and save a change. From that point on:
- Regenerate all won't overwrite edited rows. Your changes survive.
- Per-field regenerate on an edited row prompts a confirm dialog — you have to actively choose to discard your edit.
- The cabinet shows a small edited badge on every row that's been touched.
Generate vs Reroll vs Reset
Three buttons, three different intents:
- Generate — runs only on empty scc rows. Creates a fresh materialised paragraph from the current spintax template + facts. Used right after adding a new locale or assigning a new casino.
- Reroll — runs on populated rows. Re-resolves the spintax with the same seed, picking a different branch. If the row was edited, the cabinet asks first.
- Reset — deletes the scc row entirely. Next public render falls back to the runtime-spintax engine for the two synthetic fields, or shows nothing for the rest until you Generate again.
The badge legend
- Amber "needs review" — generated but not yet edited.
- Green "ok" — edited (your hand-curated text).
- Neutral / empty — no scc row exists; Generate to create one.
These map to the editorial workflow: bootstrap a site → it's all amber → you triage, eyeball, edit → cells flip green → ready to deploy.
UI strings vs content
There are two layers of editable text. Content (what this guide covers) is the per-casino-per-locale prose. UI strings are the localised labels — button text, headings, footer link names. Both live under per-site overrides; UI strings are edited at Strings in the cabinet, content at Content.
What does "Regenerate all" actually do?
It iterates every scc cell where edited=0 and re-runs the spintax template against the current catalog facts. Useful when you've updated a casino's licence, payment methods, or any other fact that's referenced via variables — the non-edited prose picks up the new data automatically.
I edited a row by accident. How do I get the generated version back?
Click Reroll on the row and confirm the discard. The platform regenerates from the spintax template with the original seed — but be aware the new output won't necessarily match the pre-edit text, since spintax is a probability tree, not a single fixed string.
Can I import content from elsewhere?
Not via the UI yet. If you have a corpus you want to bring in, ping us — we can bulk-import on the back-end and mark every row as your curated copy so it survives every catalog refresh.