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.
Subscribe to RSS feed Follow me on Twitter Follow me on Facebook Follow me Google+
Why this? I’ve migrated a site from plone 3 to 4, but I didn’t remove it…
Valourous sequence of steps! Thank you!
kukit causes problems on IE9, Firefox 4 and Chrome and all new browsers general. It is not specific to Plone 4, but happens on Plone 3 sites too.
Thanks mikko! I’ll remove it asap.
Just found this post. I’m having a similar problem with upgrading a site and some old, uninstalled products that left stuff behind and are causing failures such as ‘TypeError: ‘NoneType’ object is not callable’ when trying to import setup steps. What bothers me most is that this happens when trying to import what seem to be critical portal steps, such as “Required tools” (GenericSetup.tool.importToolset).
BTW, your link for ‘wildcard.fixpersistentutilities’ seems to be broken.
I suggest you fix your site before trying to run upgrade.
Thanks Mikko. I spent a great deal of time trying to fix the v3 site before upgrading and had many errors, many related to the simple step of ‘Uninstall Products.CacheSetup’ that you mention in your steps above. I still have a copy of the v3 site that was “mostly working” but had too many security holes and had to move it to v4. That was painful as well, but it is now in a functional state, with the exception of these admin functions that pop up as broken or missing once in a while. I would much rather have it clean and working properly, but the state of the v4 site is no worse than the v3, which was migrated earlier from 2.5 to 3.0 (non-buildout) and then to 3.x buildout before v4.
All I did to end up with these problems was install a few add-ons in v3.
Good that you are not using Drupal, because then you wouldn’t be able to migrate EVER 🙂