SlideShare a Scribd company logo
1 of 49
Download to read offline
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Data migration to Plone 5.2 and Volto
Rodrigo Ferreira de Souza
October, 2019
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Where we are
1 Knoledgements
2 Use cases
3 The challendge
4 Our way
5 Details on how we did things
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Options to Migrate
Plone 4.3 → Plone 5+
Collective Transmogrifier
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Options to Migrate
Plone 4.3 → Plone 5+
Collective Transmogrifier
Plone 5.1 → Plone 5.2+
Migrate a ZODB from Python 2.7 to
Python 3
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Options to Migrate
Plone 4.3 → Plone 5+
Collective Transmogrifier
Plone 5.1 → Plone 5.2+
Migrate a ZODB from Python 2.7 to
Python 3
Collective Transmogrifier
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Options to Migrate
Plone 4.3 → Plone 5+
Collective Transmogrifier
Plone 5.1 → Plone 5.2+
Migrate a ZODB from Python 2.7 to
Python 3
Collective Transmogrifier
Figure: A transmogrifier is fictional device used
for transforming one object into another object.
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Why we use Transmogrifier?
Have many generic Pipelines available
for common cases
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Why we use Transmogrifier?
Have many generic Pipelines available
for common cases
Flexibility to deal with different use
cases
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Why we use Transmogrifier?
Have many generic Pipelines available
for common cases
Flexibility to deal with different use
cases
Briliant way to use Iterator Design
Pattern!
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Why we use Transmogrifier?
Have many generic Pipelines available
for common cases
Flexibility to deal with different use
cases
Briliant way to use Iterator Design
Pattern!
Figure: Transmogrify Diagram
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Options to Migrate
Why we use Transmogrifier?
Why we use Transmogrifier?
Have many generic Pipelines available
for common cases
Flexibility to deal with different use
cases
Briliant way to use Iterator Design
Pattern!
Figure: Modern Times – Production line
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Large University
High-profile government client
One of the largest research institutions in Germany
Where we are
1 Knoledgements
2 Use cases
3 The challendge
4 Our way
5 Details on how we did things
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Large University
High-profile government client
One of the largest research institutions in Germany
Large University
Figure: Large University client website
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Large University
High-profile government client
One of the largest research institutions in Germany
High-profile government client
Figure: High-profile government client website
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Large University
High-profile government client
One of the largest research institutions in Germany
One of the largest research institutions in Germany
Figure: Large research institution client website
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
Where we are
1 Knoledgements
2 Use cases
3 The challendge
4 Our way
5 Details on how we did things
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Plone 4.3.x or 5.0.x or 5.1.x
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Plone 4.3.x or 5.0.x or 5.1.x
Archetypes or Dexterity
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Plone 4.3.x or 5.0.x or 5.1.x
Archetypes or Dexterity
Old Products
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Plone 4.3.x or 5.0.x or 5.1.x
Archetypes or Dexterity
Old Products
Sometimes other systems
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Plone 4.3.x or 5.0.x or 5.1.x
Archetypes or Dexterity
Old Products
Sometimes other systems
To:
Python 3
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Plone 4.3.x or 5.0.x or 5.1.x
Archetypes or Dexterity
Old Products
Sometimes other systems
To:
Python 3
Plone 5.2
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
The challendge
From:
Python 2.x
Plone 4.3.x or 5.0.x or 5.1.x
Archetypes or Dexterity
Old Products
Sometimes other systems
To:
Python 3
Plone 5.2
Volto
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
Advantages for the clients
They spare a migration from Plone 5 to Plone 6
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
Advantages for the clients
They spare a migration from Plone 5 to Plone 6
At least part of it
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
Advantages for Plone solutions providers
A way to sell clients the Python 3 upgrade
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
The challendge
Advantages for the clients
Advantages for Plone solutions providers
Advantages for Plone solutions providers
A way to sell clients the Python 3 upgrade
Which is costly but does not gain the client anything in terms of functionality
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Packages
Commander Utility
Jenkins
Migration Server
Where we are
1 Knoledgements
2 Use cases
3 The challendge
4 Our way
5 Details on how we did things
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Packages
Commander Utility
Jenkins
Migration Server
Packages
kitconcept Content Creator
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Packages
Commander Utility
Jenkins
Migration Server
Packages
kitconcept Content Creator
kitconcept Migrator
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Packages
Commander Utility
Jenkins
Migration Server
Packages
kitconcept Content Creator
kitconcept Migrator
Migration Plone 5
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Packages
Commander Utility
Jenkins
Migration Server
Commander Utility
Figure: Commander Utility
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Packages
Commander Utility
Jenkins
Migration Server
Jenkins
Figure: Jenkins
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
Packages
Commander Utility
Jenkins
Migration Server
Migration Server
Figure: Migration Server
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
Where we are
1 Knoledgements
2 Use cases
3 The challendge
4 Our way
5 Details on how we did things
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
General Backend
ATTopics → Collection
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
General Backend
ATTopics → Collection
RichText → Volto Blocks
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
General Backend
ATTopics → Collection
RichText → Volto Blocks
Portlets
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
General Backend
ATTopics → Collection
RichText → Volto Blocks
Portlets
Postmigration
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
The Volto part
What we Polish to enter in Volto land:
Use Collective Folderish Types
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
The Volto part
What we Polish to enter in Volto land:
Use Collective Folderish Types
Deal with default pages
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
The Volto part
What we Polish to enter in Volto land:
Use Collective Folderish Types
Deal with default pages
Convert RichText HTML to Volto DraftJS (node utility)
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
The Volto part
What we Polish to enter in Volto land:
Use Collective Folderish Types
Deal with default pages
Convert RichText HTML to Volto DraftJS (node utility)
Easily point to old website when content not imported
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
The Volto part
What we Polish to enter in Volto land:
Use Collective Folderish Types
Deal with default pages
Convert RichText HTML to Volto DraftJS (node utility)
Easily point to old website when content not imported
Fix URLs (planned resolveuid)
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
The Volto part
What we Polish to enter in Volto land:
Use Collective Folderish Types
Deal with default pages
Convert RichText HTML to Volto DraftJS (node utility)
Easily point to old website when content not imported
Fix URLs (planned resolveuid)
Simple Folders → Document with Collection Block (planned)
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
The Volto part
What we Polish to enter in Volto land:
Use Collective Folderish Types
Deal with default pages
Convert RichText HTML to Volto DraftJS (node utility)
Easily point to old website when content not imported
Fix URLs (planned resolveuid)
Simple Folders → Document with Collection Block (planned)
Simple Collection → Document with Collection Block (planned)
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
Questions?
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
Knoledgements
Use cases
The challendge
Our way
Details on how we did things
General Backend
The Volto part
Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto

More Related Content

Similar to Data migration to Plone 5.2 and Volto

WasteManagement
WasteManagementWasteManagement
WasteManagement
Uday Kumar
 
Data Modeling for communication
Data Modeling for communicationData Modeling for communication
Data Modeling for communication
Richard Freggi
 

Similar to Data migration to Plone 5.2 and Volto (20)

Instrumenting Go applications with Prometheus
Instrumenting Go applications with PrometheusInstrumenting Go applications with Prometheus
Instrumenting Go applications with Prometheus
 
Quick Start to Captioning 05-07-2015
Quick Start to Captioning 05-07-2015Quick Start to Captioning 05-07-2015
Quick Start to Captioning 05-07-2015
 
Quick Start to Captioning 2/5/2015
Quick Start to Captioning 2/5/2015Quick Start to Captioning 2/5/2015
Quick Start to Captioning 2/5/2015
 
Back from Red - How to assess the health of your project
Back from Red - How to assess the health of your projectBack from Red - How to assess the health of your project
Back from Red - How to assess the health of your project
 
BPO Transition Framework visuals toolbox PPT
BPO Transition Framework visuals toolbox PPTBPO Transition Framework visuals toolbox PPT
BPO Transition Framework visuals toolbox PPT
 
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
 
PERFORMIX.Wien 2016 – Wachstumstreiber Google – Dominik Wöber (Google Germany)
PERFORMIX.Wien 2016 – Wachstumstreiber Google – Dominik Wöber (Google Germany)PERFORMIX.Wien 2016 – Wachstumstreiber Google – Dominik Wöber (Google Germany)
PERFORMIX.Wien 2016 – Wachstumstreiber Google – Dominik Wöber (Google Germany)
 
XP2015 - DevOps and Continuous Value Delivery with Chocolate and Lego.
XP2015 - DevOps and Continuous Value Delivery with Chocolate and Lego.XP2015 - DevOps and Continuous Value Delivery with Chocolate and Lego.
XP2015 - DevOps and Continuous Value Delivery with Chocolate and Lego.
 
Quick Start to Captioning
Quick Start to CaptioningQuick Start to Captioning
Quick Start to Captioning
 
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org -  Dev...Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org -  Dev...
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
 
WasteManagement
WasteManagementWasteManagement
WasteManagement
 
Get to Know Trino, StL Trino IG 20240220.pdf
Get to Know Trino, StL Trino IG 20240220.pdfGet to Know Trino, StL Trino IG 20240220.pdf
Get to Know Trino, StL Trino IG 20240220.pdf
 
Informatica_Level1_Flyer
Informatica_Level1_FlyerInformatica_Level1_Flyer
Informatica_Level1_Flyer
 
UX strategy for digital transformation
UX strategy for digital transformationUX strategy for digital transformation
UX strategy for digital transformation
 
Data Modeling for communication
Data Modeling for communicationData Modeling for communication
Data Modeling for communication
 
Whole house water filter system
Whole house water filter systemWhole house water filter system
Whole house water filter system
 
Digital transformation masterclass june 2016
Digital transformation masterclass june 2016Digital transformation masterclass june 2016
Digital transformation masterclass june 2016
 
4 Questions to Ask Your Dev Team
4 Questions to Ask Your Dev Team4 Questions to Ask Your Dev Team
4 Questions to Ask Your Dev Team
 
Be kind to your future admin self, Silvia Denaro & Nathaniel Sombu
Be kind to your future admin self, Silvia Denaro & Nathaniel SombuBe kind to your future admin self, Silvia Denaro & Nathaniel Sombu
Be kind to your future admin self, Silvia Denaro & Nathaniel Sombu
 
[AIIM16] Success through Pragmatism: Moving from Hell to Purgatory Is a Win.
[AIIM16]  Success through Pragmatism: Moving from Hell to Purgatory Is a Win.[AIIM16]  Success through Pragmatism: Moving from Hell to Purgatory Is a Win.
[AIIM16] Success through Pragmatism: Moving from Hell to Purgatory Is a Win.
 

Recently uploaded

Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 

Recently uploaded (18)

Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verifiedSector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 

Data migration to Plone 5.2 and Volto

  • 1. Knoledgements Use cases The challendge Our way Details on how we did things Data migration to Plone 5.2 and Volto Rodrigo Ferreira de Souza October, 2019 Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 2. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Where we are 1 Knoledgements 2 Use cases 3 The challendge 4 Our way 5 Details on how we did things Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 3. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Options to Migrate Plone 4.3 → Plone 5+ Collective Transmogrifier Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 4. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Options to Migrate Plone 4.3 → Plone 5+ Collective Transmogrifier Plone 5.1 → Plone 5.2+ Migrate a ZODB from Python 2.7 to Python 3 Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 5. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Options to Migrate Plone 4.3 → Plone 5+ Collective Transmogrifier Plone 5.1 → Plone 5.2+ Migrate a ZODB from Python 2.7 to Python 3 Collective Transmogrifier Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 6. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Options to Migrate Plone 4.3 → Plone 5+ Collective Transmogrifier Plone 5.1 → Plone 5.2+ Migrate a ZODB from Python 2.7 to Python 3 Collective Transmogrifier Figure: A transmogrifier is fictional device used for transforming one object into another object. Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 7. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Why we use Transmogrifier? Have many generic Pipelines available for common cases Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 8. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Why we use Transmogrifier? Have many generic Pipelines available for common cases Flexibility to deal with different use cases Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 9. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Why we use Transmogrifier? Have many generic Pipelines available for common cases Flexibility to deal with different use cases Briliant way to use Iterator Design Pattern! Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 10. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Why we use Transmogrifier? Have many generic Pipelines available for common cases Flexibility to deal with different use cases Briliant way to use Iterator Design Pattern! Figure: Transmogrify Diagram Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 11. Knoledgements Use cases The challendge Our way Details on how we did things Options to Migrate Why we use Transmogrifier? Why we use Transmogrifier? Have many generic Pipelines available for common cases Flexibility to deal with different use cases Briliant way to use Iterator Design Pattern! Figure: Modern Times – Production line Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 12. Knoledgements Use cases The challendge Our way Details on how we did things Large University High-profile government client One of the largest research institutions in Germany Where we are 1 Knoledgements 2 Use cases 3 The challendge 4 Our way 5 Details on how we did things Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 13. Knoledgements Use cases The challendge Our way Details on how we did things Large University High-profile government client One of the largest research institutions in Germany Large University Figure: Large University client website Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 14. Knoledgements Use cases The challendge Our way Details on how we did things Large University High-profile government client One of the largest research institutions in Germany High-profile government client Figure: High-profile government client website Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 15. Knoledgements Use cases The challendge Our way Details on how we did things Large University High-profile government client One of the largest research institutions in Germany One of the largest research institutions in Germany Figure: Large research institution client website Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 16. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers Where we are 1 Knoledgements 2 Use cases 3 The challendge 4 Our way 5 Details on how we did things Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 17. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 18. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Plone 4.3.x or 5.0.x or 5.1.x Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 19. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Plone 4.3.x or 5.0.x or 5.1.x Archetypes or Dexterity Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 20. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Plone 4.3.x or 5.0.x or 5.1.x Archetypes or Dexterity Old Products Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 21. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Plone 4.3.x or 5.0.x or 5.1.x Archetypes or Dexterity Old Products Sometimes other systems Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 22. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Plone 4.3.x or 5.0.x or 5.1.x Archetypes or Dexterity Old Products Sometimes other systems To: Python 3 Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 23. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Plone 4.3.x or 5.0.x or 5.1.x Archetypes or Dexterity Old Products Sometimes other systems To: Python 3 Plone 5.2 Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 24. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers The challendge From: Python 2.x Plone 4.3.x or 5.0.x or 5.1.x Archetypes or Dexterity Old Products Sometimes other systems To: Python 3 Plone 5.2 Volto Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 25. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers Advantages for the clients They spare a migration from Plone 5 to Plone 6 Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 26. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers Advantages for the clients They spare a migration from Plone 5 to Plone 6 At least part of it Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 27. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers Advantages for Plone solutions providers A way to sell clients the Python 3 upgrade Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 28. Knoledgements Use cases The challendge Our way Details on how we did things The challendge Advantages for the clients Advantages for Plone solutions providers Advantages for Plone solutions providers A way to sell clients the Python 3 upgrade Which is costly but does not gain the client anything in terms of functionality Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 29. Knoledgements Use cases The challendge Our way Details on how we did things Packages Commander Utility Jenkins Migration Server Where we are 1 Knoledgements 2 Use cases 3 The challendge 4 Our way 5 Details on how we did things Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 30. Knoledgements Use cases The challendge Our way Details on how we did things Packages Commander Utility Jenkins Migration Server Packages kitconcept Content Creator Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 31. Knoledgements Use cases The challendge Our way Details on how we did things Packages Commander Utility Jenkins Migration Server Packages kitconcept Content Creator kitconcept Migrator Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 32. Knoledgements Use cases The challendge Our way Details on how we did things Packages Commander Utility Jenkins Migration Server Packages kitconcept Content Creator kitconcept Migrator Migration Plone 5 Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 33. Knoledgements Use cases The challendge Our way Details on how we did things Packages Commander Utility Jenkins Migration Server Commander Utility Figure: Commander Utility Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 34. Knoledgements Use cases The challendge Our way Details on how we did things Packages Commander Utility Jenkins Migration Server Jenkins Figure: Jenkins Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 35. Knoledgements Use cases The challendge Our way Details on how we did things Packages Commander Utility Jenkins Migration Server Migration Server Figure: Migration Server Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 36. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part Where we are 1 Knoledgements 2 Use cases 3 The challendge 4 Our way 5 Details on how we did things Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 37. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part General Backend ATTopics → Collection Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 38. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part General Backend ATTopics → Collection RichText → Volto Blocks Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 39. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part General Backend ATTopics → Collection RichText → Volto Blocks Portlets Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 40. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part General Backend ATTopics → Collection RichText → Volto Blocks Portlets Postmigration Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 41. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part The Volto part What we Polish to enter in Volto land: Use Collective Folderish Types Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 42. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part The Volto part What we Polish to enter in Volto land: Use Collective Folderish Types Deal with default pages Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 43. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part The Volto part What we Polish to enter in Volto land: Use Collective Folderish Types Deal with default pages Convert RichText HTML to Volto DraftJS (node utility) Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 44. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part The Volto part What we Polish to enter in Volto land: Use Collective Folderish Types Deal with default pages Convert RichText HTML to Volto DraftJS (node utility) Easily point to old website when content not imported Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 45. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part The Volto part What we Polish to enter in Volto land: Use Collective Folderish Types Deal with default pages Convert RichText HTML to Volto DraftJS (node utility) Easily point to old website when content not imported Fix URLs (planned resolveuid) Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 46. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part The Volto part What we Polish to enter in Volto land: Use Collective Folderish Types Deal with default pages Convert RichText HTML to Volto DraftJS (node utility) Easily point to old website when content not imported Fix URLs (planned resolveuid) Simple Folders → Document with Collection Block (planned) Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 47. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part The Volto part What we Polish to enter in Volto land: Use Collective Folderish Types Deal with default pages Convert RichText HTML to Volto DraftJS (node utility) Easily point to old website when content not imported Fix URLs (planned resolveuid) Simple Folders → Document with Collection Block (planned) Simple Collection → Document with Collection Block (planned) Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 48. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part Questions? Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto
  • 49. Knoledgements Use cases The challendge Our way Details on how we did things General Backend The Volto part Rodrigo Ferreira de Souza Data migration to Plone 5.2 and Volto