Viele Systeme - z.B. auch das DokuWiki, mit dem wir unsere Wiki-Seite betreiben - speichern bei Änderungen an Seiteninhalten automatisch die alte Version als Historie. Diese automatische Speicherung läßt sich bei Bedarf durch Setzen eines Häkchens unterbinden, wenn z.B. die Änderung so geringfügig ist, dass sich eine Sicherungskopie des gesamten Inhalts nicht lohnt.
Für die Erstellung eines solchen Backups existieren prinzipiell zwei Wege:
- Das jeweilige Modul erzeugt beim Speichern von Änderungen eine Sicherung.
- In der Datenbank ist ein entsprechender Trigger konfiguriert.
Damit BC2 unabhängig von der Speichermethode prüfen kann, ob Revisionen vorhanden sind, wird folgende Namenskonvention eingeführt:
- Es muss eine Tabelle mod_<Modulname>_revisions existieren.
- In dieser Tabelle muss eine Spalte section_id existieren.
Für die Prüfung stehen zwei Methoden zur Verfügung:
- Über die Klasse CAT_Sections
- Über ein Dwoo-Plugin für die Verwendung in Templates
Im Quellcode (z.B. aus einem Modul heraus):
if(CAT_Sections::hasRevisions($block_id)) { ... }
?>
Im Template: