Python Plone: Synchronisation der ZODB mit externen Datenbanken

Plone ist als komplexes CMS mit der ZODB ideal um hierarichische Daten mit komplexer Rechteverwaltung abzulegen. Damit lassen sich mehrschichtige Konfigurationsdaten benutzerfreundlich abbilden.

Oft werden diese Konfigurationsdaten dann aber von weiteren Programmen benötigt, die wiederum auf relationalen Datenbanken aufbauen. Die Daten müssen also aufbereitet und exportiert werden.

Dabei will man vor allem in großen Datenbeständen nicht jedes Mal die Datenbank neu erstellen. 

Es müssen also folgende Fälle beachtet werden:

  • Direkte Änderung der Daten bei Änderung im Frontend

  • Datenaufbereitung auf Basis der geänderten Objekte

  • Asynchroner Export, sodass der Nutzer nicht auf den Datenabgleich warten muss

  • Kapseln mehrerer Änderungen einer Plone-Transaktion in einer Datenbank-Transaktion, sodass keine fehlerhaften Zustände entstehen können

  • eine abgebrochene Transaktion darf nicht exportiert werden

  • Unerreichbarkeit der Zieldatenbank

  • Möglichkeit des manuellen Datenabgleichs beider Systeme für die Problembehandlung

  • Eingriffsmöglichkeiten als Admin auf jeder Ebene

In diesem Kurs erarbeiten wir gemeinsam mit Ihnen eine Lösung, die auf der Zope-Adapter-Architektur, welche Kernbestandteil von Plone ist, und dem Warteschlangen-Pattern basiert. Dabei gehen wir auf mögliche Problemquellen ein und zeigen, wie diese behoben oder umgangen werden können.

Termine