zopyx.plone.migration
Andreas Jung
ZOPYX Ltd.
Ausgangspunkt
• ca. 15 Plone 2.5 + Plone 3.X aus dem Berliner Schulprojekt mit
Plone BICS
• verschiedene Add-Ons
• verschiedene Anpassungen
• eingeschränktes Budget
• viele kleine Sites, mehrere größere Sites (2 GB)
• kalkulierbare Entwicklungskosten und Riskioabschätzung
• Forderung nach automatisierter Migration, die die wesentlichen
Inhalte und Konfigurationen sauber in Plone 4.2 importiert
• keine Migration von Add-Ons ohne Pendant in Plone 4.x
• Besonderheit: PloneGazette -> EasyNewsletter
• händische Nacharbeit notwendig
Existierende Migrationstechniken
• Standard Plone Migration
• Transmogrifier
• ...und diverse handgestrickte Lösungen
zopyx.plone.migration
• Export von Plone 2.X, 3.X Sites
– Standard AT Typen
– User, Gruppen
– Berechtigungen
– Workflows und Workflow-Zustände
– Struktur der Site
– Metadaten
– Lokale Rollen, Sharing....
– Default Views
• keine vollständige 1:1 Migration
• 80:20 Regel
• exportiert werden die wichtigsten Daten
Export Format
• <site>/content.ini
• <site>/groups.ini
• <site>/members.ini
• <site>/structure.ini
• <site>/contents/<uuid>[.bin]
Importer
• legt neue Plone 4.2 Site an
• importiert exportierten Inhalt sauber unter
Verwendung der offiziellen Plone APIs in Plone
Erweiterbarkeit
• halbwegs sauber programmiert
• feingranulare Funktionalität
• kein projektmigrationsspezifischer Code
• klein und kompakt
– exporter.py: 450 LOC
– importer.py: 670 LOC
Migrationsweisheiten:
• Migrationen ohne blutige Nasen gibt es nicht
• Jede Migration ist anders
• Jede Migration dauert länger als man denkt
• Es existiert kein Allheilrezept für Migrationen
Repository
• https://github.com/zopyx/zopyx.plone.migration

zopyx.plone migration - Plone Hochschultagung 2013

  • 1.
  • 2.
    Ausgangspunkt • ca. 15Plone 2.5 + Plone 3.X aus dem Berliner Schulprojekt mit Plone BICS • verschiedene Add-Ons • verschiedene Anpassungen • eingeschränktes Budget • viele kleine Sites, mehrere größere Sites (2 GB) • kalkulierbare Entwicklungskosten und Riskioabschätzung • Forderung nach automatisierter Migration, die die wesentlichen Inhalte und Konfigurationen sauber in Plone 4.2 importiert • keine Migration von Add-Ons ohne Pendant in Plone 4.x • Besonderheit: PloneGazette -> EasyNewsletter • händische Nacharbeit notwendig
  • 3.
    Existierende Migrationstechniken • StandardPlone Migration • Transmogrifier • ...und diverse handgestrickte Lösungen
  • 4.
    zopyx.plone.migration • Export vonPlone 2.X, 3.X Sites – Standard AT Typen – User, Gruppen – Berechtigungen – Workflows und Workflow-Zustände – Struktur der Site – Metadaten – Lokale Rollen, Sharing.... – Default Views • keine vollständige 1:1 Migration • 80:20 Regel • exportiert werden die wichtigsten Daten
  • 5.
    Export Format • <site>/content.ini •<site>/groups.ini • <site>/members.ini • <site>/structure.ini • <site>/contents/<uuid>[.bin]
  • 6.
    Importer • legt neuePlone 4.2 Site an • importiert exportierten Inhalt sauber unter Verwendung der offiziellen Plone APIs in Plone
  • 7.
    Erweiterbarkeit • halbwegs sauberprogrammiert • feingranulare Funktionalität • kein projektmigrationsspezifischer Code • klein und kompakt – exporter.py: 450 LOC – importer.py: 670 LOC
  • 8.
    Migrationsweisheiten: • Migrationen ohneblutige Nasen gibt es nicht • Jede Migration ist anders • Jede Migration dauert länger als man denkt • Es existiert kein Allheilrezept für Migrationen
  • 9.