[Zope-Annce] Zope 3 Newsletter: Volume 2, Issue 1
gary at modernsongs.com
Mon Nov 8 21:29:54 EST 2004
Zope 3 Newsletter: Volume 2 Issue 1
This newsletter describes some of the many exciting projects using
Zope 3 and also has reports from the Zope Corporation CTO and
Zope BDFL Jim Fulton and from the principal architect of the CMF,
Some news didn't make it to me for inclusion in the newsletter.
Please send me your news when you can! Send to gary at modernsongs.com
Table of Contents:
- Zope X3Final Released
- (Jim Fulton) Zope X3.1 Plans
- (Martijn Faassen) Five
- (Martijn Faassen) Zope 3 Base
- (Andy Adiwidjaja, Janko Hauser) union.cms: Real-World Usage of Five
- (Philipp von Weitershausen) modzope
- (Philipp von Weitershausen) A Zope 3 Book for Beginners
- (Tres Seaver) Goldegg
Zope X3 Final Released!
Zope X3 3.0 final has been released, after almost three years of
Give some thanks to the developers who made this possible, and the
companies who funded the development! Learn more about Zope 3 with
the link above and in the developers wiki at
Zope X3.1 Plans
After our initial release of Zope X3.0, we are beginning to
contemplate an X3.1 release, possibly as early as January 2005.
Since the X3.0 release, progress on simplifying the component
architecture has continued. Notably:
- The presentation service has been merged into the adapter
service. Now views are really registered and looked up exactly
like other adapters, although the old programming APIs still
- The browser menu service has been removed. Now menus are
implemented as adapters.
There has been a lot of work on new features. In some cases,
features may still not be solid enough for inclusion for Zope
X3.0. Likely candidates for 3.1 include the following:
- Session support
- A new pluggable authentication service based (philosophically)
on the Zope 2 Pluggable Authentication Service.
- Principal group support
- Basic cataloging support, including a framework that allows
multiple catalogs and other indexing objects to be searched and
- A new "source" framework, similar to the vocabulary framework,
that supports selection of values from collections of values
that are too large to be listed.
And, of course, bug fixes continue.
The Five developers have created Five, a Zope 2 product that
allows you to integrate Zope 3 technologies into Zope 2, today.
Five works with a straight Zope 2.7. It right now allows you to
use the following Zope 3 technologies in Zope 2:
* Zope 3 interfaces
* pages (views), including skins and layers
It is possible to add Zope 3 style views to your own Zope 2
objects, or to existing ones, even normal Folders!
Five is currently in release 0.2b and steaming along. It's even
used in a production Plone site (Oxfam America, done by Enfold
systems). There was also quite a bit of Five buzz at EuroPython,
the Castle sprint, and the Plone conference.
Download, documentation and developer info can be found here:
Zope 3 Base
Zope 3 Base -- "All your bobobase are belong to us"
The Zope 3 Base project aims to offer an approachable area for
developers of Zope 3 related software. It sits somewhere been the
CMF collective and the zope.org repository; less chaotic than the
collective, but more freewheeling than the zope.org repository.
The projects Five and Sqlos (SQLObject integration into Zope 3)
are the most actively developed projects in the base right now,
but there's room for more!
If you have a Zope 3 project and you'd like to publish it and
develop it further with a group, and for whatever reason you
don't feel ready to contribute it to the zope.org repository, the
Zope 3 base is there for you. Talk to us! We've got an irc
channel: #z3-base on freenode.net.
The Zope 3 base has possibly the cutest Zope 3 related website on
the web. Admittedly that isn't hard at this stage:
Andy Adiwidjaja, Janko Hauser
union.cms: Real-World Usage of Five
union.cms (http://dev.unioncms.org/utrac) is an effort of the
biggest union in Germany to develop a new GPL licensed content
management system building on the experiences of the current Zope
2 content management systems such as Plone and CPS.
Starting with homegrown backports of parts of Zope 3 like the
adapter mechanism, the developers of union.cms were some of the
early adopters of Five (http://codespeak.net/z3/five/), a product
developed by Infrae that brings many of the most important
technologies of Zope 3 into the world of Zope 2 development.
The union ver.di has strong requirements for content reuse and
heavy multi-site setups. It wants to consolidate all the
different web sites into one centralized managed system. For this
each site must be configured in a controlled but flexible way.
Thanks to Five, union.cms now uses schemas and widgets to develop
content objects easily, which are assembled into documents.
Content objects and documents are stored in a central repository
and can be placed in pages to build different site hierarchies,
which serve as one of many possible views on the content of a
site. A channel mechanism will allow the reuse of basic content
and complete documents between the many different sites.
View classes are used to attach different views to the various
objects in a site or the repository. With this basic separation
of content and views, different concepts like in-site editing or
workspace-based editing can be mixed. With the help of adapters,
new functionality can be added to each object in a site without
the need to deploy new basic content types. Overall there will be
a stronger separation between basic content and applications
working on this content.
ver.di will support the further development of union.cms in the
coming year, and plan to migrate most of the current sites to the
new system. Several other German unions have already signaled
their interest in adopting union.cms in the future.
We as developers are happy to have such strong technologies at
our disposal and are amazed how much work is already done. We
hope to make further good usage of these powerful software
Philipp von Weitershausen
Back in May on an 8 hour train ride, I tried to prove that Zope 3
was not only extensible and highly customizable at the
application level but also at the low level parts such as the
HTTP server. Since I didn't know twisted, I tried mod_python, the
Apache 2 module that allows one to write handlers in Python.
By the time the train pulled into a station, I was able to load a
Zope 3 instance within mod_python and process Apache requests
using zope.publisher by adapting them to IBrowserRequest. It
still got a few things wrong, e.g. URL path segments, etc. but
these only require minor adjustments. My conclusion was that
zope.publisher and its peripherical components in
zope.app.publication are unnecessarily complicated. Despite this,
it seems quite possible to use a different HTTP server machinery.
I have not had the time yet to get it working 100%. I have also
not thought about threading issues and the like. If anyone with
Apache (and possibly mod_python) experience wants to pick it up,
feel free to do so! The source code is available under the ZPL at
the z3base, http://codespeak.net/svn/z3/modzope/trunk.
Lightning talk presentation at EuroPython:
A Zope3 Book for Beginners
At the end of last year, I had the itch of improving Zope 3
documentation for beginners. Beginners meaning people with web
application experience (e.g. Zope 2), but no Zope 3 knowledge
whatsoever. I finally decided to scratch that itch by writing a
Zope3 book. At that point I would like to thank Jim and Stephan
who encouraged me to go for it.
Then, after knocking on many doors and receiving many rejections
due to supposedly unsuccessful Zope 2 books, German-based
Springer Verlag decided in May to publish my book! Since then I
have been writing on it constantly and if everything goes
according to plan, it will be available in stores by January.
The book's target audience are web developers. Knowledge of
Python is assumed. The first part tries to flatten the Zope 3
learning curve by gradually introducing the Component
Architecture and other basic concepts, the second and third parts
focus on the numerous features that the Zope X3.0 release brings
with it. I hope that the book will close the gap that Stephan's
book has intentionally left open--a thorough introduction for
people coming from Zope 2 and other web technologies. Special
sections compare Zope 3 features and concepts with their
predecessors from Zope 2, thus ease the migration process.
Though published by a German company, the book is written in
English and published internationally. I would like to thank
those people who have given me their invaluable technical and
non-technical advice and made the whole project possible, most
importantly Jan Smith, Sidnei da Silva, Fred L. Drake, and Paul
At the Castle Sprint 2004, representatives from the major
Zope2-based CMS projects met to discuss common needs and possible
collaborations in the Zope3 CMS space. The major result of the
sprint was an agreement to work together, under the ZPL but outside
the Zope3 core, in a project nicknamed "Goldegg" (for the castle).
The group outlined requirements for common infrastructure, and
prototyped several features, including Xickens (a minimal content
management application, designed as an integration testbed for other
components), and XickenPipes (a "pipeline" model for enhancing a
site's UI after the initial, application-driven rendering). The
group really enjoyed the chance to work together, and organized a
mailing list for future collaborative work.
 "Sprint Announcement",
 "Sprint Wiki",
 "Xickens SVN",
 "Castle Sprint Pictures",
 "Goldegg mailing list information",
More information about the Zope-Announce