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, Tres Seaver. Some news didn't make it to me for inclusion in the newsletter. Please send me your news when you can! Send to gary@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 development (see http://zope.org/Products/ZopeX3/3.0.0final/ZopeX3-3.0.0-Release). 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 http://dev.zope.org/Zope3 Jim Fulton 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 exist. - 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 results combined. - 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. Martijn Faassen Five 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 * adapters * pages (views), including skins and layers * ZCML 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: http://codespeak.net/z3/five/ 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: http://codespeak.net/z3/ 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 frameworks. Philipp von Weitershausen modzope 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: http://philikon.de/files/ep2004-modzope-lightning-talk.pdf 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 Everitt. Tres Seaver Goldegg At the Castle Sprint 2004[1], 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[2], and prototyped several features, including Xickens[3] (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[4] the chance to work together, and organized a mailing list[5] for future collaborative work. [1] "Sprint Announcement", http://plone.org/events/sprints/castlev2/ [2] "Sprint Wiki", http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/ CastleSprint2004 [3] "Xickens SVN", http://codespeak.net/svn/z3/xicken/ [4] "Castle Sprint Pictures", http://marx.jamkit.com/plonephotos/castle.zip [5] "Goldegg mailing list information", http://mail.zope.org/mailman/listinfo/goldegg
participants (1)
-
Gary Poster