Funktionen im Generator zur Versionierung von Daten

in  Generator , , ,

Funktionen im Generator zur Versionierung von Daten

ModuleStudio erlaubt die Nutzung unterschiedlicher Doctrine-Erweiterungen, indem diese im jeweiligen Anwendungsmodell aktiviert und ggf. konfiguriert werden. Neben Baumstrukturen (tree / nested set), lesbaren Permalinks (sluggable) oder Übersetzungen zur Umsetzung mehrsprachiger Daten (translatable) sowie weiteren Funktionen steht hier auch die Möglichkeit zur Verfügung, die Änderungen an Datensätzen in Form einer Revisionierung aufzuzeichnen. Dieser Beitrag gibt einen Überblick über die damit einhergehenden Features. Als gemeinsame Basis der im Folgenden beschriebenen Funktionen kommt die Loggable-Extension für Doctrine zum Einsatz.

Für jeden Datensatz lässt sich eine Liste aller Änderungen, die sogenannte Historie aufrufen (siehe ersten Screenshot). Diese Historie zeigt alle Versionen absteigend untereinander und es lässt sich jeweils die Liste der geänderten Werte einblenden. Ferner ist es möglich, die Detailansicht der jeweiligen Version in einem Fensterchen aufzurufen - das geht auch für mehrere Versionen gleichzeitig, so dass sich mehrere Fenster nebeneinander stellen und vergleichen lassen.

Es ist ferner möglich, zwei Versionen mittels Checkboxen auszuwählen und eine Vergleichsansicht aufzurufen (zu sehen im zweiten Screenshot). Hierbei werden die Änderungen in roter und grüner Farbe hervorgehoben, ähnlich den diff-Ansichten auf GitHub.

Die Historienansicht erlaubt es auch, beliebige Versionen wiederherzustellen. Dies bewirkt, dass der entsprechende Datensatz wieder die dazugehörigen Werte erhält. Das Resultat wird wiederum als neue Version gespeichert, so dass der Verlauf nicht beeinträchtigt wird. Eine Sonderform dieser Funktion ist eine spezielle Seite, die Zugriff auf gelöschte Datensätze erlaubt und eine Wiederherstellung “undelete” ermöglicht. Ähnlich dem Papierkorb in Windows lassen sich also gelöschte Daten wieder aus der Versenkung holen.

In den Grundeinstellungen der generierten Anwendung gibt es einen Reiter, der die Konfiguration der Versionierung erlaubt. Per Standard ist die Historie nicht begrenzt; es ist aber möglich, wie im dritten Screenshot gezeigt wird, eine Limitierung über entweder die Anzahl der Versionen oder über einen Zeitraum einzustellen. Im Beispiel würden Projekte nur maximal die letzten 25 Versionen speichern, wohingegen die Historie von Aufgaben für 18 Monate aufgehoben werden. Ein zu beachtender Aspekt hierbei ist, dass die veralteten Versionen nicht einfach weggelöscht werden: statt dessen werden sie zusammengefasst bzw. konsolidiert, so dass weiterhin eine Wiederherstellung möglich ist.

Auch für das Zusammenspiel der Versionierung mit anderen möglichen Erweiterungen steckt Funktionalität im Generator. Wird beispielsweise eine Baumstruktur verwendet, so wird bei der Wiederherstellung gelöschter Daten geprüft, ob der vorherige Elterneintrag noch existiert. Falls dies nicht der Fall ist, wird der Eintrag auf der Hauptebene, also ohne Elterneintrag, wiederhergestellt, um ungültige Zuordnungen zu vermeiden.

Funktionen im Generator zur Versionierung von Daten
Funktionen im Generator zur Versionierung von Daten
Funktionen im Generator zur Versionierung von Daten

Weitere Beiträge in Kategorie Generator

Verbesserungen rund um Doctrine im Bundle-Generator
- Es geht weiter mit den Aufräumarbeiten im Generator von ModuleStudio: nach den im letzten Beitrag beschriebenen Anpassungen rund um PHP 8 liegt aktuell der Fokus auf den Umgang mit Doctrine-Entitäten …
Der Bundle-Generator bekommt eine Verschlankungskur
- In den letzten Tagen sind die ersten Arbeitsschritte zur weiteren Modernisierung der von ModuleStudio generierten Symfony-Bundles bzw. Zikula-Module umgesetzt worden. Dieser Beitrag zeigt kurz die …
ModuleStudio 1.4.0 wurde soeben veröffentlicht
- Eine neue Version von ModuleStudio steht zum Download auf der Projektseite bereit. ModuleStudio 1.4.0 bringt komplette Unterstützung von Anwendungen für das gestern veröffentlichte Zikula 3 und dem …
Neue Generator-Verbesserung zur Darstellung von Geodaten
- Bereits seit einigen Jahren ist es möglich, Entitäten in ModuleStudio als geografisch zu kennzeichnen. Dies führt dazu, dass den entsprechenden Objekten Felder zur Speicherung von Koordinaten …
ModuleStudio 1.3.2 ist jetzt verfügbar
- Eine neue Version von ModuleStudio steht zum Download auf der Projektseite bereit. Wer das Tool bereits nutzt, kann auch die integrierte Update-Funktion nutzen, um das Programm zu aktualisieren. Der …