Palladion Software
user icon Guest

CMF 2.0 Release Update

I'd like to review the current status of a number of the CMF 2.0 roadmap items, and ask for feedback from the community on how they fit into a near-term release of a beta for CMF 2.0. In fact, I would like to release an alpha this weekend, followed by a more-or-less feature complete beta by the end of the month.

Created by tseaver. Last modified 2006-01-11 18:41:48.

Release Goals

Expose Zope3 Interfaces for Content and Tools

This work is complete. The existing Zope2 interfaces are now create via a "reverse bridge" from the canonical Zope3 interfaces, and are deprecated.

Viewify Content Type Skins

The intent here is to convert the existing skin methods into views for each stock content type in the CMF. After my initial stab at such a view, Yvo Schubbe offered an alternative implementation. I have reviewed his version, and decided to use his pattern rather than mine. Jens Vagelpohl has volunteered to help finish this work, which is visible on the following branch:

http://svn.zope.org/CMF/branches/tseaver-viewification

This work won't be done in time for the alpha release. Finishing it represents the majority of the feature work to be done before the beta, in my opinion.

Split Out GenericSetup

This is done, for the most part. Florent Guillaume and Yvo Schubbe may have some bug squishing, to do for the most part with Unicode supprort in profile data.

Land Content Export / Import Support

The work I contemplated for the CMF is complete here: the framework for dumping and loading the content tree is in place, and has adapters for each of the stock CMFDefault content types. We need to look at the possilbility of extending the machinery to allow for "partial" export (e.g., export only a given subfolder), and surface it as an action.

I plan to move the GenericSetup product out to a separate top-level project, and include it in the CMF via a svn:external link. It will be released as "GenericSetup 1.0", allowing other products (e.g., PAS) to depend on it without also depending on CMF.

Add Per-instance Marker Interface Support

Whit Moriss and Godefroid Chappelle landed Sidnei da Silva's Flon work in Five, making it possible to manipulate the marker interfaces provided by an individual instance (separate from those implemented in its class).

Publish Content and Container Events

Florent Guillaume landed the bulk of the work here, making Zope / Five support Zope3-style container events (a major effort). Still to do are "content-modification events", which should be emitted by the views for the content types.

Merge CMFonFive Features

Florent Guillaume and Lennart Regebro have merged the features of CMFonFive to the trunk, making that product obsolete, supported only for older releases of CMF / Five. There may be some breakage in the "fiveactions_tool"

Release CMF as Eggs

This work happened in two parts: Chris McDonough wrote the Basket product, with contributions from Rocky Burt and Casey Duncan. This product enables eggified products within Zope:

http://cvs.zope.org/Products/Basket/

That work allows the CMF and third-party products to be distributed as eggs. It supports "non-zip-safe" eggs as well (those which expect to find resources, like skins, on the filesystem).

I worked on making the CMF distributable as a set of zip-safe eggs, including loading skin directories from the zipfile. Remaining work in this area includes making it possible to load setup profiles from an egg zipfile:

http://svn.zope.org/CMF/branches/tseaver-pkg_resources/

I do not foresee landing this branch in time for a 2.0 release: the changes are too disruptive, and need a fair amount of testing, as well as completing the feature set. Fortunately, Chris' work makes it possible for us to package CMF 2.0 as (non-zip-safe) eggs anyway.

Allow Local Skin Customization

Currently, the views for CMF 2.0 do not permit customization, although it is (theoretically, anyway) possible to set up local view registrations within the site. Although Phillip von Weitershausen and I plan to sprint on this topic at PyCon 2006 in February; I don't want to delay the 2.0 release for that work.

Open Questions

Related Resources