Zope products that are now distributed separately

During the Zope 4 development, several packages that used to be included have been separated out and ship separately.

On this page the term “add to your application buildout” is used generically. How you do so depends on your chosen installation method, like adding an egg name to a requirements file for pip installs, or adding it to an eggs specification for zc.buildout.

ZServer

ZServer does not support Python 3. The following only applies for Zope 4 under Python 2.

If you want to continue using ZServer instead of moving to WSGI you need to add the ZServer egg to your application buildout.

If you use the recipe plone.recipe.zope2instance in a buildout, add it to its eggs attribute and also add the flag wsgi = off.

Sessioning

If you have used (or want to use) the built-in support for sessioning, add the egg Products.Sessions to your application buildout, which provides the basic infrastructure without the actual session data storage.

For non-production environments you can use the old Products.TemporaryFolder temporary folder solution for storing session data. But this implementation is known to randomly lose session data, so do not use it in production. Add the package Products.TemporaryFolder to your application buildout and make sure your Zope configuration file contains a ZODB configuration for a temporary folder like this:

<zodb_db temporary>
    <mappingstorage>
      name Temporary database (for sessions)
    </mappingstorage>
    mount-point /temp_folder
    container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>

If sessions are used very sparingly you can even get away with just adding a Folder object named temp_folder at the root of the ZODB and restarting Zope so the necessary ZODB objects for session support are created. This will not lose session data, but it has a high risk of producing ZODB conflict errors when storing data unless the session is used very carefully to minimize write activity.

For production deployments see, see the Zope book chapter on sessioning for alternative session storage options.

External Methods

If you have External Method objects in your ZODB, make sure to add the egg Products.ExternalMethod to your application buildout.

Site Error Log

If you have used the Site Error Log (the error_logs objects that show information about errors occurring in your application), add the egg Products.SiteErrorLog to your application buildout.