Migrations Open Space Results
Johannes Raggam <[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <[email protected]> |
We had today an interesting Open Space regarding Plone Migrations. We were talking about our experience with different migration strategies: 1) Using the normal plone.app.upgrade path. - Pros: Fastest method, if there is no mess with add on products. There are normally no content integrity problems. The contents of the site should appear the same after the migration as before. Except you get into troubles with add on products. - Cons: If you take the chance to remove unnecessary add ons, you'd probably uninstall them before migrating. But those add ons need uninstall profiles, often also uninstall setuphandler routines. Those are often not available or incomplete. In any case, you should expect some cruft still being around, like some properties in portal_quickinstaller or portal_properties or some portlets still being registered... 2) Using zopyx.plone.migrations. This one is exporting contents into Python pickles and importing them afterwards. You need to have the same content products installed in the target Plone site to be able to import content successfully. - Pros: Exporting/Importing Python. Goes relative fast (E.g. ~50GB export/import done in ca. 3 hrs). No data serialization mess. - Cons: There might be the need to modify the importer to fit your requirements. No support for archetypes.schemaextender (the trick is to copy the schemaextender schematas over to another Archetypes base schema). Unsure, if object annotations are exported (e.g. plone.app.discussion). Links: https://github.com/zopyx/zopyx.plone.migration You might want to take a look this fork, which adds batch export/import, LinguaPlone support + more: https://github.com/bluedynamics/zopyx.plone.migration 3) Using transmogrifier. Transmogrifier exports and imports content via content serialization/deserialization. Pro: Modify content in a transmogrifier pipeline. Even export from one content type to another is no problem. Widely used within Plone community, lots of experience. Cons: A lot of configuration is necessary to get the transmogrifier chain right. But default blueprints can handle common migrations. Unclear, if there are blueprints for object annotations. Project overview: - collective.transmogrifier: Base transmogrifier package. - plone.app.transmogrifier: Plone specific additions. - quintagroup.transmogrifier: Plone specific additions. Mostly made obsolete by plone.app.Transmogrifier. - collective.jsonmigrator: Transmogrifier JSON importer. - collective.jsonify: JSON views for Plone content. Useful Links: Transmogrifier CSV import: http://shuttlethread.com/blog/importing-dexterity-content-via-csv Plone Conference Talk - Journeys with Transmogrifier & friends or How not to get stuck in the Plone dark ages - Daniel Jowett http://vimeo.com/110367183 4) For the sake of completeness: plone.app.dexterity content migrations: For Archetypes to plone.app.dexterity migrations, There are also plone.app.contenttypes migration steps. Pro and cons of point 1) apply, also currently object annotations are not migrated, AFAIK (no plone.app.discussion migrations). For some examples on how to use plone.app.dexterity migration framework for external add-ons, look at collective.folderishtypes and collective.richdescription migrations. https://github.com/collective/collective.folderishtypes/blob/master/src/collective/folderishtypes/dx/migration/migrate_atdx_folderishtypes.py https://github.com/collective/collective.richdescription/blob/master/src/collective/richdescription/dx/migration/__init__.py Cheers, Johannes -- programmatic web development di(fh) johannes raggam / thet python plone zope development plone framework team member mail: office-//[email protected] web: http://programmatic.pro http://bluedynamics.com ------------------------------------------------------------------------------ _______________________________________________ Plone-developers mailing list Plone-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/plone-developers
signature.asc
(application/pgp-signature, 181 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlRUFNMACgkQW4mNMQxDgAdq2QCdHQubrVcqHa9b/9Nx9ogc0K2v 8+EAoNpnfZWxY7+GpTh5nybClbaWAg0J =YHzG -----END PGP SIGNATURE-----