[Zope-Annce] CMF 1.1 Released

Tres Seaver tseaver@digicool.com
Wed, 20 Jun 2001 01:10:22 -0400 (EDT)

Digital Creations is pleased to announce the release of version
1.1 of its Content Management Framework (CMF).

>From the README:
  What is the CMF?

    The Zope Content Management Framework provides a set of
    services and content objects useful for building highly
    dynamic, content-oriented portal sites.  As packaged, the
    CMF generates a site much like the Zope.org site.  The CMF is
    intended to be easily customizable, in terms of both the
    types of content used and the policies and services it


    - The CMF "dogbowl" site, http://cmf.zope.org.

    - The mailing list, zope-cmf@zope.org.
      o List information and online signup are available at:
      o Archives of the list are at:


    - Get the "tarball",


    - Please see "Installing CMF",

>From the Changelog:

 New features

  - Landed "skinned folder" module, which permits creation of
    "folderish" types with customized replacements for 'index_html'.

  - Added 'run_all_tests' script, to simplify running all unit
    tests for CMF-related products.

  - Factored out index and column lists, to ease customization
    (Tracker #289)

  - Modified 'DefaultDublinCoreImpl.setContributors' to use new
    tuplize functionality (the ability to pass in a different
    splitter function).  If a string is passed in to
    setContributors(), it gets split on semicolons.  This allows
    setting of contributor strings to be like

     "Doe, John E (john@doe.a.deer); The Mertz Family Foundation; PBS"

    If one so deeply and dearly desired.  (The above would turn
    into a three element tuple).

  - Made it possible to map "normal" Zope objects as content
    (Tracker #283):

    o Skin and tool code which used to query the object
      for its Type in order to then ask the types tool for a
      TypeInfo object now just asks the types tool for type
      TypeInfo object directly.
    o Modified the TypesTool interface to signal that passing an
      object to 'getTypeInfo' is acceptable, with the semantic
      that the tool will attempt to find a TypeInfo object based
      on the tool's type or metatype.

  - Expanded signature of Document.CookedBody to change the
    header levels Structured Text starts rendering at, and
    whether to preserve those changes.

 Bug fixes

  - Hardened DirectoryView against objects which raise exceptions
    during initial reads (typically due to permission problems);
    these objects now capture and log the exception, and create
    a BadFile object which allows browsing the traceback via the
    ZMI (Tracker #317).

  - Stopped polluting the browser with persistent skin cookie;
    clear it as well on logout (Tracker #304).

  - Cleaned up folder content filtering (Tracker #298, thanks
    to Chris Withers for the patch).

  - Implement new "List folder contents" permission (Tracker
    #320), to prevent non-privileged users from being able to
    browse 'folder_contents' (permission is by default mapped
    to 'Owner' and 'Manager').

    Note that this is really only a UI change:
    'PortalFolder.contentIds', 'PortalFolder.contentValues', and
    'PortalFolder.contentItems' are still public, to allow for
    reasonable "site map" views on folders.

  - Use saner type ID listing in 'search_form' (Tracker #324).

  - Rewired "POST target" skin methods, replacing filesystem-based
    DTML Methods with filesystem-based Python Scripts (from
    Tracker #301 -- thanks to Chris Withers).

  - Implemented *LARGE* patch to CMFDefault.DiscussionItem and
    CMFDefault.DiscussionTool, plus removal of
    CMFDefault.Discussions:  changed threading strategy to remove
    dependency on the path of the "host" content object.  Includes
    an ExternalMethod, CMFDefault/Extensions/update_discussion.py,
    which must be run to convert existing content which contains

  - Overrode DublinCore's isEffective in CMFCalendar.Event to
    always return true;  this change prevents blocking view of
    the event by standard_html_header.

  - Updated INSTALL.txt to note that:

     o Use with Zope 2.4.0a1 is *not* recommended.

     o CMFDecor requires Zope Page Templates (Tracker #291).

    and to describe upgrade process from CMF 1.0.

  - Fixed typo in 'Unauthorized' exception raised by

  - Made all content types findable by catalog (Tracker #286).

  - Ensured that ContentTypeRegistry's "Test" tab doesn't puke if
    no MIMEtype is entered, or if one is entered which doesn't
    have a '/' in it (Tracker #292).

  - Suppressed overwrite of Subject when no 'Subject' or
    'Keywords' headers were present (Tracker #294).

  - Ensured that 'Type' is indexed in newly-created

  - Fixed acquisition stripping in PortalContent.objectItems().

  - Modified CMFDefault.DublinCore.getMetadataHeaders() to join
    Subject by commas, instead of spaces.  Since we parse/split
    Subject on commas or semicolons now when a document is saved
    by FTP or WebDAV, we need to feed it out in the same format.

  - Fleshed out security declarations for 'portal_metadata' tool.

  - Corrected pathname of 'MemberDataTool.memberdataContents' to
    account for use of '_dtmldir' (thanks to Ricardo Newbery for
    the patch!).

  - Fixed buglet resulting from uninitialized local in
    'PortalContent.objectItems' (thanks to Seb Bacon for the

  - Modified stock 'search_form' to query 'Type' rather than

  - Removed debugging / "paranoia" print statements (thanks to
    Chris Withers for the patches).

In the best traditions of open-source and free software, I am
heading out of town tomorrow for a long vacation.  Enjoy!

Tres Seaver                                tseaver@digicool.com
Digital Creations     "Zope Dealers"       http://www.zope.org