[Zope-CMF] [dev] CMF 1.5 Roadmap, redux

Tres Seaver tseaver at zope.com
Mon Mar 1 10:32:18 EST 2004


I am summarizing last week's roadmap discussion here.  Please correct 
any errors / misunderstandings.  If this summary is substantially 
correct, I will propse a triaged list by Wednesday, with an expected 
release date near the end of March.


========
Overview
========

The CMF list saw a surprirsing amount of fruitful discussion this week,
provoked by Yvo Schubbe's reminder that I owed a roadmap for the next
release of the CMF_.  He wrote:

   The latest Zope releases look quite good, Zope HEAD seems to become
   stable again, Plone 2.0 and CPS 3.0 are in release candidate stage
   and even the sun is shining today. But something is missing: CMF 1.5.

The current version, `CMF-1.4.2`_, is a relatively small pair of bugfix
releases following last May's 1.4 release.  Yvo ("yuppie") himself has done
lots of great cleanup and consolidation work on the HEAD of CVS;  it is
past time that we think about the scope of work remaining to complete
another major release.

This article summarizes my take on the ensuing `roadmap list discussion`_,
with some attempt to prioritize and triage the suggestions which
emerged.

+++++++++
Proposals
+++++++++

------------------------
Move Archetypes into CMF
------------------------

Chris McDonough resurfaced a long-standing suggestion that the
Archetypes_ framework move "down" into the main CMF distribution.
Discussion of this notion accounted for a large majority of the
list traffic this week.

Some of the issues raised were:

- Archetypes is *big*, enough to make for a weigty testing / integration /
   documentation burden.

- Archetypes competes with Zope3_ schemas.  In general, the sense was that
   Zope3 is still a ways out, and that the Archetypes folks are already
   planning to move the product toward easy (maybe even seamles) migration
   to Zope3.

- Archetypes competes with the CPSSchemas_ product;  those who know the two
   products better than I note that Archetypes tends to produce "static"
   schema definitions (per class), while CPSSchemas are more "dynamic"
   (bound to ``portal_type``).  One fortunate outcome of the discussion 
has been
   that the two teams can begin to see ways in which their overlapping
   products might merge!

- Archetypes is currently licensed undre the GPL, and must be relicensed to
   the ZPL before importing it into cvs.zope.org.  The authors have
   expressed willingness to relicense in the past, so this should not be a
   blocker.

- Archetypes depends on Plone's CMFFormController_ tool.  Opinions differed
   wildly on whether to migrate that tool down.  I don't know enough
   about it to judge, yet.

- Archetypes also depends on Plone's PortalTransforms_ tool;  consensus
   seemed much broader for moving it into CMF (for instance, CPS uses it as
   well).  Likewise the UID generator tool and the references machinery.  I
   need to look at all of these more closely: for one thing, we likely have
   parallel implementations in client software, and I would prefer to be
   consolidating.

--------------------------------------------
Migrate the ``portal_setup`` tool out to CMF
--------------------------------------------

There are a number of efforts to ease the process of exporting
"through-the-web" site configuration (tool settings, for instance); such an
export would make putting those policy choices under version control
easier, as well as easing the process of migrating them between sites.

Alternate solutions include:

- DCWorkflowDump_

- ZSyncer_

-------------------
Land CMFActionIcons
-------------------

As with the ``portal_setup`` tool, the ``portal_actionicons`` tool is a 
result
of my long-term project with Boston.com.  In this case, the code is already
over the wall, added to the public CVS repository in preparation for
last spring's OSCOM sprint:

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

At the request of the Plone team, I released CMFActionItems-0.9 in
October.

   http://zope.org/Members/tseaver/CMFActionIcons/CMFActionIcons-0.9

-------------------------------
Add Epoz-friendly editing skins
-------------------------------

Epoz_ is a Zope add-on for exploiting the "in-place" editing facility of
recent IE and Mozilla.  Allowing content owners to edit their content with
WYSIAG tools seems a worthwhile goal (structured text is less than popular
with non-technical CMs).

Alex Limi pointed out that there are two versions of Epoz, and that the
older (but more stable) version was hard to extend;  I replied that I
wasn't planning to do anything complicated with it.

----------------------------------------------
Make "classic" DCWorkflow the default workflow
----------------------------------------------

Yuppie has already `checked this in`_.  "Death to DefaultWorkflow!"

--------------------------------
Add OrderSupport to PortalFolder
--------------------------------

OrderSupport_ was added to the OFS package for Zope 2.7, defining a mix-in
class, OrderSupport, used to declare containers which allow specifying the
order of their items explicitly.  The proposal is to extend
CMFCore.PortalFolder (and therefore, CMFDefault.SkinnedFolder) to include
this support.

Which brings up the "meta" question:  which version(s) of Zope will CMF 1.5
support / require?  If we require 2.7, then this is a trivial exercise
(skinning what is already wired into the underlying Folder class).  If not,
then we need to backport OrderSupport, at least for older Zopes.

----------------------------------
Support for Enforcing Vocabularies
----------------------------------

The ``portal_metadata`` tool allows the site manager to express a 
constraint on
a metadata field's value by defining a "vocabulary", a set of allowed
values.  Because when and how to enforce such restrictions is a policy
decision (in some cases, the policy mighter only be enforced at particular
times, e.g. at workflow transitions), the "stock" CMFDefault skins don't
actually ever check the constraint.

The proposal here is to change that default, so that the metadata
editing form *always* enforces the constraint, and to fix an underlying
bug in the tool:

   http://zope.org/Collectors/CMF/217



.. _CMF: http://cmf.zope.org

.. _`CMF-1.4.2`: http://cmf.zope.org/download/CMF-1.4.2

.. _`roadmap list discussion`: 
http://mail.zope.org/pipermail/zope-cmf/2004-February/thread.html#20259
.. _Archetypes: http://sourceforge.net/projects/archetypes

.. _Zope3:  http://dev.zope.org/Zope3

.. _CPSSchemas: http://zope.org/Members/nuxeo/Products/CPSSchemas

.. _CMFFormController: 
http://cvs.sourceforge.net/viewcvs.py/collective/CMFFormController/

.. _PortalTransforms: http://plone.org/Members/syt/PortalTransforms/

.. _ZSyncer: http://zsyncer.sourceforge.net/

.. _Epoz: http://zope.org/Members/mjablonski/Epoz

.. `checked this in`_: 
http://mail.zope.org/pipermail/cmf-checkins/2004-February/004065.html

.. _OrderSupport: http://cvs.zope.org/Zope/lib/python/OFS/OrderSupport.py

.. _DCWorkflowDump: 
http://cvs.sourceforge.net/viewcvs.py/collective/DCWorkflowDump/






-- 
===============================================================
Tres Seaver                                tseaver at zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com




More information about the Zope-CMF mailing list