9
zopyx.plone.migration Andreas Jung ZOPYX Ltd.

zopyx.plone migration - Plone Hochschultagung 2013

Embed Size (px)

DESCRIPTION

Vortrag über unserer eigenes Plone Migrationframework zopyx.plone.migration

Citation preview

Page 1: zopyx.plone migration - Plone Hochschultagung 2013

zopyx.plone.migration

Andreas JungZOPYX Ltd.

Page 2: zopyx.plone migration - Plone Hochschultagung 2013

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

Page 3: zopyx.plone migration - Plone Hochschultagung 2013

Existierende Migrationstechniken

• Standard Plone Migration• Transmogrifier• ...und diverse handgestrickte Lösungen

Page 4: zopyx.plone migration - Plone Hochschultagung 2013

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

Page 5: zopyx.plone migration - Plone Hochschultagung 2013

Export Format

• <site>/content.ini• <site>/groups.ini• <site>/members.ini• <site>/structure.ini• <site>/contents/<uuid>[.bin]

Page 6: zopyx.plone migration - Plone Hochschultagung 2013

Importer

• legt neue Plone 4.2 Site an• importiert exportierten Inhalt sauber unter

Verwendung der offiziellen Plone APIs in Plone

Page 7: zopyx.plone migration - Plone Hochschultagung 2013

Erweiterbarkeit

• halbwegs sauber programmiert• feingranulare Funktionalität• kein projektmigrationsspezifischer Code• klein und kompakt– exporter.py: 450 LOC– importer.py: 670 LOC

Page 8: zopyx.plone migration - Plone Hochschultagung 2013

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

Page 9: zopyx.plone migration - Plone Hochschultagung 2013

Repository

• https://github.com/zopyx/zopyx.plone.migration