Zope 3.4.0 Released!
The focus of the Zope 3.4 development effort has been the conversion from a monolithic source tree, to a set of many small packages (eggs), that can be used independently of each other. The core has been further stabilized through numerous bug fixes, and many new add-on packages have been developed to provide a richer development experience.
With this release also comes a renewed commitment to a short and reliable release cycle of 6 months.
Packages and Eggs
Zope 3 is now fully converted to an egg-based system. While some work still remains, it integrates very well with the rest of the Python community. The conversion to egg-based packaging also enables other Python developers to only have to use small bits and pieces of the complete Zope software system. The conversion means that Zope 3 developers do not use the classic Zope 3 tar-ball release anymore. However, for your convenience, Zope 3 developers will provide the classic Zope 3 tar ball releases for at least the 3.4 series and probably for 3.5 as well.
So how are Zope 3 applications built using only eggs?
The Known Good Set (KGS)
The known good set -- or in short KGS -- is a configuration of packages and their versions that are known to work well together. The compatibility is frequently verified by running over twelve thousand tests on a daily basis [1]. The KGS is tested against Python 2.4 and 2.5 on the 32- and 64-bit platforms. The list of controlled packages and their versions for Zope 3.4 can be found at the Zope 3 KGS site [2].
The KGS can be used in several ways [3]. The most common way is to "nail" the versions by downloading the version configuration file [4] and insert them as follows in your buildout configuration:
[buildout] versions = versions ... [versions] zope.interface = 3.4.0 ...
zopeproject Project Builder
To start building a project using a common setup, a package called zopeproject can be used to quickly setup the boilerplate for the project. Ample documentation is provided at the zopeproject home page [5]. zopeproject uses Paste or ZDaemon to create a working server. The following commands get you started:
$ easy_install zopeproject $ zopeproject HelloWorld $ cd HelloWorld $ bin/helloworld-ctl foreground
Demo Packages
At this point, there is no demo package demonstrating a simple Zope 3 application setup. However, the z3c.formdemo package can be used as a fairly minimal setup. To get started with it, enter the following:
$ svn co svn://svn.zope.org/repos/main/z3c.formdemo/tags/1.5.3 formdemo $ cd formdemo $ python bootstrap.py $ ./bin/buildout -v $ ./bin/demo fg
[1] | http://zope3.pov.lt/buildbot |
[2] | http://download.zope.org/zope3.4/3.4.0/controlled-packages.cfg |
[3] | http://download.zope.org/zope3.4/intro.html |
[4] | http://download.zope.org/zope3.4/3.4.0/versions.cfg |
[5] | http://pypi.python.org/pypi/zopeproject |
Downloads
- Zope 3.4 KGS:
- Zope 3.4 Controlled Packages:
http://download.zope.org/zope3.4/3.4.0/controlled-packages.cfg
- Zope 3.4 Versions:
- The classic Zope 3 source release can be downloaded from:
Installation instructions for both Windows and Un*x/Linux are now available in the top level README.txt file of the distribution. The binary installer is recommended for Windows.
Zope 3.4 requires Python 2.4 or 3.5 to run. You must also have zlib installed on your system.
Resources
- Zope 3 Development Web Site:
- Zope 3 Developers Mailing List:
- Zope 3 Users Mailing List:
- Bug tracker at launchpad:
- IRC Channel:
#zope3-dev at irc.freenode.net
About Zope 3
Zope 3 is a web application server that continues to build on the heritage of Zope. It was rewritten from scratch based on the latest software design patterns and the experiences of Zope 2.
The component architecture is the very core of Zope 3 that allows developers to create flexible and powerful web applications.
Compatibility with Zope 2
Zope 3 is not upwards compatible with Zope 2. This means you cannot run Zope 2 applications in Zope 3.
We continue to work on the transition from Zope 2 to Zope 3 by making Zope 2 use more and more of the Zope 3 infrastructure. This means that new code written in Zope 2 can benefit from Zope 3 technology. Also, with care, code can be written that works in both Zope 3 and Zope 2. This allows a Zope 2 application to slowly evolve towards Zope 3. Unchanged Zope 2 applications are never expected to work in Zope 3, however.
About the Zope Foundation
The Zope Foundation, based in Fredricksburg, Virginia, is a not-for-profit organisation that provides support for the Zope community and the Zope platform and its associated software. Its community includes the open source community of contributers as well as the community of businesses and organizations that use Zope.