Plone 3.3 (Aug 19, 2009)

Warning

This is an historical page intended for people who can't upgrade. Current versions of Plone can be found on the overview page

After Plone 3.2 (which focused on packaging/installer improvements), this is a minor release that adds some new features. It does not include any major changes: all products that work with Plone 3.0, 3.1 & 3.2 should also work in Plone 3.3. The upgrade from Plone 3.x is simple and non-invasive, ensuring a smooth upgrade experience.

For additional information about this project, please visit the overview page .

For installation instructions go to: http://docs.plone.org/manage/installing.

There may be hotfixes applicable to this release. Always check the Plone Hotfix Page before production deployment.

Available downloads

Release Notes

State Final release
License GPL
Release Manager Wichert Akkerman

Upgrading

Upgrading from Plone 3.2 should require no special procedures beyond updating your buildout configuration and running the standard migration. See the Plone Upgrade Guide if you are unfamiliar with these steps. If you are upgrading from versions prior to 3.2, you should definitely consult the Upgrade Guide's specific instructions and incorporate the steps to earlier versions into your update procedure.

Known upgrade problems

My buildout no longer works

This is a possible side effect of the upgrade to a newer version of zc.buildout. The most obvious symptom of this is that Zope will complain about unknown modules on startup. To fix this you need to follow these steps:

  1. remove the develop-eggs directory
  2. remove the fake-eggs directory
  3. rerun buildout

TextIndexnG3 no longer works

Plone 3.3 includes a number of enhancements to the catalog infrastructure. These break some assumptions TextIndexNG3 made. These is fixed in version X.Y of TextIndexNG3. If you can not upgrade to this version you can also work around the problem by adding a file called txng3fix.py to your product with this contents:

from zope.component import adapts
from zope.interface import implements
from plone.indexer.wrapper import IndexableObjectWrapper
from textindexng.interfaces import IObjectWrapper

class ExtensibleObjectWrapperAdapter:
    adapts(IndexableObjectWrapper)
    implements(IObjectWrapper)

    def __init__(self, context):
        self.context = context

    def getWrappedObject(self):
        return self.context._IndexableObjectWrapper__object

and register that by adding two lines to your configure.zcml file:

<!-- Hack to get TextIndexNG3 working with Plone 3.3 -->
<adapter factory=".txngfix.ExtensibleObjectWrapperAdapter" />