Five 1.2b and 1.3b released!
Publication date: 3.November.2005, 06:56
The Five team is happy to announce the release of two Five beta
versions today, Five 1.2b and 1.3b!
What is Five
Five is a Zope 2 product that allows you to integrate Zope 3
technologies into Zope 2, today. Among others, it allows you to use
Zope 3 interfaces, ZCML-based configuration, adapters, browser pages
(including skins, layers, and resources), automated add and edit forms
based on schemas, object events, as well as Zope 3-style i18n message
We've tried to keep the Five experience as close to Zope 3 as
possible, so this means that what you learn while using Five should
also be applicable to Zope 3, and viceversa.
More information about Five can be found on our website,
Five 1.2 is the last release line of Five to work with Zope 2.8 and
its included Zope X3 3.0. It does not work on Zope 2.7 anymore (use
Five 1.1 if you're bound to Zope 2.7)
Compared to the 1.1 release a month ago, it introduces the following
compelling list of new features:
- Local site support
Five now supports local sites in Zope 2. Sites are a concept known
from Zope 3 and similar to CMF's sites (only that they can be
nested). Thanks to Sidnei da Silva for the initial development back
in March, Lennart Regebro and Philipp von Weitershausen for bringing
it up to date for inclusion into Five 1.2.
- Improved event support
Five can now make standard Zope 2 containers (aka object managers)
send Zope 3-style events for adding, moving, copying and deleting
contained objects, instead of calling their manage_afterAdd,
manage_beforeDelete, etc. methods. Thanks to Florent Guillaume for
thinking through this non-trivial matter and implementing it.
- Marker interfaces utility
Five now includes a feature known from Zope X3 3.0's introspector,
the ability to set marker interfaces on objects to influence their
behaviour (such as view or adapter look-up). This also includes a
browser page with a page template macro for doing so
through-the-web. This feature is based on Sidnei da Silva's
Plone-based product Flon. Thanks to him for the original
implementation as well as Godefroid Chapelle, Whit Morriss and Yvo
Schubbe for bringing it to Five 1.2.
- Class registration through ZCML
It is now possible to register Zope 2 classes through ZCML so that
they show up in the ZMI as addable meta types. This basically
obsolete's the boiler-plate ``initialize()`` function in products'
``__init__.py`` files, as well as equipping classes with a
``meta_type`` in the first place. Thanks to Yvo Schubbe for
suggesting and implementing this great helper for cleaning out Zope
2 boiler plate code out of products.
- New test runner
Five 1.2 (and only 1.2) includes a forked copy of Zope 3.2's
improved test runner which brings, among others, better doctest
debugging and support for running tests on different levels and
layers. Thanks to Tres Seaver for integrating this into Five 1.2.
For more information please consult the CHANGES document:
Five 1.2b can be downloaded at:
Five 1.3 is a straight port of Five 1.2 to Zope 3.2 which will be
included in this December's Zope 2.9 release. Five 1.3 itself will
also be part of Zope 2.9. It does not introduce any new features
compared to Five 1.2, however, some restructuring has been made:
- Most of the event work has been folded into Zope 2. That means that
Zope 2.9 will ship with event-enabled object managers out of the
- Several legacy packages were removed from Five as they are now
included in Zope 2, such as Zope 3-style interfaces for OFS
et.al. as well as the new test runner
We are not providing a downloadable tarball of Five 1.3b. Instead it
has been integrated into Zope 2.9 with which it will ship. To try out
Zope 2.9, you have to currently check out the Zope 2 trunk from the
About the Zope 3 Base
Five is part of the Zope 3 Base project, which aims to offer an
approachable area for developers of Zope 3 related software. More
about the Zope 3 base and its projects can be found on the project