Plone Migrationsstrategien

Plone Migrationen von klein bis groß sind i.A. eine Herausforderung - insb. bei Plone Installation mit einer langen Historie oder komplexen Anforderungen. Migrationen werden schnell komplex, wenn eine Aktualisierung von Archetypes auf Dexterity ansteht oder neuerdings kommt mit Plone 5.2 auch die Migration von Python 2.7 Code auf Python 3 auf die Agenda jedes Plone Entwicklers.

Open Space

Zielgruppe:

Alle Jahre wieder hat man als Plone Entwickler mit Plone Migrationen zu tun. Sehr oft haben Plone Installation insb. im Hochschulbereich eine sehr lange Laufzeit und zwischen einem Major Upgrade einer Plone Installation können auch schon mal 10 Jahre liegen und man hat es mit Versionssprüngen von Plone 2/3 nach Plone 5 zu tun. Gerade bei großen Installationen wie bei Universitäten hat man es sehr häufig mir eine Akkumulation von historisch gewachsenem Code zu tun, der im Rahmen einer Migration entweder portiert oder neu geschrieben werden muß. Neben der reinen Migration von Code und Funktionalität als Teil eines Migrationsprojekts, geht es in diesem Vortrag um die Migration der Daten von einer alten Plone Installation in ein neues Zielsystem.

Grundsätzlich gibt es drei verschiedene Ansätze:

  • die Plone-eigene Migration für Standard Installationen
  • Migration (Export/Import) via Transmogrifier
  • Migrationen mittels eigener Migrationsskripte bei komplexen Sites und komplexer Umorganisation von Daten und Strukturen

Mein Fokus im Vortrag wird auf Migrationen mittels eigener Migrationsskripte liegen. Im Laufe der Jahre haben die eigenen Migrationen verschiedene Ansätze durchlaufen. In aktuellen Projekten setzen wir auf eine Mischung einem on-the-fly Export von Daten aus dem Quellsystem und einen direkten Import in das Zielsystem über plone.restapi. Durch diesen Ansatz erzeugen wir auf dem Zielsystem eine "saubere" Plone Site ohne Altlasten und kümmern uns um die Anpassungen von Daten, Datenstrukturen und Contentstruktur innerhalb eines Skripts auf dem Quellsystem. Mit Hilfe dieses Ansatzes haben wir bereits ca. zehn Projektsites und Firmenauftritten migriert. In dem Vortrag werde ich über Vor- und Nachteil berichten und wie wir mit den Erfahrungen für zukünftige Plone Migrationsprojekte umgehen möchten.

Andreas Jung

ZOPYX

Andreas Jung entwickelt seit 25 Jahren mit Python als Hauptprogrammiersprache Lösung im Bereich Web, Content Management, Electronic Publishing bis hin zu Robotik und Industrie 4.0. Interessenschwerpunkte sind skalierbare Lösungen mit der Integration von beliebigen Drittsystemen, Publishing Lösungen im Bereich der technischen Dokumentation, Industrie, Medizin und Healthcare sowie thematisch komplexe Projekte mit einem herausfordernden Anforderungsmanagement. Andreas Jung realisiert Plone Lösungen seit 2001 und arbeitet u.a. mit Universitäten, Verbänden und NGOs zusammen.

Twitter: @MacYET
Github: zopyx
Email: