Upgrade to Plone 5

Preview:

Citation preview

U P G R A D E T O P L O N E 5P H I L I P B A U E R P L O N E C O N F E R E N C E 2 0 1 5

Philip Bauer Munich starzel.de

pbauer (github / irc) StarzelDe (twitter)

PA R T 1 : G O O G L E F O R „ M I G R AT I O N S , U P G R A D E S A N D R E L A U N C H E S "

„Every non-trivial upgrade should be approached as a relaunch.“

„The primary challenge is not development but communication and project management.“

„Bring time. And space.“

„Expect everything to break!“

„Don't experiment, document.“

„Write your code as if your own kids will inherit the code one day.“

„Write upgrade-steps.“

„Divide and conquer.“

„Don't try more than two new things at once.“

„Use the Help.“

U P G R A D I N G F R O M P L O N E 4 T O 5

Why?

Cui bono?

An easy sell?

L I V E D E M O

I T C A N ’ T B E T H AT E A S Y

A old site with content, configuration and add-ons

www.starzel.de

I T C A N ’ T B E T H AT E A S Y

I T C A N ’ T B E T H AT E A S Y

LinguaPlone is hard to get rid of

Theming is tricky

Some add-ons work nicely in Plone 5

I S S U E S

KeyError: 'Interface `plone.app.iterate.interfaces.IIterateSettings` defines a field `checkout_workflow_policy`, for which there is no record.'

I S S U E S

ComponentLookupError: (<InterfaceClass plone.resource.interfaces.IResourceDirectory>, 'persistent')

I S S U E S

List of content to migrate from AT to DX is empty

L I N G U A P L O N E – O H M Y !

LinguaPlone ➟ plone.app.multilingual (2.x) in 4.3.x

Documentation: https://github.com/plone/plone.app.multilingual/issues/181

wildcard.fixpersistentutilities to the rescue!

Can someone please sprint on this?

T H E U P G R A D E - G U I D E

http://docs.plone.org/manage/upgrading/version_specific_migration/p4x_to_p5x_upgrade.html

Needs love at sprint

Your design will break unless it is a full diazo theme

T H E D E S I G N

Just joking ;-)

T H E D E S I G N

Your design will always break

T H E D E S I G N

Disable your custom theme before migrating!

T H E D E S I G N

C O N T E N T

S E T T I N G S

<record name="plone.displayed_types"> <value purge="false"> <element>talk</element> </value> </record>

C O D E

A R C H E T Y P E S D E X T E R I T Y

@@pac_installer

@@atct_migrator

@@migrate_from_atct

A R C H E T Y P E S D E X T E R I T Y

@@custom_migration

A R C H E T Y P E S D E X T E R I T Y

from plone.app.contenttypes.migration import field_migrators

A R C H E T Y P E S D E X T E R I T Y

A R C H E T Y P E S D E X T E R I T Y

ISSUES:

memory

commits

U P G R A D I N G A D D - O N S F R O M 4 T O 5

That’s your job.

Thanks