[Zope-Annce] CMF 1.1 Released
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, firstname.lastname@example.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:
- 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
- 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 (email@example.com); 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
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.
- 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
- 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 firstname.lastname@example.org
Digital Creations "Zope Dealers" http://www.zope.org