zopyx.plone.migration

9
zopyx.plone.migration Andreas Jung ZOPYX Ltd.

Upload: cailin-burch

Post on 01-Jan-2016

43 views

Category:

Documents


1 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: zopyx.plone.migration

zopyx.plone.migration

Andreas JungZOPYX Ltd.

Page 2: zopyx.plone.migration

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

Existierende Migrationstechniken

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

Page 4: zopyx.plone.migration

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

Export Format

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

Page 6: zopyx.plone.migration

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

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

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

Repository

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