We upgraded one production site to Plone 4. The site is a web front for a retail chain, rich with big images. Plone 4’s support for blob storage of files has especially helpful. Below are some results.
1. Download speed
We see around 33% – 40% increase
2. Response time
Though this is little harder to read, due to the sampler having issues, the response time has dropped from 250 ms to near 100 ms.
3. The update process
Here is the process what we did.
Create a duplicate of buildout.cfg with Plone 4 based recipes and run bootstrap.py with Python 2.6.
Uninstall a lot of unneeded add-ons which had collected cruft over the years: plone4artists audio, video, LinguePlone.
Uninstall Products.CacheSetup. This is replaced with plone.app.caching in Plone 4.
Use wildcard.fixpersistentutilities to clean up leftovers of broken add-on uninstallers (Singing & Dancing, p4a).
Remove broken persistent tools (Notifica, Search & Replace, etc.).
Make sure that the site custom theme extends Plone 4 Classic Theme.
Replace old collective.slideshow with Products.Carousel. The migration script is available in collective.developermanual.
Replace old collective.fancyzoomview with Products.PipBox. The migration script and PipBox code are available in collective.developermanual.
Copy Data.fs from Plone 3.3 to new Plone 4 buildout.
… in this point we move from Plone 3 buildout to Plone 4 buildout …
Converted Language portal_catalog index from LanguageIndex to FieldIndex (instructions available in c.developermanual).
Rebuild the catalog.
Reset theme on portal_skins properties tab. Shuffle portal_skins layers until they work.
Migrate custom Archetypes image scale sizes from monkey-patch to plone.app.imaging and imaging_properties.
In portal_transforms -> safe_html, disable_transform=1.
Change custom folder listing from atct_album_view32 to atct_album_view.
4. Futher info
Some of these upgrade tips are collected to collective.developermanual.