viur-revision¶
Automatische Revisionsverfolgung und Rollback für ViUR-Skeletons.
Warum viur-revision?¶
viur-revision legt bei jedem Schreibvorgang einen Schnappschuss des Zustands
vor dem Schreiben eines verfolgten Skeletons in einer begleitenden
Datastore-Art (<kind>_revision) an. Das ergibt:
- Durchsuchbare Änderungshistorie — jede Revision speichert den vollständigen Datensatz sowie die Liste der geänderten Bones.
- Rollback per Klick — jede vergangene Revision lässt sich in den Live-Datensatz zurückspielen; der aktuelle Zustand wird zuvor automatisch gesichert, sodass die Wiederherstellung selbst rückgängig gemacht werden kann.
- Gestaffelte Aufbewahrung — ein täglicher Hintergrund-Task dünnt die Historie je nach Alter auf einen Eintrag pro Stunde, Tag oder Woche aus.
- Steuerung pro Skel — jeden Schreibvorgang verfolgen oder nur bestimmte Bones; das Coalescing-Fenster feinjustieren, das schnelle Auto-Save-Fluten zu einer einzigen Revision zusammenfasst.
Beispiel¶
from viur.revision import RevisionAbstractSkel, RevisionModule
class ExampleSkel(RevisionAbstractSkel, Skeleton):
revision_fields = ["title", "body"]
class Example(RevisionModule, List):
...
Das Modul stellt nun list_revision, view_revision,
apply_revision, delete_revision sowie einen täglichen Aufbewahrungs-Task
bereit — keine weitere Verdrahtung nötig.
Nächste Schritte¶
- Erste Schritte — installieren, Skeletons anbinden, Endpunkte aufrufen.
- Aufbewahrung — wie die tägliche Bereinigung entscheidet, was bleibt.
- Verwendung im Admin — fertige admin4-Komponente für eine Klick-Oberfläche der Revisionshistorie.
- API-Referenz — aus den Quell-Docstrings generiert (inklusive vollständiger
Request-/Response-Formen):
RevisionAbstractSkel,RevisionDatabaseAdapter,RevisionModule.