Versionshistorie
Vor jedem Speichern einer Seite (auch der CSS/JS-Zuordnung), eines Snippets, einer CSS/JS-Datei, eines Workflows, eines eigenen Workflow-Nodes oder eines globalen Blocks sichert der Server den bisherigen Stand – ebenso bevor ein Import eine Seite oder Datei überschreibt (Autor Import).
- Zusammenfassen: Speichert derselbe Autor innerhalb von 2 Minuten erneut, entsteht keine neue Version – erhalten bleibt der Stand vor dieser Bearbeitungsrunde. Unveränderte Stände werden nicht doppelt gespeichert.
- Umfang: höchstens 100 Versionen je Objekt; gelöschte Objekte verlieren ihre Versionen. Nicht in Bundles enthalten.
- Autor: Benutzername,
Token „Name“oderImport.
GET /revisions?kind={page|snippet|asset|workflow}&id={id} 🔑
Versionen eines Objekts (kind auch flownode, globalblock), neueste zuerst: [{ "id": 12, "kind": "page", "object_id": 5, "author": "admin", "created_at": 1791223332, "size": 4810 }].
GET /revisions/{id} 🔑
Eine Version samt data – dem gespeicherten Objekt im selben Format wie GET /pages/{id}, /snippets/{id}, /assets/{id} bzw. /workflows/{id}.
POST /revisions/{id}/restore ✏️
Setzt das Objekt auf diesen Stand zurück und liefert es (wie PUT). Der aktuelle Stand wird vorher selbst als Version gesichert – das Zurücksetzen ist also rückgängig zu machen. Bei Seiten bleiben Slug, Domains, Standard-Website und Veröffentlichung unverändert (keine URL-Änderung, kein unbeabsichtigtes Offline-Nehmen); CSS/JS-Zuordnungen auf inzwischen gelöschte Dateien entfallen. Bei Seiten gehört der Blockbaum (blocks) dazu. Bei Snippets werden Inhalt, Beschreibung und Baustein-Schema zurückgesetzt (nicht der Name, an dem includes und Blöcke hängen; Versionen ohne schema lassen es stehen), bei globalen Blöcken Blöcke und Beschreibung (nicht Name und Ordner), bei CSS/JS der Inhalt, bei Workflows Flow und Beschreibung (nicht Name und enabled).