[CMF-checkins] SVN: CMF/branches/1.6/ - updating docs for 1.6 branch and version numbers

Jens Vagelpohl jens at dataflake.org
Tue Nov 15 12:25:46 EST 2005


Log message for revision 40135:
  - updating docs for 1.6 branch and version numbers
  

Changed:
  U   CMF/branches/1.6/CHANGES.txt
  U   CMF/branches/1.6/CMFActionIcons/version.txt
  U   CMF/branches/1.6/CMFCalendar/version.txt
  U   CMF/branches/1.6/CMFCore/version.txt
  U   CMF/branches/1.6/CMFDefault/version.txt
  U   CMF/branches/1.6/CMFTopic/version.txt
  U   CMF/branches/1.6/CMFUid/version.txt
  U   CMF/branches/1.6/DCWorkflow/version.txt
  U   CMF/branches/1.6/HISTORY.txt
  U   CMF/branches/1.6/INSTALL.txt
  U   CMF/branches/1.6/INSTALL_SVN.txt

-=-
Modified: CMF/branches/1.6/CHANGES.txt
===================================================================
--- CMF/branches/1.6/CHANGES.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/CHANGES.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1,1260 +1,10 @@
-CMF 1.5.5-beta (2005/11/06)
+Before CMF 1.6 beta
 
   Bug Fixes
 
-    - CMFCore.DynamicType/ActionProviderBase: If an action cannot be looked
-      up, provide a more helpful debugging message for the error log.
+    - ...
 
-    - CMFCore.MemberDataTool: Fixed the pruneMemberData functionality in the
-      ZMI: Now it is enough to press the button once.
-
-    - Collector #381:  CMFCore unit tests depended on CMFDefault / workflow.
-
-    - CalendarTool: If an event ends at exactly midnight, don't show it
-      in the list of events for the day starting at midnight.
-      (http://www.zope.org/Collectors/CMF/246)
-
   Features
 
-    - CMFCore:  added 'skinname' to the thread-specific tuple created by
-      the Skinnable base class to cache the skin path lookup, to facilitate
-      querying later;  added a 'getCurrentSkinName' to the Skinnable API
-      to do the query.  Thanks to Laurent Rowe for the patch.
+    - ...
 
-    - CMFSetup: added support for importing and exporting workflow script
-      metadata for scripts that are External Methods. One very important
-      difference to other scripts remains: Since the CMFSetup machinery
-      cannot access the filesystem code for external methods it only
-      saves the data needed to instantiate the ZODBi-based External Method 
-      object. If, during an import, the filesystem-based code cannot be
-      found, the import will fail.
-
-    - CMFActionIcons:  added support for exporting / importing
-      action icons tool configuration (via GenericSetup).
-
-    - CMFSetup:  added support for configuring content type registry.
-
-    - CMFSetup:  added support for configuring caching policy manager.
-
-    - CMFSetup:  added support for configuring cookie authentication and
-      mailhost tools (http://www.zope.org/Collectors/CMF/387).
-
-    - CMFCore.CachingPolicyManager: Caching policies can now control all the 
-      Cache-Control tokens defined in the HTTP 1.1 spec (s-maxage, public, 
-      private, no-transform).  When no-cache is enabled, a Pragma: no-cache 
-      header is also sent for HTTP 1.0 clients. Thanks go to Geoff Davis
-      for contributing the necessary patches.
-
-    - CMFCore.FSPageTemplate:  These now have the option to return a status 
-      304 and no content when a conditional GET is sent.  This is a potential 
-      significant win for sites. This behavior is activated on the
-      CachingPolicyManager by using policies that set suitable ETag headers
-      when delivering the content. Geoff Davis invested the time to add
-      this feature.
-
-  Others
-
-    - Removed deprecated 'all_cmf_tests.py' and supporting 'test_all.py'
-      from products (use 'zopectl test' to run CMF tests instead).
-
-    - CMFDefault.Portal:  deprecated 'manage_addCMFSite'.
-
-    - Collectors #384:  Added '__traceback_info__' to FSDTMLMethod's
-      call-stack etnry.
-
-    - Collector #383:  Added tab to 'portal_uidhandler' tool to allow
-      querying objects given UID.
-
-    - CMFCatalogAware: refactoring. Defines now 2 methods,
-      _getCatalogTool() and _getWorkflowTool(), that are used to find
-      the catalog and workflow tool. It's now possible to override
-      these methods using inheritence for a given content type to
-      specify another catalog or workflow tool the content type can
-      use
-
-    - CMFSetup: allow export of properties of old objects that were
-      stored as lists (instead of tuples now).
-
-CMF 1.5.4 (2005/09/04)
-
-  Bug Fixes
-
-    - CatalogTool: Made sure the catalog_object method works with Zope 2.8.
-      The new 'pghandler' argument was missing. This broke at least the
-      refreshCatalog method used by 'Update Catalog'.
-      (http://www.zope.org/Collectors/CMF/379)
-
-CMF 1.5.4-beta (2005/08/28)
-
-  Bug Fixes
-
-    - CMFCore.utils: The return value from _mergedLocalRoles allowed
-      direct manipulation of objects' local role settings since it
-      contained references to the actual values instead of copies.
-      (http://www.zope.org/Collectors/CMF/376)
-
-    - CMFTopic.DateCriteria: The behavior and naming of date criteria
-      operators was very confusing and in many cases unexpected and 
-      wrong. For that reason e.g. Plone replaced the implementation
-      with a more user-friendly handling which is hereby introduced
-      to CMF proper. (http://www.zope.org/Collectors/CMF/339)
-
-    - CMFCore.PortalContent, CMFCore.FSSTXMethod, CMFTopic.Topic,
-      CMFDefault.SkinnedFolder: Cache headers from the Caching Policy Manager
-      never got set for DTML-based skins due to the way the view template
-      __call__ method was invoked. (http://www.zope.org/Collectors/CMF/374)
-
-    - CMFCore.FSImage and FSFile: Unlike the current behavior of Zope itself,
-      FSImage and FSFile would set a content-length response header for 304
-      (not modified) responses, which should not be done according to 
-      RFC 2616. It won't do so anymore, but Zope itself will still force a
-      content-length header in ZServer.HTTPResponse. This misbehavior
-      has been filed as a Zope issue (http://www.zope.org/Collectors/Zope/1866).
-      (http://www.zope.org/Collectors/CMF/372)
-
-    - PortalFolder: Improved the _checkId method.
-      Method Aliases mask objects with matching IDs. Thus _checkId() and
-      checkIdAvailable() now make sure non-managers can't create objects with
-      IDs already taken by Method Aliases of the current folder.
-
-    - CMFDefault.Image and CMFDefault.File: When calling the constructor,
-      any intelligent content type detection would be destroyed by the
-      call to initialize Dublin Core values, which would overwrite the
-      content_type. It is now preserved, if possible.
-      (http://www.zope.org/Collectors/CMF/370)
-
-  Features
-
-    - CMFTopic.Topic: Made Topics a tad more useful by subclassing from
-      CMFDefault.SkinnedFolder instead of CMFCore.PortalFolder, because
-      SkinnedFolder is CatalogAware. Topics now offer useful information
-      for Title, Description and SearchableText, so Topic objects can
-      be located in the portal by using the standars search facilities.
-      (http://www.zope.org/Collectors/CMF/53)
-
-  Others
-
-    - CMFCore.PortalFolder._checkId() allows root doted prefixed name
-      object overrides.
-
-CMF 1.5.3 (2005/08/07)
-
-  Bugs fixed
-
-    - When the CMFBTreeFolder was moved into CMFCore, its base class was
-      changed to PortalFolderBase. This broke an assumption in the
-      portal_syndication tool that relied on all syndication containers
-      deriving from PortalFolder (http://www.zope.org/Collectors/CMF/369)
-
-CMF 1.5.3-beta (2005/08/02)
-
-  Bugs Fixed
-
-    - Changed the INSTALL_SVN instructions to conform to the new branch
-      and tag naming scheme instituted for the subversion repository.
-
-    - Apply an interim fix for slow pathwalking implementation in
-      development mode on Windows (http://www.zope.org/Collectors/CMF/367)
-      Note that a better fix would be to leverage pywin32 APIs for
-      file / directory monitoring.
-
-    - FSObject.manage_doCustomize() was broken for folderish objects on Zope
-      2.8 because manage_permission requires a context to work.
-      (see http://www.zope.org/Collectors/CMF/368)
-      
-    - CMFCore/FSPropertiesObject and CMFCore/FSMetadata: Removed a wrongly 
-      inserted DeprecationWarning in the FSPropertiesObject class and
-      put it into the FSMetadata class. We are not deprecating ".props"
-      files, but ".properties" and ".security".
-
-    - Change CVS checkout documentation to their equivalent Subversion
-      instructions
-
-    - In CMFSetup, make sure to give special treatment to both CVS and 
-      .svn folders where this is necessary (e.g. to implicitly skip them
-      when importing profiles)
-
-    - Made sure FSDVTest always deletes its temporary folder on tearDown.
-      (http://www.zope.org/Collectors/CMF/106)
-
-    - Fix DefaultWorkflowDefinition bug on isActionSupported() for the
-      keywargs support to reflect DCWorkflowDefinition changes. Add a
-      test case for this definition as well.
-
-  Others
-
-    - CMFCatalogAware: reindexObjectSecurity() now always reindexes the
-      catalog objects without changing their catalog uid. This is useful
-      for third-party code that indexes objects with special uids.
-
-CMF 1.5.2 (2005/07/17)
-
-  Bugs Fixed
-
-    - CMFCore/ActionInformation.py: Permissions of action categories starting
-      with 'document' are now evaluated in the object context instead of the
-      portal context. This should probably be generalized some more.
-
-    - Added testing framework to suppress / examine output from warnings
-      module and from zLOG.
-
-    - CMFUid/UniqueIdGeneratorTool.py: Replaced the old BTree.Length.Length
-      implementation by a simple counter. Using a BTree.Length.Length object
-      as counter may have caused setting the same unique id to multiple 
-      objects under high load. The tools counter gets automigrated on the 
-      first access.
-
-  Others
-
-    - CMFCore/CMFBTreeFolder.py:  Moved here from Zope core's
-      Products/BTreeFolder2;  conditional import, with module alias, into
-      __init__.py, for compatibility with Zope 2.7;  2.8.0 has BTreeFolder2
-      in the core (see http://www.zope.org/Collectors/Zope/1813).
-
-CMF 1.5.2beta2 (2005/07/08)
-
-  Features Added
-
-    - CMFDefault/skins/zpt_generic/talkback_tree:  Add link to allow
-      managers to delete replies (http://www.zope.org/Collectors/CMF/38).
-
-  Bugs Fixed
-
-    - CMFDefault.utils.parseHeadersBody:  use standard library's 'rfc822'
-      module to parse metadata headers, to take advantage of better handling
-      of edge cases.
-
-    - CMFDefault.utils.formatRFC822Headers:  strip trailing blank line
-      of multi-line value, to prevent premature halt of parsing.
-      (http://www.zope.org/Collectors/CMF/230)
-
-    - CMFCore.MembershipTool:  allow 'getMemberById' to crawl up the
-      hierarchy of user folders until it finds the user.  This means that
-      users from any user folder in or above the portal will be treated
-      as full members of the portal.
-      (http://www.zope.org/Collectors/CMF/354, also
-       http://www.zope.org/Collectors/CMF/63)
-
-    - CatalogTool: Added manage_convertIndexes.
-      This method should not be used with Zope 2.7. It overrides the broken
-      manage_convertIndexes of Zope 2.8.0.
-      (http://www.zope.org/Collectors/CMF/357)
-
-    - CMFCore.WorkflowTool:  Make (deprecated) WorkflowInformation objects
-      schema-compatible with current ActionInformation.
-      (http://www.zope.org/Collectors/CMF/355)
-
-    - CMFCore.utils.ToolInit: For icon registration to work with ToolInit
-      you would have to have the same product_name parameter as the actual
-      product name of the product. product_name is now optional, defaulting 
-      to the real product name. It is also deprecated, and starting with 
-      CMF1.6 product_name it will be ignored.
-
-    - CMFSetup.workflow: scripts were not exported, they're now in a
-      'scripts' subdirectory, and encoding was not propagated at import
-      time.
-
-  Others
-
-    - Moved tests which used to 'import Zope' to try 'import Zope2'
-      (with a fallback for Zope 2.7).  Thanks to sacco for the patch!
-      (http://www.zope.org/Collectors/CMF/362)
-
-    - CatalogTool: Removed obsolete Vocabulary.
-
-CMF 1.5.2beta (2005/06/26)
-
-  New Features
-
-    - CMFDefault browser: Added browser package and five_template.
-      This allows to use the main_template for forms generated by Five.
-
-    - CMFDefault skins: Added style_slot to main_template.
-
-    - CMFCore.PortalFolder: A new class PortalFolderBase was added. The
-      class is a subclass of Folder while PortalFolder is a subclass of
-      PortalFolderBase and OrderedFolder. It was added for software which
-      is incompatible w/ the ordered interface.
-
-    - CMFCore.ActionProviderBase: Add the methods _getOAI and _getExprContext
-      which can be used to hook in custom version of getOAI() and
-      getExprContext().
-
-    - CMFCore.TypesTool.TypeInformation.queryMethodID(): Add new argument
-      context=None and change all calls of queryMethodID to apply the context.
-
-    - Interfaces: Added newstyle (Zope 3) interfaces.
-      This change has no effect on Zope 2.7 without Five.
-
-    - CMFSetup.skins: Small featurelet that adds a new keyword to the
-      "layer" tag in skins.xml named "remove". If "remove" is
-      specified, the named layer will be explicitly removed from the 
-      skins path(s).
-
-    - CMFCatalogAware: reindexObjectSecurity() now supports an
-      optional argument 'skip_self' that prevents the object itself
-      from being reindexed, but its descendants still are. Allows an
-      optimization when you want to reindex all the idxs *and* the
-      security in a single shot with reindexObject().
-
-    - CMFCatalogAware: allow easy subclassing of the "security indexes"
-      that are reindexed by reindexObjectSecurity(), through the
-      attribute _cmf_security_indexes.
-
-    - doActionFor() propagates **kw to isActionSupported() through
-      _checkTransitionGuard() until the guard.check() method so that
-      StateChangeInfo() can be constructed with those kwargs.
-
-  Bug Fixes
-
-    - ActionInfo: Make 'setActionExpression' sane if passed a string
-      which is already prefixed with "string;".
-
-    - ActionInfo: Fixed copy method.
-
-    - CMFTopic.Topic/CMFCore.PortalContent: Clean up a previous change
-      by changing __call__ methods to be aligned with what's on CVS
-      HEAD and using the old _getViewFor function as a fallback to
-      retain backwards compatibility.
-
-    - DCWorkflow: Add a note to the Transitions and States forms
-      explaining that the renaming actions will not automatically
-      update any items in the workflow that might be affected by
-      the change. (http://www.zope.org/Collectors/CMF/89)
-
-    - CMFDefault.SyndicationTool: Zope 2.8 raises AttributeError where
-      earlier Zopes used to raise KeyError.
-
-    - Set cache headers in 304 responses from FSImage / FSFile
-      (http://www.zope.org/Collectors/CMF/355)
-
-    - CMFCore.DirectoryView: Do not cause ZODB writes or ConflictError
-      if an old DirectoryView with a non-existing path is left. Sends a
-      warning to stderr about those.
-      (http://www.zope.org/Collectors/CMF/347)
-
-    - CMFSetup utils: Fixed handling of comments and empty descriptions.
-      (http://www.zope.org/Collectors/CMF/352)
-
-    - CMFDefault.MetadataTool: When asked for a non-existing metadata
-      policy, the tool would return the default policy unwrapped. This
-      means, at a minimum, that the security declarations on the 
-      MetadataElementPolicy instance would never be applied correctly.
-      (http://www.zope.org/Collectors/CMF/342)
-
-    - CMFSetup.workflow: Make sure to set the "permissions" attribute on
-      DCWorkflow definitions to a tuple, which is expected throughout
-      the DCWorkflow code. (http://www.zope.org/Collectors/CMF/346)
-
-    - CMFCore.FSObject: Try to find and call the appropriate method to
-      determine the skins tool name instead of hardcoding "portal_skins".
-      (http://www.zope.org/Collectors/CMF/349)
-
-    - CMFCore.FSZSQLMethod: Add the forgotten setting to allow simple 
-      direct traversal for ZSQL methods to the list of settings recognized 
-      and applied by FSZSQLMethods during instantiation and customization.
-      (http://www.zope.org/Collectors/CMF/350)
-
-    - CMFCore.FSObject: When customizing filesystem objects in the skins 
-      tool, some security-related settings were not transferred to the 
-      customized object, namely proxy roles and permission settings.
-      (http://www.zope.org/Collectors/CMF/351)
-
-    - Sync catalog metadata column with correct name of DublinCore string
-      ExpirationDate method. (http://www.zope.org/Collectors/CMF/345)
-
-  Others
-
-    - CMFSetup: the import/export of portal types uses a new XML format
-      that can hold arbitrary properties, to facilitate subclassing. The
-      old format is still recognized when importing.
-
-    - WorkflowTool: Marked WorkflowInformation and getActionsFor deprecated.
-      getActionsFor is superseded by listActionInfos and WorkflowInformation
-      was just used by getActionsFor.
-
-CMF-1.5.1 (2005/04/24)
-
-  Other
-
-    - Made INSTALL.txt more general so it does not refer to specific CMF
-      version numbers in the 1.5 series and thus won't look outdated from
-      one release to the next.
-
-    - CMFCatalogAware: reindexObjectSecurity() optimizations in case
-      of an indexable container.
-
-  Bug Fixes
-
-    - CMFDefault.SyndicationTool: Coerce property values into correct
-      types. (http://www.zope.org/Collectors/CMF/344)
-
-    - CMFCore.Skinnable: Don't catch ConflictError in __of__.
-
-    - CMFCore.CMFCatalogAware: In reindexObjectSecurity, use
-      _unrestrictedGetObject when available, and LOG when the object
-      cannot be retrieved.
-
-CMF-1.5.1beta2 (2005/04/17)
-
-  New Features
-
-    - MemberDataTool: setSecurityProfile (called by MembershipTool's
-      setPassword) now uses the userFolderEditUser() API of the user
-      folder to change user information.
-
-    - DCWorkflow: To bridge some of the bound variable name differences
-      between TALES expressions used in DCWorkflow and those used elsewhere
-      in the CMF, added two "aliases" to the expression context that reflect
-      the CMF conventions: "object" points to "here", and "folder" points
-      to "container" (http://www.zope.org/Collectors/CMF/338)
-
-    - CMFSetup: Improved update directives for extension profiles.
-      See the new PROFILES.txt for details.
-
-    - CMFCore.DirectoryView: Made list of file names to ignore configurable.
-      The previously hardcoded list of files to ignore when creating their
-      ZODB representations can now be configured by passing a sequence of
-      names to registerDirectory, which will be ignored in addition to the
-      standard list of ignored names (http://www.zope.org/Collectors/CMF/319).
-
-    - CMFCalendar: Added extension profile.
-      You can now set up CMFCalendar in one step together with a new site or
-      add calendar support to an existing site using the portal_setup tool.
-
-    - CMFSetup: Added support for extension profiles.
-      Extension profiles are profile fragments used to modify base profiles.
-      They can be shipped with add-on products or used for customization
-      steps. Importing an extension profile adds or overwrites existing
-      settings in a fine-grained way. You can't export extension profiles.
-      Snapshots and exports always represent the merged settings.
-
-    - CMFSetup: Sometimes it is not necessary or desirable to create a 
-      snapshot upon initial site creation. Matter of fact when run in a unit 
-      test situation, addConfiguredSite can throw permission errors during the
-      snapshot-taking because no specific SecurityManager has been set up.
-      Add new flag "snapshot" to factory.addConfiguredSite to turn off
-      snapshotting if desired
-
-  Bug Fixes
-
-    - TypesTool: Removed _checkViewType.
-      The control-content-creating-by-typeinfo-view-permission feature did
-      never work. Use DCWorkflow's allowCreate method instead.
-      (http://www.zope.org/Collectors/CMF/114)
-
-    - CMFDefault.DublinCore: Force local timezone when displaying date
-      metadata. (http://www.zope.org/Collectors/CMF/325)
-
-    - CMFCore.SkinsTool: Prevent adding skin layers with invalid path elements
-      There is a disconnect between the ability to define what can be ignored
-      inside DirectoryViews and what can be put into skins paths in
-      the SkinsTool. Now a check is done inside addSkinSelection that makes 
-      sure the same ignore-policy that is used for the DirectoryView is 
-      applied to the elements of a skin path.
-      (http://www.zope.org/Collectors/CMF/336)
-
-    - CMFCore.FSZSQLMethod: Added configuration parameters that were left out.
-      Some of the configuration parameters to ZSQL methods, specifically 
-      those describing custom pluggable brains classes and the
-      connection_hook, were not implemented in FSZSQLMethod. Also added a 
-      first small unittest module for FSZSQLMethod testing.
-      (http://www.zope.org/Collectors/CMF/335)
-
-    - CMFSetup utils: Modified ConfiguratorBase.
-      If the DEFAULT value is used, CONVERTER is no longer called. This makes
-      setting DEFAULT more intuitive. While very unlikely, the change might
-      break existing third party configurators.
-
-    - CMFSetup: Reduced probability of profile ID conflicts.
-      The first argument of 'registerProfile' is now 'name' instead of
-      'profile_id'. The profile ID combines 'name' and 'product'.
-
-    - CMFSetup.skins made the assumption that the CMF site can always
-      acquire REQUEST and would set up the current skin with it. Added a test
-      to see if REQUEST is available and if it is not, skip the step that
-      sets up the current skin.
-
-    - CMFCalendar zpt skin: Removed dependency on dtml layer.
-
-    - CMFCalendar: Modified install script.
-      Adds date indexes instead of field indexes. No longer adds the dtml
-      layer to zpt skins.
-
-    - CMFCore.utils: Added 'transaction' for backwards compatibility.
-      CMF now uses the Zope 2.8 transaction API und uses utils.transaction as
-      fallback in Zope 2.7.
-
-    - CMFCore.TypesTool: Added backwards compatibility code to the fix for
-      collector issue 49. (http://www.zope.org/Collectors/CMF/49)
-
-    - CMFCore.Skinnable: Changed the way layers (skindata) are stored
-      (no more _v_ attribute) to prevent them being lost in the middle
-      of a request when memory pressure is high. This change is
-      incompatible with SpeedPack, but includes one of its two
-      optimizations about skins. (http://www.zope.org/Collectors/CMF/198)
-
-    - DublinCore: Fixed creators upgrade to not call a potentially
-      costly method on the user folder.
-      (http://www.zope.org/Collectors/CMF/300)
-
-    - CMFCatalogAware: When reindexing security, all subobjects must be
-      reindexed even if they are not visible by the current user. Also
-      fixed to work correctly with Zope >= 2.7.6.
-
-CMF 1.5.1beta (2005/03/24)
-
-  New Features
-
-    - CMFCore.TypesTool and CMFCore.PortalFolder: If invokeFactory is 
-      called from code it will now hand back the created object's ID. This
-      does not change any behavior when called directly from the web. Both
-      methods returned None before, so there is no dependencies anywhere
-      on their return values, anyway. (http://www.zope.org/Collectors/CMF/331)
-
-    - CMFSetup: When importing skins configurations you can now specify a
-      layer to be inserted after a given layer. Previously you could only
-      insert before a given layer.
-
-    - CatalogTool: All default FieldIndex instances used for indexing
-      DateTime values are now created as DateIndex instances instead. All
-      default TextIndex instances are now created as ZCTextIndex instances.
-      (CMF collector issues http://www.zope.org/Collectors/CMF/191 and
-      http://www.zope.org/Collectors/CMF/302)
-
-    - CMFSetup: Improved 'skip purge' behavior of the skins import handler.
-      If purging is disabled, it's now possible to modify existing skin
-      configurations. You can use '*' as wildcard for skin-path ids and a
-      'insert-before' attribute to specify where to insert a new layer.
-
-    - CMFSetup tool: Improved 'Properties' tab.
-      The active site configuration can now be selected from a list of
-      registered profiles and stored snapshots.
-      (http://www.zope.org/Collectors/CMF/264)
-
-    - CMFSetup: Added handlers for site properties.
-
-    - CMFSetup utils: Added 'ConfiguratorBase' class.
-      It's now recommended to use this class as base for all configurators.
-      The class includes some generic methods to handle subobjects and
-      properties.
-
-    - FSObject: Now FSObject-derived items like FSImage or FSFile can have 
-      security declarations inside the metadata file.
-      (http://www.zope.org/Collectors/CMF/289)
-
-    - profiles: Moved 'default' profile to CMFDefault.
-      Using the new 'importVarious' handler this profile now allows to create
-      CMF sites identical to those created with manage_addCMFSite. 
-
-    - CMFDefault: Added 'importVarious' setup handler.
-      This provisional handler will be removed again as soon as full handlers
-      are implemented for these steps.
-
-    - CachePolicyManager: You can now set a ETag using a TALES expression
-      (http://www.zope.org/Collectors/CMF/236) 
-
-    - RegistrationTool: The regular expression that limits what people
-      can put in as a valid member ID is now configurable TTW in the
-      portal_registration tool (http://www.zope.org/Collectors/CMF/117)
-
-  Bug Fixes
-  
-    - CMFCore.MembershipTool: Change a couple conditional tests that tried to
-      determine if the MemberDataTool had been found to explicitly test for
-      None as the return value instead of a truth test on the tool itself, which
-      would fail unexpectedly on folderish MemberDataTool implementations 
-      that don't have actual content (http://www.zope.org/Collectors/CMF/330)
-
-    - CMFCore.CachingPolicyManager and CMFCore.ActionInformation: The names
-      available to TALES expressions throughout the CMF showed some
-      inconsistencies. To prevent confusion the names "content" and 
-      "content_url" that were used for Cache Policy Manager policies as well
-      as the special ActionInformation.oai class are now deprecated and will
-      be removed in CMF 1.7. The canonical names to be used are "object" and
-      "object_url", which matches all other CMF expression contexts with
-      DCWorkflow being the only exception due to its non-CMF roots.
-      (http://www.zope.org/Collectors/CMF/328)
-
-    - CMFCore.PortalFolder: Cataloging portal folders was prevented by
-      overriding the typical indexing calls, but one of them was forgotten,
-      so they still got cataloged.  (http://www.zope.org/Collectors/CMF/309)
-
-    - CMFCore.DirectoryView: A special __setattr__ on the
-      DirectoryViewSurrogate class made sure to write changes through to the
-      underlying DirectoryView, but there was no equivalent __delattr__
-      cleanup. (http://www.zope.org/Collectors/CMF/316)
-
-    - CMFDefault.RegistrationTool: Allow email addresses with an underscore
-      as the last element of the alias part.
-      (http://www.zope.org/Collectors/CMF/326)
-
-    - FSPageTemplate: Ensure that if a content type is specified using a
-      .metadata file we respect it (http://www.zope.org/Collectors/CMF/320)
-
-    - CMFCore.tests.test_PortalFolder:  fixed testing bug copied forward
-      from OFS.tests.testCopySupport.
-
-    - CMFDefault.RegistrationTool: Allow '+' in e-mail addresses.
-      (http://www.zope.org/Collectors/CMF/322)
-
-    - ActionInfo: Fixed issue with oldstyle Action info mappings.
-      The 'allowed' key was broken for non-empty 'permissions'.
-
-    - CMFDefault.DiscussionTool: 'getDiscussionFor' sometimes returned
-      unwrapped talkback objects.
-
-    - CMFSite: Made 'title' and 'description' properties undeletable.
-      This change has no effect on existing sites.
-
-    - FSObject: Ensure that a cache manager association on a Filesystem-based
-      object in the Skins Tool gets applied to the customized object in the
-      ZODB upon customization. (http://www.zope.org/Collectors/CMF/304)
-
-    - TypesTool: Changed the way available factory_type_informations are
-      presented on the dropdown list when adding a new type from a 
-      filesystem FTI to the Types Tool. The new representation includes
-      the "id" as set in the FTI instead of just the product name and the
-      meta_type. (http://www.zope.org/Collectors/CMF/49)
-
-    - CMFSetup: Fixed import of workflow bindings.
-      The 'workflow' import step has to be run after the 'typeinfo' step.
-      (http://www.zope.org/Collectors/CMF/265)
-
-    - CMFCore.CatalogTool: Take into account query restrictions on
-      'effective' or 'expires' attributes during a search.
-      (http://www.zope.org/Collectors/CMF/120)
-
-    - WorkflowTool: Fixed 'setChainForPortalTypes'.
-      If 'chain' was an empty string, it wasn't set correctly.
-
-    - FSFile, FSImage: Made available to caching policy manager as
-      standard content. (http://www.zope.org/Collectors/CMF/299)
-
-    - FSDTMLMethod: Small code cleanup to remove duplicate variable
-      definition (http://www.zope.org/Collectors/CMF/291)
-
-    - Portal: Fixed 'setupDefaultProperties'.
-      Backwards compatibility was broken and the 'default_charset' argument
-      was ignored.
-
-    - Document/NewsItem: If the "plain text" format is selected the
-      content will no longer be tested for HTML and reduced to text
-      between opening and closing "body" tags
-      (http://www.zope.org/Collectors/CMF/214)
-
-    - Document/NewsItem: A call to setFormat will now re-cook the
-      document content if the format has been changed (arising from
-      discussion about http://www.zope.org/Collectors/CMF/214)
-
-    - DirectoryViews/FSMetadata: Corrected some erroneous docstrings
-      about proxy role handling using .metadata files
-      (http://www.zope.org/Collectors/CMF/177)
-
-  Other
-
-    - CMFCore.FSPropertiesObject: Added a deprecation warning to announce the
-      fact that .properties files will disappear in CMF 1.7 and should be 
-      replaced with CMFCore.FSMetadata (.metadata) files.
-
-CMF 1.5.0 (2004/10/21)
-
-  New Features
-
-    - Portal: Added 'default_charset' property.
-      (http://www.zope.org/Collectors/CMF/261)
-
-    - CMFDefault utils: Added 'toUnicode' function.
-      (http://www.zope.org/Collectors/CMF/261)
-
-  Bug Fixes
-
-    - ZPT skin: Fixed 'RSS'.
-      Values are now converted to unicode, using 'default_charset'.
-      (http://www.zope.org/Collectors/CMF/261)
-
-    - DublinCore: Added 'setCreators' method.  Note that
-      'notifyModified' also modifies creators. If the current user
-      should not be added to creators, make sure notifyModified() is not
-      called after setCreators().  (http://www.zope.org/Collectors/CMF/61)
-
-    - ZPT skin: Fixed '*metadata_edit_form'.
-      Setting "Enable Discussion?" to 'Off' was broken.
-
-    - CMFSetup: Made sure imported values are converted to strings.
-      For now imports and exports work only with 'ascii' encoding.
-      (http://www.zope.org/Collectors/CMF/287)
-
-    - FSPageTemplate: Don't hide sub-tracebacks in development mode.
-
-    - TypesTool: Removed again the "add properties from the ZMI" feature.
-      That feature existed only in 1.5.0beta2.
-
-    - ActionProviderBase: Modified exceptions raised by 'getActionInfo'.
-      Now Unauthorized is raised if at least one Action was found but
-      the user is not allowed to access any of them.
-
-    - RegistrationTool: Generated passwords no longer contain 'OQ0Il1'.
-
-    - The permalink feature is now turned off by default and may be turned
-      on by setting the boolean property 'enable_permalink' in the cmfs
-      root property sheet through the ZMI. Through the 'get_permalink'
-      script the permanent link of an content object can be asked for.
-      Additionaly the site may be asked if the permalink feature is turned
-      on or not by adding 'isAvailable' instead of an unique id
-      (http://www.example.com/permalink/isAvailable). Returns '1' or '0'.
-      Also removed the badly designed 'tal:on-error' directive in
-      'main_template'.
-
-CMF 1.5.0beta2 (2004/09/27)
-
-  New Features
-
-    - CookieCrumbler: Merged changes from standalone version.
-      Cookies set on an HTTPS connection are now marked as secure, meaning
-      they will not be transmitted over HTTP.
-
-    - PortalFolder: New 'Folderish' Interface defines the 'content*'
-      methods.
-
-    - PortalFolder: Improved WebDAV folder listings.
-      Hidden sub-objects like tools are now filtered out. To see all
-      sub-objects, you need the 'Manage portal' permission.
-
-    - TypesTool: New properties can be added from the ZMI to
-      TypeInformation objects.
-
-  Bug Fixes
-
-    - CMFDefault/Document:  store / return size of "raw" source text for
-      'get_size'.
-
-    - ZPT skin: Refactored registered_notify_template.
-      For security reasons, it no longer adds the password to the login URL.
-
-    - PortalFolder: Fixed '_checkId' policy.
-      In a subfolder, members without 'Manage portal' permission were not
-      able to create content items whose names clashed with content items
-      in the portal root.
-
-    - CookieCrumbler: Improved 'came_from' URL.
-      Problems in connection with stack manipulation on traversal or usage
-      of 'traverse_subpath' should be fixed now.
-
-    - PortalFolder: Public 'content*' methods or no longer publishable.
-      This prevents expensive anonymous calls to contentItems(),
-      contentIds() and contentValues() via URLs. They still can be used
-      in TTW code.
-
-    - ZPT skin: Added missing mail_password_template.
-
-    - TypeInformation: Simplified Method Aliases API.
-      The new queryMethodID() replaces getMethodPath() and getMethodURL().
-      Aliases for method paths are no longer supported.
-
-    - FSFile: Allow setting a content_type value using a .metadata file
-      (http://www.zope.org/Collectors/CMF/281)
-
-    - FSPageTemplate: Refine the XML content type detection so that
-      addtional data such as encoding is preserved
-      (http://www.zope.org/Collectors/CMF/228)
-
-    - ActionInformation: If a path expression ending in an object that
-      gets called using __render_with_namespace__ (such as DTML objects
-      and Scripts (Python)) is used a KeyError for "here" would be thrown
-      inside PageTemplates.ZRPythonExpr.call_with_ns. call_with_ns
-      expects the namespace to contain "here", which the context coming
-      from CMFCore.Expressions.createExprContext did not provide. Added
-      "here" as an alias pointing to the provided "object"
-      (http://www.zope.org/Collectors/CMF/171)
-
-    - DiscussionItem: Made sure that the workflow is notified of their
-      creation.
-      (http://www.zope.org/Collectors/CMF/280)
-
-    - CMFCatalogAware: When pasting a content item, local roles were not
-      changed to reflect the new ownership.
-      (http://www.zope.org/Collectors/CMF/205)
-
-    - ZPT skin: Added missing RSS script and template.
-      (http://www.zope.org/Collectors/CMF/279)
-
-    - DirectoryView: Improved createDirectoryView() backwards compatibility.
-      Using platform specific path separators is deprecated.
-
-    - UniqueIdAnnotation: Fixed manage_after* methods.
-      They didn't work correctly in nested folders.
-
-    - Workflow: Marked WorkflowMethod alias WorkflowAction as deprecated.
-
-    - ZPT skin: Improved folder_copy_control and folder_cut_control.
-      They now catch CopyErrors.
-
-    - DirectoryView: Readded expandpath() for backwards compatibility.
-      Some products still import expandpath from DirectoryView because
-      it was once defined there. Note that importing expandpath from
-      DirectoryView is deprecated and doesn't work with CMF HEAD / 1.6.
-
-    - RegistrationTool: An optional password can now be passed to
-      registeredNotify() (Issue #277).
-
-    - Tool icons can now reside in subdirectories (Issue #144).
-
-CMF 1.5.0beta (2004/08/12)
-
-  New Features
-
-    - The CMF is now under the terms of version 2.1 of the Zope Public
-      License (ZPL); it was previously under ZPL version 2.0.
-
-    - TypeInfos: Marked getActionById as deprecated.
-      Use getActionInfo if you need an URL or getMethodPath if you need a
-      method.
-
-    - CatalogTool.CatalogTool now has a private 'unrestrictedSearchResults'
-      method bypassing the effective and expiry date and roles. The new
-      method has to be used with care to not expose security holes in
-      applications using the CatalogTool.
-
-    - CMFCalendar.CalendarTool: Made workflow states configurable TTW.
-      (http://www.zope.org/Collectors/CMF/110)
-
-    - Minor featurelet: The "Action Providers" ZMI tab on the portal_actions
-      tool now links directly to the tools shown
-      (http://www.zope.org/Collectors/CMF/181)
-
-    - CMFCore.utils: Introduced contributorsplitter() utility function
-      along the lines of keywordsplitter().
-
-    - Actions and Action providers: Further refactoring.
-
-      o Removed again OldstyleActionProvider Interface and
-        OldstyleActionProviderBase that existed only in 1.5.0-alpha.
-        ActionProvider now also works with oldstyle Action mappings.
-
-      o listActionInfos() and getActionInfo() now return ActionInfo objects
-        instead of Action info mappings. ActionInfo objects have a backwards
-        compatible mapping interface.
-
-    - Added CMFUid product which provides tools for generating,
-      registering, and storing unique IDs for content (gregweb).
-
-      o As an example of how to use unique ids, enhanced CMFDefault.Favorite
-        content class, using unique ids to track moved or renamed
-        content items.
-
-      o At the bottom of the page the permanent link to the content object
-        is shown (http://www.example.com/<cmf_root>/permalink/1234, where
-        1234 is the unique id of the content object)
-
-    - Added __init__ method to the IOpaqueItems.ICallableOpaqueItem
-      interface.
-
-    - CookieCrumber now supports logging the authenticated user id to
-      the access log just like basic auth.
-
-    - 'portal_setup' tool can now disply / download diffs between profiles
-      and / or snapshots.
-
-    - The 'find' tab on the 'portal_skins' tool will now mark the object that
-      would be returned when using the specified skin
-
-  Bug Fixes
-
-    - CMFCore.PortalFolder: Enforce check of "Delete objects" permission
-      during cut + paste.
-      (http://www.zope.org/Collectors/CMF/259)
-
-      N.B.  This fix depends on an update to the underlying Zope software,
-            e.g., Zope 2.7.3 or later.  Two new unit tests fail on
-            Zope 2.7.2 and earlier.
-
-    - CMFDefault.MetadataTool: Validation would disallow
-      vocabulary-constrained metadata elements to be empty
-      (http://www.zope.org/Collectors/CMF/217)
-
-    - CMFDefault.DiscussionItem: Replies were not sorted chronologically
-      (http://www.zope.org/Collectors/CMF/211)
-
-    - CMFDefault.Image and CMFDefault.File: When copy/pasting Image and File
-      objects the review state did not revert to "private".
-      (http://www.zope.org/Collectors/CMF/176)
-
-    - CMFSetup: Refactored rolemap.
-      Converted the roles attribute to role sub-elements. Fixed an
-      acquisition bug that caused incomplete exports. Updated default
-      profile.
-
-    - CMFWiki: Prevent deprecation notice for the deprecated
-      CMFWikiPermissions module by replacing its usage in CMFWiki.__init__
-      with the new permissions module.
-
-    - CMFTopic: Change topic_view template to show title and ID (it only
-      showed title before)
-      (http://www.zope.org/Collectors/CMF/180)
-
-    - CMFCore.PortalFolder: Unlike other content, only Managers were able
-      to create PortalFolders using mkdir in FTP. Fixed by inserting
-      missing security declaration for PortalFolder.manage_addFolder
-      (http://www.zope.org/Collectors/CMF/167)
-
-    - Default text format for NewsItems is now structured-text, just like
-      it is for Documents, tuhs removing a spurious difference.
-      (http://www.zope.org/Collectors/CMF/138)
-
-    - CMFCalendar.CalendarTool: (Lost) fix for issues 65 and 159.
-      The determination of the date/time range constituting a specific month
-      was faulty.
-
-    - CMFDefault.DublinCore: Use the portal_metadata tool's 'getPublisher'
-      for the DublinCore 'Publisher' element (thanks to Eric Brown for the
-      patch).
-
-    - CMFCalendar.CalendarTool: Code assumed US datetime format throughout.
-      At least since Zope 2.7 users can change that.
-
-    - CMFCalendar.Event: Day, month, and year were processed in the wrong
-      order by Event.edit().
-      (http://www.zope.org/Collectors/CMF/202)
-
-    - CMFCore.PortalFolder: _verifyObjectPaste() did not check the
-      container's allowed content types, enabling users to paste objects
-      they were not allowed to add.
-      (http://www.zope.org/Collectors/CMF/216)
-
-    - CMFDefault.File and CMFDefault.Image: setFormat() failed to update
-      the content_type property causing index_html() to use a stale mimetype
-      when serving the file or image.
-      (http://www.zope.org/Collectors/CMF/226)
-
-    - CMFDefault.Document, CMFDefault.Link, and CMFCalendar.Event:
-      WebDAV PUT() caused improper splitting of 'Contributors' metadata
-      header.
-
-    - CMFCore.PortalFolder: Fixed missing import of BadRequest exception.
-
-    - DCWorkflow DefaultWorkflowClassic: Fixed 'pending' state permissions.
-
-    - CMFSetup: Refactored actions, type-infos and workflow definition.
-      Changed some XML attributes. Converted list items and descriptions to
-      sub-elements.
-
-    - ActionInformation: Some attribute cleanup.
-      Enforced usage of 'Title' instead of 'Name', 'URL' or
-      'URL (Expression)' instead of 'Action'. Enforced boolean type of
-      'Visible'.
-
-    - DiscussionTool: Fixed two acquisition bugs.
-      (Collector #119 and #201)
-
-    - Change default CookieCrumbler Cache-Control header value from
-      "no-cache" to "private" to allow browser caches to cache cookie
-      authenticated pages but not proxies and HTTP accellerators.
-
-    - ActionInformation: Correctly store an empty tuple for permissions
-      if no permission is given (Collector #242).
-
-    - DublinCore: Use a default ceiling date that is parsable by
-      DateIndex (Collector #132).
-
-    - RSS: Creates correct XML by always quoting arguments (Collector #170).
-
-CMF 1.5.0alpha (2004/07/09)
-
-  New Features
-
-    - CMFActionIcons product is now shipped as part of the CMF release.
-
-    - New portal_setup tool provides export / import of various site
-      configuration choices, both as tarballs and as TTW "snapshots".
-      See the "README":CMFSetup/README.txt.
-
-    - zpt skin: Some forms are now scripts.
-      These scripts are dispatchers that call validators and controllers and
-      set redirect depending on the selected button. If redirect is not set,
-      the script calls a template and returns the resulting HTML page.
-
-    - ActionProviderBase, ActionInformation: Added methods to modify/edit
-      actions. New method 'getActionObject' in 'ActionProviderBase' and
-      'edit' method in 'ActionInformation' (Collector 195).
-      An action now may be modified/edited the following way::
-
-        action_provider.getActionObject('object/view').edit(title='VIEW')
-
-    - Topic objects now support syndication (Collector #203).
-
-    - PortalFolder and zpt skin: PortalFolder now inherits from
-      OrderedFolder.
-
-      o Added buttons to 'folder_contents' that allow to set a default
-        sorting for each PortalFolder or to order the sub-objects by hand.
-
-      o Modified 'index_html' to show sub-objects in the selected order. The
-        old 'index_html' is still available as 'index_html_categorized'.
-
-    - CMFDefault utils: Added 'html_marshal' function.
-      This is similar to ZTUtils.make_hidden_input(), but returns a sequence
-      of (name, value) pairs instead of html code.
-
-    - CMFCore utils and content types: Marked _getViewFor as deprecated.
-      __call__() and view() methods using _getViewFor() are deprecated as
-      well. Use Method Aliases instead.
-
-    - CMFDefault Site: Now adds the 'Classic' DCWorkflow on creation.
-      If DCWorkflow is not installed, no default workflow is added.
-
-    - DynamicType: Added 'getActionInfo' method.
-      This is a shortcut to getActionInfo() of the related TypeInformation.
-
-    - DublinCore: setModificationDate is now guarded by
-      'ModifyPortalContent'.
-
-    - zpt skin: Reimplemented 'folder_contents' and related controllers.
-      Uses a dispatcher script that calls the right validators and
-      controllers if a form button is pushed. The result looks almost
-      the same as before.
-
-    - PortalFolder and SkinnedFolder: Added 'new' and 'rename_items' Actions.
-      Used for redirects they are invisible by default.
-
-    - CMFCore exceptions: Added some Exceptions.
-      AccessControl.Unauthorized is a subclass of zExceptions.Unauthorized,
-      so for best results use 'AccessControl_Unauthorized' to raise
-      Unauthorized and 'zExceptions_Unauthorized' to catch them all.
-      'CopyError' and 'ResourceLockedError' are now also available for
-      TTW code.  'EditingConflict' is a new CMF class replacing the old
-      string exception.
-
-    - Callable Opaque Items, CMFCatalogAware: Added an interface
-      'ICallableOpaqueItemWithHooks'. CMF now calls the manage_after*
-      and manage_before* hooks of a marked opaque item on copying,
-      moving or deleting the containing content object.
-
-    - DublinCore: Creator element no longer depends on Ownership.
-      (Collector #25)
-
-      o Added listCreators() and listContributors() to the DublinCore
-        Interface. Creator() now returns the first element of listCreators().
-        Contributors() is now a deprecated alias of listContributors() and
-        might change in a future version.
-
-      o Updated DublinCore implementation in DefaultDublinCoreImpl and
-        DiscussionItem. Added new addCreator() method that is called by
-        notifyModified(). SkinnedFolder also uses the new methods.
-
-      o Updated ContentFilter to work with listCreators().
-
-      o Updated CatalogTool to index listCreators. Creator index and metadata
-        are deprecated and might be removed in a future version.
-
-      o Updated skins to search listCreators() and show all creators.
-
-    - TypeInfos: _finishConstruction() now calls reindexObject().
-      This makes sure changes made by ScriptableTypeInformation scripts are
-      indexed and notifyModified() is called after content creation.
-
-    - Document: Removed WorkflowMethod wrapper of setFormat().
-      This was the only wrapped MutableDublinCore method and caused an ugly
-      second reindexObject() / notifyModified() call in the middle of
-      _editMetadata().
-
-    - CatalogTool: Updated to post Zope 2.6.2 ZCatalog interface.
-      'catalog_object()' and 'reindexObject()' now support the new
-      'update_metadata' argument. 'reindexObjectSecurity()' doesn't update
-      catalog metadata anymore.
-
-    - Added new hook to CookieCrumbler "twiddleAuthCookie". The
-      twiddleAuthCookie skin script, if present is called on each request
-      where a cookie authentication token is present. It is passed the auth
-      cookie name and value so that it can perform such functions as
-      extending the expiration of the cookie. A twiddleAuthCookie script
-      along with a setAuthCookie script could create login sessions that
-      timeout after a period of inactivity for example.
-
-    - Refactored ActionsTool and Action providers:
-
-      o Added listActionInfos() and getActionInfo() to the ActionProvider
-        Interface, added 'object' argument to listActions().
-
-      o Added OldstyleActionProvider Interface and OldstyleActionProviderBase
-        for Action providers still not using ActionInformation objects.
-        WorkflowTool and CMFCore DiscussionTool use this.
-
-      o Action providers queried by ActionsTool should implement the new
-        ActionProvider Interface. Action providers subclassing
-        ActionProviderBase inherit the necessary methods.
-
-      o To ease transition it will be sufficient to implement the
-        OldstyleActionProvider Interface, using OldstyleActionProviderBase.
-        The use of Action providers not implementing one of these Interfaces
-        is deprecated. Support for them will be removed after CMF 1.5.
-
-      o Added helper methods getOAI() and getExprContext() to get computed
-        contexts from REQUEST cache or create new ones.
-
-    - CMFDefault MembershipTool and zpt skin: Added 'Manage members' Action.
-      The skin now provides basic membership management: Browsing members,
-      registering new members and deleting members including their member
-      data, member area and Local Roles.
-
-    - The caching policy manager now sets the header
-      'X-Cache-Headers-Set-By' when it sets cache headers
-      in a response.
-
-    - FSDTMLMethods now play nicely with the caching policy manager.
-
-    - zpt skin: Added batch_widgets.pt and getBatchNavigation.py.
-      roster and search use now the new navigation macro. Looks like before,
-      but i18n works better and it's easier to reuse or replace the code.
-
-    - zpt skin: Added zpt version of registered_notify_template.
-
-    - CMFCorePermissions: Made them available for import by Scripts.
-
-    - CMFCore MembershipTool and MemberDataTool: Added 'delete' methods.
-
-      o deleteMemberData() deletes the member data of a member.
-
-      o deleteMemberArea() deletes the member area of a member.
-
-      o deleteLocalRoles() now has a 'recursive' argument.
-
-      o deleteMembers() deletes members including member data, member area
-        and Local Roles.
-
-    - CMFCore MembershipTool: Changed interface.
-
-      o createMemberarea() is now called createMemberArea(). For backwards
-        compatibility createMemberarea is a deprecated alias.
-
-      o getMembersFolder() is now also part of the CMFCore interface.
-
-    - CMFCorePermissions: Added 'Change local roles' Permission.
-      PortalFolder's 'Local Roles' Action and MembershipTool's Local Roles
-      methods are now guarded by 'Change local roles' of the object.
-
-    - Added CMFCore 'exceptions.py': Errors defined in this module are
-      available for import by Scripts.
-
-    - CMFCore and CMFDefault MembershipTool: Changed permissions.
-      'createMemberarea()' for someone else and 'getRoster()' including
-      hidden members are now protected by 'Manage users'. 'getMemberById()',
-      listMemberIds() and listMembers() as well.
-
-    - Document and NewsItem: Un-hardwired 'manage_FTPget()' for 'text/html'.
-      Added 'source_html.dtml' and 'source_html.pt'. 'manage_FTPget()' now
-      has a 'gethtml' hook and uses 'source_html' by default.
-      (Collector #168)
-
-    - TypeInformation: Added Method Aliases.
-
-      o TypesTool and TypeInformation now have an 'Aliases' tab to configure
-        Method Aliases TTW.
-
-      o factory_type_information now has a key 'aliases' to configure Method
-        Aliases in a product. This key is required, but may be empty: If it
-        doesn't exist, TypeInformation will try to update by guessing
-        aliases.
-
-      o DynamicType manipulates 'TraversalRequestNameStack' depending on
-        Method Aliases. '(Default)' and 'view' aliases bypass __call__() and
-        view() methods on traversal.
-
-      o PortalFolder's 'mkdir' hook now makes use of Method Aliases.
-
-    - CMFCore and CMFDefault MembershipTool: Changed member area creation.
-      'wrapUser()' does no longer call 'createMemberarea()'.
-      'createMemberarea()' should now be called from the 'logged_in' page.
-
-    - CMFDefault MembershipTool: Added a customization hook to
-      'createMemberarea()'. A 'createMemberContent' script placed inside the
-      tool overrides default member content creation.
-
-  Bug Fixes
-
-    - zpt skin: Removed dependency on dtml layers.
-
-    - CMFCore utils: Marked 'format_stx' function as deprecated.
-      It's no longer necessary to work around default STX handling.
-
-    - DirectoryView: Refactored path handling.
-      Should now work with any products path setup. (Collector #210)
-
-    - Enforced new "local permissions" pattern:  each top-level CMF product
-      should have a 'permissions.py' module which imports / declares all
-      permissions used within the product;  other modules within the product
-      should import from there.  Likewise for 'exceptions.py'.
-
-    - Removed pre Zope 2.7.0 compatibility code. Now Zope 2.7.0 or a later
-      platform is required for CMF.
-
-    - CatalogTool: Marked the 'meta_type' index as deprecated.
-
-    - PortalFolder: Marked the 'spec' argument as deprecated.
-      Use the 'filter' argument with 'portal_type' instead for
-      contentItems(), contentIds(), contentValues() and listFolderContents().
-
-    - PortalFolder: Fixed portal_type acquisition bug in ContentFilter.
-
-    - DynamicType: Added 'getPortalTypeName()' to the interface.
-
-    - Collector #227:  expose ZPT filename in tracebacks which include
-      FSPageTemplates.
-
-    - zpt skin: Switched base tag policy back to that of dtml skin.
-      This makes the use of relative URLs in content easier. If you have
-      content that depends on the old policy you can customize getBaseTag.pt
-      and add a slash. (Collector #66)
-
-    - Actions of folderish types: Fixed some inconsistencies.
-      Whatever the old CMFDefault policy was - this is the current policy:
-      "object" is used for Actions related to the object itself, "folder" is
-      used for Actions related to the container of the object.
-
-      o Changed the category of PortalFolder and SkinnedFolder Actions to
-        'object'.
-
-      o Moved 'folderContents' of folderish types from ActionsTool to
-        PortalFolder's type info. Other folderish types now have to declare
-        their own 'folderContents' Action if they need one.
-
-      o Renamed Topic's 'subtopics' and SkinnedFolder's 'foldercontents'
-        Action to 'folderContents' to get them in sync.
-
-    - StrippingParser: Added 'big', 'small', 'sub' and 'sup' to valid tags.
-
-    - _checkPermission: Added check for executable owner and proxy roles.
-
-    - SkinsContainer: Fixed context wrappers returned by getSkinByPath().
-      The original context of skin folders is now removed. This avoids having
-      SkinTool attributes added to the CMFSite root object.
-
-    - CatalogTool: Removed deprecated 'id' from default indexes and metadata.
-
-    - Skins: Fixed a DateTime related issue in search_form and doFormSearch.
-      Added one second to epoch to work around the problem that the timezone
-      gets lost if time is 00:00:00.
-
-    - CMFCore.PortalFolder: Explicitly declare base interfaces.
-
-    - Tests: CachingPolicyManager tests don't fail on Windows anymore.
-      (Collector #107)
-
-    - SkinsTool: Fixed cookie paths.
-      clearSkinCookie() now uses the same cookie path as updateSkinCookie()
-      which is now "inside-out" hosting safe.
-
-    - DefaultDublinCoreImpl: Changed accessor permissions.
-      As defined in the interface accessors are now protected by 'View'.
-
-    - CMFDefault utils: Made 'tuplize()' work correctly with string types.
-
-    - CMFCore utils: Reverted obsolete workaround in _checkPermission.
-
-    - Skin scripts: Made except statements safer by being more specific. Hope
-      this still catches all relevant errors.
-
-    - Removed some pre 'Zope 2.4.3 with PageTemplates' backwards
-      compatibility cruft. A later platform is required since CMF 1.3.
-
-    - Collector #153: CookieCrumbler didn't preserve query strings.

Modified: CMF/branches/1.6/CMFActionIcons/version.txt
===================================================================
--- CMF/branches/1.6/CMFActionIcons/version.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/CMFActionIcons/version.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1 +1 @@
-CMF-1.5.5-beta
+CMF-1.6-PRE

Modified: CMF/branches/1.6/CMFCalendar/version.txt
===================================================================
--- CMF/branches/1.6/CMFCalendar/version.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/CMFCalendar/version.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1 +1 @@
-CMF-1.5.5-beta
+CMF-1.6-PRE

Modified: CMF/branches/1.6/CMFCore/version.txt
===================================================================
--- CMF/branches/1.6/CMFCore/version.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/CMFCore/version.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1 +1 @@
-CMF-1.5.5-beta
+CMF-1.6-PRE

Modified: CMF/branches/1.6/CMFDefault/version.txt
===================================================================
--- CMF/branches/1.6/CMFDefault/version.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/CMFDefault/version.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1 +1 @@
-CMF-1.5.5-beta
+CMF-1.6-PRE

Modified: CMF/branches/1.6/CMFTopic/version.txt
===================================================================
--- CMF/branches/1.6/CMFTopic/version.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/CMFTopic/version.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1 +1 @@
-CMF-1.5.5-beta
+CMF-1.6-PRE

Modified: CMF/branches/1.6/CMFUid/version.txt
===================================================================
--- CMF/branches/1.6/CMFUid/version.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/CMFUid/version.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1 +1 @@
-CMF-1.5.5-beta
+CMF-1.6-PRE

Modified: CMF/branches/1.6/DCWorkflow/version.txt
===================================================================
--- CMF/branches/1.6/DCWorkflow/version.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/DCWorkflow/version.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1 +1 @@
-CMF-1.5.5-beta
+CMF-1.6-PRE

Modified: CMF/branches/1.6/HISTORY.txt
===================================================================
--- CMF/branches/1.6/HISTORY.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/HISTORY.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1,3 +1,1265 @@
+CMF 1.5.5-beta (2005/11/06)
+
+  Bug Fixes
+
+    - CMFCore.DynamicType/ActionProviderBase: If an action cannot be looked
+      up, provide a more helpful debugging message for the error log.
+
+    - CMFCore.MemberDataTool: Fixed the pruneMemberData functionality in the
+      ZMI: Now it is enough to press the button once.
+
+    - Collector #381:  CMFCore unit tests depended on CMFDefault / workflow.
+
+    - CalendarTool: If an event ends at exactly midnight, don't show it
+      in the list of events for the day starting at midnight.
+      (http://www.zope.org/Collectors/CMF/246)
+
+  Features
+
+    - CMFCore:  added 'skinname' to the thread-specific tuple created by
+      the Skinnable base class to cache the skin path lookup, to facilitate
+      querying later;  added a 'getCurrentSkinName' to the Skinnable API
+      to do the query.  Thanks to Laurent Rowe for the patch.
+
+    - CMFSetup: added support for importing and exporting workflow script
+      metadata for scripts that are External Methods. One very important
+      difference to other scripts remains: Since the CMFSetup machinery
+      cannot access the filesystem code for external methods it only
+      saves the data needed to instantiate the ZODBi-based External Method 
+      object. If, during an import, the filesystem-based code cannot be
+      found, the import will fail.
+
+    - CMFActionIcons:  added support for exporting / importing
+      action icons tool configuration (via GenericSetup).
+
+    - CMFSetup:  added support for configuring content type registry.
+
+    - CMFSetup:  added support for configuring caching policy manager.
+
+    - CMFSetup:  added support for configuring cookie authentication and
+      mailhost tools (http://www.zope.org/Collectors/CMF/387).
+
+    - CMFCore.CachingPolicyManager: Caching policies can now control all the 
+      Cache-Control tokens defined in the HTTP 1.1 spec (s-maxage, public, 
+      private, no-transform).  When no-cache is enabled, a Pragma: no-cache 
+      header is also sent for HTTP 1.0 clients. Thanks go to Geoff Davis
+      for contributing the necessary patches.
+
+    - CMFCore.FSPageTemplate:  These now have the option to return a status 
+      304 and no content when a conditional GET is sent.  This is a potential 
+      significant win for sites. This behavior is activated on the
+      CachingPolicyManager by using policies that set suitable ETag headers
+      when delivering the content. Geoff Davis invested the time to add
+      this feature.
+
+  Others
+
+    - Removed deprecated 'all_cmf_tests.py' and supporting 'test_all.py'
+      from products (use 'zopectl test' to run CMF tests instead).
+
+    - CMFDefault.Portal:  deprecated 'manage_addCMFSite'.
+
+    - Collectors #384:  Added '__traceback_info__' to FSDTMLMethod's
+      call-stack etnry.
+
+    - Collector #383:  Added tab to 'portal_uidhandler' tool to allow
+      querying objects given UID.
+
+    - CMFCatalogAware: refactoring. Defines now 2 methods,
+      _getCatalogTool() and _getWorkflowTool(), that are used to find
+      the catalog and workflow tool. It's now possible to override
+      these methods using inheritence for a given content type to
+      specify another catalog or workflow tool the content type can
+      use
+
+    - CMFSetup: allow export of properties of old objects that were
+      stored as lists (instead of tuples now).
+
+CMF 1.5.4 (2005/09/04)
+
+  Bug Fixes
+
+    - CatalogTool: Made sure the catalog_object method works with Zope 2.8.
+      The new 'pghandler' argument was missing. This broke at least the
+      refreshCatalog method used by 'Update Catalog'.
+      (http://www.zope.org/Collectors/CMF/379)
+
+CMF 1.5.4-beta (2005/08/28)
+
+  Bug Fixes
+
+    - CMFCore.utils: The return value from _mergedLocalRoles allowed
+      direct manipulation of objects' local role settings since it
+      contained references to the actual values instead of copies.
+      (http://www.zope.org/Collectors/CMF/376)
+
+    - CMFTopic.DateCriteria: The behavior and naming of date criteria
+      operators was very confusing and in many cases unexpected and 
+      wrong. For that reason e.g. Plone replaced the implementation
+      with a more user-friendly handling which is hereby introduced
+      to CMF proper. (http://www.zope.org/Collectors/CMF/339)
+
+    - CMFCore.PortalContent, CMFCore.FSSTXMethod, CMFTopic.Topic,
+      CMFDefault.SkinnedFolder: Cache headers from the Caching Policy Manager
+      never got set for DTML-based skins due to the way the view template
+      __call__ method was invoked. (http://www.zope.org/Collectors/CMF/374)
+
+    - CMFCore.FSImage and FSFile: Unlike the current behavior of Zope itself,
+      FSImage and FSFile would set a content-length response header for 304
+      (not modified) responses, which should not be done according to 
+      RFC 2616. It won't do so anymore, but Zope itself will still force a
+      content-length header in ZServer.HTTPResponse. This misbehavior
+      has been filed as a Zope issue (http://www.zope.org/Collectors/Zope/1866).
+      (http://www.zope.org/Collectors/CMF/372)
+
+    - PortalFolder: Improved the _checkId method.
+      Method Aliases mask objects with matching IDs. Thus _checkId() and
+      checkIdAvailable() now make sure non-managers can't create objects with
+      IDs already taken by Method Aliases of the current folder.
+
+    - CMFDefault.Image and CMFDefault.File: When calling the constructor,
+      any intelligent content type detection would be destroyed by the
+      call to initialize Dublin Core values, which would overwrite the
+      content_type. It is now preserved, if possible.
+      (http://www.zope.org/Collectors/CMF/370)
+
+  Features
+
+    - CMFTopic.Topic: Made Topics a tad more useful by subclassing from
+      CMFDefault.SkinnedFolder instead of CMFCore.PortalFolder, because
+      SkinnedFolder is CatalogAware. Topics now offer useful information
+      for Title, Description and SearchableText, so Topic objects can
+      be located in the portal by using the standars search facilities.
+      (http://www.zope.org/Collectors/CMF/53)
+
+  Others
+
+    - CMFCore.PortalFolder._checkId() allows root doted prefixed name
+      object overrides.
+
+CMF 1.5.3 (2005/08/07)
+
+  Bugs fixed
+
+    - When the CMFBTreeFolder was moved into CMFCore, its base class was
+      changed to PortalFolderBase. This broke an assumption in the
+      portal_syndication tool that relied on all syndication containers
+      deriving from PortalFolder (http://www.zope.org/Collectors/CMF/369)
+
+CMF 1.5.3-beta (2005/08/02)
+
+  Bugs Fixed
+
+    - Changed the INSTALL_SVN instructions to conform to the new branch
+      and tag naming scheme instituted for the subversion repository.
+
+    - Apply an interim fix for slow pathwalking implementation in
+      development mode on Windows (http://www.zope.org/Collectors/CMF/367)
+      Note that a better fix would be to leverage pywin32 APIs for
+      file / directory monitoring.
+
+    - FSObject.manage_doCustomize() was broken for folderish objects on Zope
+      2.8 because manage_permission requires a context to work.
+      (see http://www.zope.org/Collectors/CMF/368)
+      
+    - CMFCore/FSPropertiesObject and CMFCore/FSMetadata: Removed a wrongly 
+      inserted DeprecationWarning in the FSPropertiesObject class and
+      put it into the FSMetadata class. We are not deprecating ".props"
+      files, but ".properties" and ".security".
+
+    - Change CVS checkout documentation to their equivalent Subversion
+      instructions
+
+    - In CMFSetup, make sure to give special treatment to both CVS and 
+      .svn folders where this is necessary (e.g. to implicitly skip them
+      when importing profiles)
+
+    - Made sure FSDVTest always deletes its temporary folder on tearDown.
+      (http://www.zope.org/Collectors/CMF/106)
+
+    - Fix DefaultWorkflowDefinition bug on isActionSupported() for the
+      keywargs support to reflect DCWorkflowDefinition changes. Add a
+      test case for this definition as well.
+
+  Others
+
+    - CMFCatalogAware: reindexObjectSecurity() now always reindexes the
+      catalog objects without changing their catalog uid. This is useful
+      for third-party code that indexes objects with special uids.
+
+CMF 1.5.2 (2005/07/17)
+
+  Bugs Fixed
+
+    - CMFCore/ActionInformation.py: Permissions of action categories starting
+      with 'document' are now evaluated in the object context instead of the
+      portal context. This should probably be generalized some more.
+
+    - Added testing framework to suppress / examine output from warnings
+      module and from zLOG.
+
+    - CMFUid/UniqueIdGeneratorTool.py: Replaced the old BTree.Length.Length
+      implementation by a simple counter. Using a BTree.Length.Length object
+      as counter may have caused setting the same unique id to multiple 
+      objects under high load. The tools counter gets automigrated on the 
+      first access.
+
+  Others
+
+    - CMFCore/CMFBTreeFolder.py:  Moved here from Zope core's
+      Products/BTreeFolder2;  conditional import, with module alias, into
+      __init__.py, for compatibility with Zope 2.7;  2.8.0 has BTreeFolder2
+      in the core (see http://www.zope.org/Collectors/Zope/1813).
+
+CMF 1.5.2beta2 (2005/07/08)
+
+  Features Added
+
+    - CMFDefault/skins/zpt_generic/talkback_tree:  Add link to allow
+      managers to delete replies (http://www.zope.org/Collectors/CMF/38).
+
+  Bugs Fixed
+
+    - CMFDefault.utils.parseHeadersBody:  use standard library's 'rfc822'
+      module to parse metadata headers, to take advantage of better handling
+      of edge cases.
+
+    - CMFDefault.utils.formatRFC822Headers:  strip trailing blank line
+      of multi-line value, to prevent premature halt of parsing.
+      (http://www.zope.org/Collectors/CMF/230)
+
+    - CMFCore.MembershipTool:  allow 'getMemberById' to crawl up the
+      hierarchy of user folders until it finds the user.  This means that
+      users from any user folder in or above the portal will be treated
+      as full members of the portal.
+      (http://www.zope.org/Collectors/CMF/354, also
+       http://www.zope.org/Collectors/CMF/63)
+
+    - CatalogTool: Added manage_convertIndexes.
+      This method should not be used with Zope 2.7. It overrides the broken
+      manage_convertIndexes of Zope 2.8.0.
+      (http://www.zope.org/Collectors/CMF/357)
+
+    - CMFCore.WorkflowTool:  Make (deprecated) WorkflowInformation objects
+      schema-compatible with current ActionInformation.
+      (http://www.zope.org/Collectors/CMF/355)
+
+    - CMFCore.utils.ToolInit: For icon registration to work with ToolInit
+      you would have to have the same product_name parameter as the actual
+      product name of the product. product_name is now optional, defaulting 
+      to the real product name. It is also deprecated, and starting with 
+      CMF1.6 product_name it will be ignored.
+
+    - CMFSetup.workflow: scripts were not exported, they're now in a
+      'scripts' subdirectory, and encoding was not propagated at import
+      time.
+
+  Others
+
+    - Moved tests which used to 'import Zope' to try 'import Zope2'
+      (with a fallback for Zope 2.7).  Thanks to sacco for the patch!
+      (http://www.zope.org/Collectors/CMF/362)
+
+    - CatalogTool: Removed obsolete Vocabulary.
+
+CMF 1.5.2beta (2005/06/26)
+
+  New Features
+
+    - CMFDefault browser: Added browser package and five_template.
+      This allows to use the main_template for forms generated by Five.
+
+    - CMFDefault skins: Added style_slot to main_template.
+
+    - CMFCore.PortalFolder: A new class PortalFolderBase was added. The
+      class is a subclass of Folder while PortalFolder is a subclass of
+      PortalFolderBase and OrderedFolder. It was added for software which
+      is incompatible w/ the ordered interface.
+
+    - CMFCore.ActionProviderBase: Add the methods _getOAI and _getExprContext
+      which can be used to hook in custom version of getOAI() and
+      getExprContext().
+
+    - CMFCore.TypesTool.TypeInformation.queryMethodID(): Add new argument
+      context=None and change all calls of queryMethodID to apply the context.
+
+    - Interfaces: Added newstyle (Zope 3) interfaces.
+      This change has no effect on Zope 2.7 without Five.
+
+    - CMFSetup.skins: Small featurelet that adds a new keyword to the
+      "layer" tag in skins.xml named "remove". If "remove" is
+      specified, the named layer will be explicitly removed from the 
+      skins path(s).
+
+    - CMFCatalogAware: reindexObjectSecurity() now supports an
+      optional argument 'skip_self' that prevents the object itself
+      from being reindexed, but its descendants still are. Allows an
+      optimization when you want to reindex all the idxs *and* the
+      security in a single shot with reindexObject().
+
+    - CMFCatalogAware: allow easy subclassing of the "security indexes"
+      that are reindexed by reindexObjectSecurity(), through the
+      attribute _cmf_security_indexes.
+
+    - doActionFor() propagates **kw to isActionSupported() through
+      _checkTransitionGuard() until the guard.check() method so that
+      StateChangeInfo() can be constructed with those kwargs.
+
+  Bug Fixes
+
+    - ActionInfo: Make 'setActionExpression' sane if passed a string
+      which is already prefixed with "string;".
+
+    - ActionInfo: Fixed copy method.
+
+    - CMFTopic.Topic/CMFCore.PortalContent: Clean up a previous change
+      by changing __call__ methods to be aligned with what's on CVS
+      HEAD and using the old _getViewFor function as a fallback to
+      retain backwards compatibility.
+
+    - DCWorkflow: Add a note to the Transitions and States forms
+      explaining that the renaming actions will not automatically
+      update any items in the workflow that might be affected by
+      the change. (http://www.zope.org/Collectors/CMF/89)
+
+    - CMFDefault.SyndicationTool: Zope 2.8 raises AttributeError where
+      earlier Zopes used to raise KeyError.
+
+    - Set cache headers in 304 responses from FSImage / FSFile
+      (http://www.zope.org/Collectors/CMF/355)
+
+    - CMFCore.DirectoryView: Do not cause ZODB writes or ConflictError
+      if an old DirectoryView with a non-existing path is left. Sends a
+      warning to stderr about those.
+      (http://www.zope.org/Collectors/CMF/347)
+
+    - CMFSetup utils: Fixed handling of comments and empty descriptions.
+      (http://www.zope.org/Collectors/CMF/352)
+
+    - CMFDefault.MetadataTool: When asked for a non-existing metadata
+      policy, the tool would return the default policy unwrapped. This
+      means, at a minimum, that the security declarations on the 
+      MetadataElementPolicy instance would never be applied correctly.
+      (http://www.zope.org/Collectors/CMF/342)
+
+    - CMFSetup.workflow: Make sure to set the "permissions" attribute on
+      DCWorkflow definitions to a tuple, which is expected throughout
+      the DCWorkflow code. (http://www.zope.org/Collectors/CMF/346)
+
+    - CMFCore.FSObject: Try to find and call the appropriate method to
+      determine the skins tool name instead of hardcoding "portal_skins".
+      (http://www.zope.org/Collectors/CMF/349)
+
+    - CMFCore.FSZSQLMethod: Add the forgotten setting to allow simple 
+      direct traversal for ZSQL methods to the list of settings recognized 
+      and applied by FSZSQLMethods during instantiation and customization.
+      (http://www.zope.org/Collectors/CMF/350)
+
+    - CMFCore.FSObject: When customizing filesystem objects in the skins 
+      tool, some security-related settings were not transferred to the 
+      customized object, namely proxy roles and permission settings.
+      (http://www.zope.org/Collectors/CMF/351)
+
+    - Sync catalog metadata column with correct name of DublinCore string
+      ExpirationDate method. (http://www.zope.org/Collectors/CMF/345)
+
+  Others
+
+    - CMFSetup: the import/export of portal types uses a new XML format
+      that can hold arbitrary properties, to facilitate subclassing. The
+      old format is still recognized when importing.
+
+    - WorkflowTool: Marked WorkflowInformation and getActionsFor deprecated.
+      getActionsFor is superseded by listActionInfos and WorkflowInformation
+      was just used by getActionsFor.
+
+CMF-1.5.1 (2005/04/24)
+
+  Other
+
+    - Made INSTALL.txt more general so it does not refer to specific CMF
+      version numbers in the 1.5 series and thus won't look outdated from
+      one release to the next.
+
+    - CMFCatalogAware: reindexObjectSecurity() optimizations in case
+      of an indexable container.
+
+  Bug Fixes
+
+    - CMFDefault.SyndicationTool: Coerce property values into correct
+      types. (http://www.zope.org/Collectors/CMF/344)
+
+    - CMFCore.Skinnable: Don't catch ConflictError in __of__.
+
+    - CMFCore.CMFCatalogAware: In reindexObjectSecurity, use
+      _unrestrictedGetObject when available, and LOG when the object
+      cannot be retrieved.
+
+CMF-1.5.1beta2 (2005/04/17)
+
+  New Features
+
+    - MemberDataTool: setSecurityProfile (called by MembershipTool's
+      setPassword) now uses the userFolderEditUser() API of the user
+      folder to change user information.
+
+    - DCWorkflow: To bridge some of the bound variable name differences
+      between TALES expressions used in DCWorkflow and those used elsewhere
+      in the CMF, added two "aliases" to the expression context that reflect
+      the CMF conventions: "object" points to "here", and "folder" points
+      to "container" (http://www.zope.org/Collectors/CMF/338)
+
+    - CMFSetup: Improved update directives for extension profiles.
+      See the new PROFILES.txt for details.
+
+    - CMFCore.DirectoryView: Made list of file names to ignore configurable.
+      The previously hardcoded list of files to ignore when creating their
+      ZODB representations can now be configured by passing a sequence of
+      names to registerDirectory, which will be ignored in addition to the
+      standard list of ignored names (http://www.zope.org/Collectors/CMF/319).
+
+    - CMFCalendar: Added extension profile.
+      You can now set up CMFCalendar in one step together with a new site or
+      add calendar support to an existing site using the portal_setup tool.
+
+    - CMFSetup: Added support for extension profiles.
+      Extension profiles are profile fragments used to modify base profiles.
+      They can be shipped with add-on products or used for customization
+      steps. Importing an extension profile adds or overwrites existing
+      settings in a fine-grained way. You can't export extension profiles.
+      Snapshots and exports always represent the merged settings.
+
+    - CMFSetup: Sometimes it is not necessary or desirable to create a 
+      snapshot upon initial site creation. Matter of fact when run in a unit 
+      test situation, addConfiguredSite can throw permission errors during the
+      snapshot-taking because no specific SecurityManager has been set up.
+      Add new flag "snapshot" to factory.addConfiguredSite to turn off
+      snapshotting if desired
+
+  Bug Fixes
+
+    - TypesTool: Removed _checkViewType.
+      The control-content-creating-by-typeinfo-view-permission feature did
+      never work. Use DCWorkflow's allowCreate method instead.
+      (http://www.zope.org/Collectors/CMF/114)
+
+    - CMFDefault.DublinCore: Force local timezone when displaying date
+      metadata. (http://www.zope.org/Collectors/CMF/325)
+
+    - CMFCore.SkinsTool: Prevent adding skin layers with invalid path elements
+      There is a disconnect between the ability to define what can be ignored
+      inside DirectoryViews and what can be put into skins paths in
+      the SkinsTool. Now a check is done inside addSkinSelection that makes 
+      sure the same ignore-policy that is used for the DirectoryView is 
+      applied to the elements of a skin path.
+      (http://www.zope.org/Collectors/CMF/336)
+
+    - CMFCore.FSZSQLMethod: Added configuration parameters that were left out.
+      Some of the configuration parameters to ZSQL methods, specifically 
+      those describing custom pluggable brains classes and the
+      connection_hook, were not implemented in FSZSQLMethod. Also added a 
+      first small unittest module for FSZSQLMethod testing.
+      (http://www.zope.org/Collectors/CMF/335)
+
+    - CMFSetup utils: Modified ConfiguratorBase.
+      If the DEFAULT value is used, CONVERTER is no longer called. This makes
+      setting DEFAULT more intuitive. While very unlikely, the change might
+      break existing third party configurators.
+
+    - CMFSetup: Reduced probability of profile ID conflicts.
+      The first argument of 'registerProfile' is now 'name' instead of
+      'profile_id'. The profile ID combines 'name' and 'product'.
+
+    - CMFSetup.skins made the assumption that the CMF site can always
+      acquire REQUEST and would set up the current skin with it. Added a test
+      to see if REQUEST is available and if it is not, skip the step that
+      sets up the current skin.
+
+    - CMFCalendar zpt skin: Removed dependency on dtml layer.
+
+    - CMFCalendar: Modified install script.
+      Adds date indexes instead of field indexes. No longer adds the dtml
+      layer to zpt skins.
+
+    - CMFCore.utils: Added 'transaction' for backwards compatibility.
+      CMF now uses the Zope 2.8 transaction API und uses utils.transaction as
+      fallback in Zope 2.7.
+
+    - CMFCore.TypesTool: Added backwards compatibility code to the fix for
+      collector issue 49. (http://www.zope.org/Collectors/CMF/49)
+
+    - CMFCore.Skinnable: Changed the way layers (skindata) are stored
+      (no more _v_ attribute) to prevent them being lost in the middle
+      of a request when memory pressure is high. This change is
+      incompatible with SpeedPack, but includes one of its two
+      optimizations about skins. (http://www.zope.org/Collectors/CMF/198)
+
+    - DublinCore: Fixed creators upgrade to not call a potentially
+      costly method on the user folder.
+      (http://www.zope.org/Collectors/CMF/300)
+
+    - CMFCatalogAware: When reindexing security, all subobjects must be
+      reindexed even if they are not visible by the current user. Also
+      fixed to work correctly with Zope >= 2.7.6.
+
+CMF 1.5.1beta (2005/03/24)
+
+  New Features
+
+    - CMFCore.TypesTool and CMFCore.PortalFolder: If invokeFactory is 
+      called from code it will now hand back the created object's ID. This
+      does not change any behavior when called directly from the web. Both
+      methods returned None before, so there is no dependencies anywhere
+      on their return values, anyway. (http://www.zope.org/Collectors/CMF/331)
+
+    - CMFSetup: When importing skins configurations you can now specify a
+      layer to be inserted after a given layer. Previously you could only
+      insert before a given layer.
+
+    - CatalogTool: All default FieldIndex instances used for indexing
+      DateTime values are now created as DateIndex instances instead. All
+      default TextIndex instances are now created as ZCTextIndex instances.
+      (CMF collector issues http://www.zope.org/Collectors/CMF/191 and
+      http://www.zope.org/Collectors/CMF/302)
+
+    - CMFSetup: Improved 'skip purge' behavior of the skins import handler.
+      If purging is disabled, it's now possible to modify existing skin
+      configurations. You can use '*' as wildcard for skin-path ids and a
+      'insert-before' attribute to specify where to insert a new layer.
+
+    - CMFSetup tool: Improved 'Properties' tab.
+      The active site configuration can now be selected from a list of
+      registered profiles and stored snapshots.
+      (http://www.zope.org/Collectors/CMF/264)
+
+    - CMFSetup: Added handlers for site properties.
+
+    - CMFSetup utils: Added 'ConfiguratorBase' class.
+      It's now recommended to use this class as base for all configurators.
+      The class includes some generic methods to handle subobjects and
+      properties.
+
+    - FSObject: Now FSObject-derived items like FSImage or FSFile can have 
+      security declarations inside the metadata file.
+      (http://www.zope.org/Collectors/CMF/289)
+
+    - profiles: Moved 'default' profile to CMFDefault.
+      Using the new 'importVarious' handler this profile now allows to create
+      CMF sites identical to those created with manage_addCMFSite. 
+
+    - CMFDefault: Added 'importVarious' setup handler.
+      This provisional handler will be removed again as soon as full handlers
+      are implemented for these steps.
+
+    - CachePolicyManager: You can now set a ETag using a TALES expression
+      (http://www.zope.org/Collectors/CMF/236) 
+
+    - RegistrationTool: The regular expression that limits what people
+      can put in as a valid member ID is now configurable TTW in the
+      portal_registration tool (http://www.zope.org/Collectors/CMF/117)
+
+  Bug Fixes
+  
+    - CMFCore.MembershipTool: Change a couple conditional tests that tried to
+      determine if the MemberDataTool had been found to explicitly test for
+      None as the return value instead of a truth test on the tool itself, which
+      would fail unexpectedly on folderish MemberDataTool implementations 
+      that don't have actual content (http://www.zope.org/Collectors/CMF/330)
+
+    - CMFCore.CachingPolicyManager and CMFCore.ActionInformation: The names
+      available to TALES expressions throughout the CMF showed some
+      inconsistencies. To prevent confusion the names "content" and 
+      "content_url" that were used for Cache Policy Manager policies as well
+      as the special ActionInformation.oai class are now deprecated and will
+      be removed in CMF 1.7. The canonical names to be used are "object" and
+      "object_url", which matches all other CMF expression contexts with
+      DCWorkflow being the only exception due to its non-CMF roots.
+      (http://www.zope.org/Collectors/CMF/328)
+
+    - CMFCore.PortalFolder: Cataloging portal folders was prevented by
+      overriding the typical indexing calls, but one of them was forgotten,
+      so they still got cataloged.  (http://www.zope.org/Collectors/CMF/309)
+
+    - CMFCore.DirectoryView: A special __setattr__ on the
+      DirectoryViewSurrogate class made sure to write changes through to the
+      underlying DirectoryView, but there was no equivalent __delattr__
+      cleanup. (http://www.zope.org/Collectors/CMF/316)
+
+    - CMFDefault.RegistrationTool: Allow email addresses with an underscore
+      as the last element of the alias part.
+      (http://www.zope.org/Collectors/CMF/326)
+
+    - FSPageTemplate: Ensure that if a content type is specified using a
+      .metadata file we respect it (http://www.zope.org/Collectors/CMF/320)
+
+    - CMFCore.tests.test_PortalFolder:  fixed testing bug copied forward
+      from OFS.tests.testCopySupport.
+
+    - CMFDefault.RegistrationTool: Allow '+' in e-mail addresses.
+      (http://www.zope.org/Collectors/CMF/322)
+
+    - ActionInfo: Fixed issue with oldstyle Action info mappings.
+      The 'allowed' key was broken for non-empty 'permissions'.
+
+    - CMFDefault.DiscussionTool: 'getDiscussionFor' sometimes returned
+      unwrapped talkback objects.
+
+    - CMFSite: Made 'title' and 'description' properties undeletable.
+      This change has no effect on existing sites.
+
+    - FSObject: Ensure that a cache manager association on a Filesystem-based
+      object in the Skins Tool gets applied to the customized object in the
+      ZODB upon customization. (http://www.zope.org/Collectors/CMF/304)
+
+    - TypesTool: Changed the way available factory_type_informations are
+      presented on the dropdown list when adding a new type from a 
+      filesystem FTI to the Types Tool. The new representation includes
+      the "id" as set in the FTI instead of just the product name and the
+      meta_type. (http://www.zope.org/Collectors/CMF/49)
+
+    - CMFSetup: Fixed import of workflow bindings.
+      The 'workflow' import step has to be run after the 'typeinfo' step.
+      (http://www.zope.org/Collectors/CMF/265)
+
+    - CMFCore.CatalogTool: Take into account query restrictions on
+      'effective' or 'expires' attributes during a search.
+      (http://www.zope.org/Collectors/CMF/120)
+
+    - WorkflowTool: Fixed 'setChainForPortalTypes'.
+      If 'chain' was an empty string, it wasn't set correctly.
+
+    - FSFile, FSImage: Made available to caching policy manager as
+      standard content. (http://www.zope.org/Collectors/CMF/299)
+
+    - FSDTMLMethod: Small code cleanup to remove duplicate variable
+      definition (http://www.zope.org/Collectors/CMF/291)
+
+    - Portal: Fixed 'setupDefaultProperties'.
+      Backwards compatibility was broken and the 'default_charset' argument
+      was ignored.
+
+    - Document/NewsItem: If the "plain text" format is selected the
+      content will no longer be tested for HTML and reduced to text
+      between opening and closing "body" tags
+      (http://www.zope.org/Collectors/CMF/214)
+
+    - Document/NewsItem: A call to setFormat will now re-cook the
+      document content if the format has been changed (arising from
+      discussion about http://www.zope.org/Collectors/CMF/214)
+
+    - DirectoryViews/FSMetadata: Corrected some erroneous docstrings
+      about proxy role handling using .metadata files
+      (http://www.zope.org/Collectors/CMF/177)
+
+  Other
+
+    - CMFCore.FSPropertiesObject: Added a deprecation warning to announce the
+      fact that .properties files will disappear in CMF 1.7 and should be 
+      replaced with CMFCore.FSMetadata (.metadata) files.
+
+CMF 1.5.0 (2004/10/21)
+
+  New Features
+
+    - Portal: Added 'default_charset' property.
+      (http://www.zope.org/Collectors/CMF/261)
+
+    - CMFDefault utils: Added 'toUnicode' function.
+      (http://www.zope.org/Collectors/CMF/261)
+
+  Bug Fixes
+
+    - ZPT skin: Fixed 'RSS'.
+      Values are now converted to unicode, using 'default_charset'.
+      (http://www.zope.org/Collectors/CMF/261)
+
+    - DublinCore: Added 'setCreators' method.  Note that
+      'notifyModified' also modifies creators. If the current user
+      should not be added to creators, make sure notifyModified() is not
+      called after setCreators().  (http://www.zope.org/Collectors/CMF/61)
+
+    - ZPT skin: Fixed '*metadata_edit_form'.
+      Setting "Enable Discussion?" to 'Off' was broken.
+
+    - CMFSetup: Made sure imported values are converted to strings.
+      For now imports and exports work only with 'ascii' encoding.
+      (http://www.zope.org/Collectors/CMF/287)
+
+    - FSPageTemplate: Don't hide sub-tracebacks in development mode.
+
+    - TypesTool: Removed again the "add properties from the ZMI" feature.
+      That feature existed only in 1.5.0beta2.
+
+    - ActionProviderBase: Modified exceptions raised by 'getActionInfo'.
+      Now Unauthorized is raised if at least one Action was found but
+      the user is not allowed to access any of them.
+
+    - RegistrationTool: Generated passwords no longer contain 'OQ0Il1'.
+
+    - The permalink feature is now turned off by default and may be turned
+      on by setting the boolean property 'enable_permalink' in the cmfs
+      root property sheet through the ZMI. Through the 'get_permalink'
+      script the permanent link of an content object can be asked for.
+      Additionaly the site may be asked if the permalink feature is turned
+      on or not by adding 'isAvailable' instead of an unique id
+      (http://www.example.com/permalink/isAvailable). Returns '1' or '0'.
+      Also removed the badly designed 'tal:on-error' directive in
+      'main_template'.
+
+CMF 1.5.0beta2 (2004/09/27)
+
+  New Features
+
+    - CookieCrumbler: Merged changes from standalone version.
+      Cookies set on an HTTPS connection are now marked as secure, meaning
+      they will not be transmitted over HTTP.
+
+    - PortalFolder: New 'Folderish' Interface defines the 'content*'
+      methods.
+
+    - PortalFolder: Improved WebDAV folder listings.
+      Hidden sub-objects like tools are now filtered out. To see all
+      sub-objects, you need the 'Manage portal' permission.
+
+    - TypesTool: New properties can be added from the ZMI to
+      TypeInformation objects.
+
+  Bug Fixes
+
+    - CMFDefault/Document:  store / return size of "raw" source text for
+      'get_size'.
+
+    - ZPT skin: Refactored registered_notify_template.
+      For security reasons, it no longer adds the password to the login URL.
+
+    - PortalFolder: Fixed '_checkId' policy.
+      In a subfolder, members without 'Manage portal' permission were not
+      able to create content items whose names clashed with content items
+      in the portal root.
+
+    - CookieCrumbler: Improved 'came_from' URL.
+      Problems in connection with stack manipulation on traversal or usage
+      of 'traverse_subpath' should be fixed now.
+
+    - PortalFolder: Public 'content*' methods or no longer publishable.
+      This prevents expensive anonymous calls to contentItems(),
+      contentIds() and contentValues() via URLs. They still can be used
+      in TTW code.
+
+    - ZPT skin: Added missing mail_password_template.
+
+    - TypeInformation: Simplified Method Aliases API.
+      The new queryMethodID() replaces getMethodPath() and getMethodURL().
+      Aliases for method paths are no longer supported.
+
+    - FSFile: Allow setting a content_type value using a .metadata file
+      (http://www.zope.org/Collectors/CMF/281)
+
+    - FSPageTemplate: Refine the XML content type detection so that
+      addtional data such as encoding is preserved
+      (http://www.zope.org/Collectors/CMF/228)
+
+    - ActionInformation: If a path expression ending in an object that
+      gets called using __render_with_namespace__ (such as DTML objects
+      and Scripts (Python)) is used a KeyError for "here" would be thrown
+      inside PageTemplates.ZRPythonExpr.call_with_ns. call_with_ns
+      expects the namespace to contain "here", which the context coming
+      from CMFCore.Expressions.createExprContext did not provide. Added
+      "here" as an alias pointing to the provided "object"
+      (http://www.zope.org/Collectors/CMF/171)
+
+    - DiscussionItem: Made sure that the workflow is notified of their
+      creation.
+      (http://www.zope.org/Collectors/CMF/280)
+
+    - CMFCatalogAware: When pasting a content item, local roles were not
+      changed to reflect the new ownership.
+      (http://www.zope.org/Collectors/CMF/205)
+
+    - ZPT skin: Added missing RSS script and template.
+      (http://www.zope.org/Collectors/CMF/279)
+
+    - DirectoryView: Improved createDirectoryView() backwards compatibility.
+      Using platform specific path separators is deprecated.
+
+    - UniqueIdAnnotation: Fixed manage_after* methods.
+      They didn't work correctly in nested folders.
+
+    - Workflow: Marked WorkflowMethod alias WorkflowAction as deprecated.
+
+    - ZPT skin: Improved folder_copy_control and folder_cut_control.
+      They now catch CopyErrors.
+
+    - DirectoryView: Readded expandpath() for backwards compatibility.
+      Some products still import expandpath from DirectoryView because
+      it was once defined there. Note that importing expandpath from
+      DirectoryView is deprecated and doesn't work with CMF HEAD / 1.6.
+
+    - RegistrationTool: An optional password can now be passed to
+      registeredNotify() (Issue #277).
+
+    - Tool icons can now reside in subdirectories (Issue #144).
+
+CMF 1.5.0beta (2004/08/12)
+
+  New Features
+
+    - The CMF is now under the terms of version 2.1 of the Zope Public
+      License (ZPL); it was previously under ZPL version 2.0.
+
+    - TypeInfos: Marked getActionById as deprecated.
+      Use getActionInfo if you need an URL or getMethodPath if you need a
+      method.
+
+    - CatalogTool.CatalogTool now has a private 'unrestrictedSearchResults'
+      method bypassing the effective and expiry date and roles. The new
+      method has to be used with care to not expose security holes in
+      applications using the CatalogTool.
+
+    - CMFCalendar.CalendarTool: Made workflow states configurable TTW.
+      (http://www.zope.org/Collectors/CMF/110)
+
+    - Minor featurelet: The "Action Providers" ZMI tab on the portal_actions
+      tool now links directly to the tools shown
+      (http://www.zope.org/Collectors/CMF/181)
+
+    - CMFCore.utils: Introduced contributorsplitter() utility function
+      along the lines of keywordsplitter().
+
+    - Actions and Action providers: Further refactoring.
+
+      o Removed again OldstyleActionProvider Interface and
+        OldstyleActionProviderBase that existed only in 1.5.0-alpha.
+        ActionProvider now also works with oldstyle Action mappings.
+
+      o listActionInfos() and getActionInfo() now return ActionInfo objects
+        instead of Action info mappings. ActionInfo objects have a backwards
+        compatible mapping interface.
+
+    - Added CMFUid product which provides tools for generating,
+      registering, and storing unique IDs for content (gregweb).
+
+      o As an example of how to use unique ids, enhanced CMFDefault.Favorite
+        content class, using unique ids to track moved or renamed
+        content items.
+
+      o At the bottom of the page the permanent link to the content object
+        is shown (http://www.example.com/<cmf_root>/permalink/1234, where
+        1234 is the unique id of the content object)
+
+    - Added __init__ method to the IOpaqueItems.ICallableOpaqueItem
+      interface.
+
+    - CookieCrumber now supports logging the authenticated user id to
+      the access log just like basic auth.
+
+    - 'portal_setup' tool can now disply / download diffs between profiles
+      and / or snapshots.
+
+    - The 'find' tab on the 'portal_skins' tool will now mark the object that
+      would be returned when using the specified skin
+
+  Bug Fixes
+
+    - CMFCore.PortalFolder: Enforce check of "Delete objects" permission
+      during cut + paste.
+      (http://www.zope.org/Collectors/CMF/259)
+
+      N.B.  This fix depends on an update to the underlying Zope software,
+            e.g., Zope 2.7.3 or later.  Two new unit tests fail on
+            Zope 2.7.2 and earlier.
+
+    - CMFDefault.MetadataTool: Validation would disallow
+      vocabulary-constrained metadata elements to be empty
+      (http://www.zope.org/Collectors/CMF/217)
+
+    - CMFDefault.DiscussionItem: Replies were not sorted chronologically
+      (http://www.zope.org/Collectors/CMF/211)
+
+    - CMFDefault.Image and CMFDefault.File: When copy/pasting Image and File
+      objects the review state did not revert to "private".
+      (http://www.zope.org/Collectors/CMF/176)
+
+    - CMFSetup: Refactored rolemap.
+      Converted the roles attribute to role sub-elements. Fixed an
+      acquisition bug that caused incomplete exports. Updated default
+      profile.
+
+    - CMFWiki: Prevent deprecation notice for the deprecated
+      CMFWikiPermissions module by replacing its usage in CMFWiki.__init__
+      with the new permissions module.
+
+    - CMFTopic: Change topic_view template to show title and ID (it only
+      showed title before)
+      (http://www.zope.org/Collectors/CMF/180)
+
+    - CMFCore.PortalFolder: Unlike other content, only Managers were able
+      to create PortalFolders using mkdir in FTP. Fixed by inserting
+      missing security declaration for PortalFolder.manage_addFolder
+      (http://www.zope.org/Collectors/CMF/167)
+
+    - Default text format for NewsItems is now structured-text, just like
+      it is for Documents, tuhs removing a spurious difference.
+      (http://www.zope.org/Collectors/CMF/138)
+
+    - CMFCalendar.CalendarTool: (Lost) fix for issues 65 and 159.
+      The determination of the date/time range constituting a specific month
+      was faulty.
+
+    - CMFDefault.DublinCore: Use the portal_metadata tool's 'getPublisher'
+      for the DublinCore 'Publisher' element (thanks to Eric Brown for the
+      patch).
+
+    - CMFCalendar.CalendarTool: Code assumed US datetime format throughout.
+      At least since Zope 2.7 users can change that.
+
+    - CMFCalendar.Event: Day, month, and year were processed in the wrong
+      order by Event.edit().
+      (http://www.zope.org/Collectors/CMF/202)
+
+    - CMFCore.PortalFolder: _verifyObjectPaste() did not check the
+      container's allowed content types, enabling users to paste objects
+      they were not allowed to add.
+      (http://www.zope.org/Collectors/CMF/216)
+
+    - CMFDefault.File and CMFDefault.Image: setFormat() failed to update
+      the content_type property causing index_html() to use a stale mimetype
+      when serving the file or image.
+      (http://www.zope.org/Collectors/CMF/226)
+
+    - CMFDefault.Document, CMFDefault.Link, and CMFCalendar.Event:
+      WebDAV PUT() caused improper splitting of 'Contributors' metadata
+      header.
+
+    - CMFCore.PortalFolder: Fixed missing import of BadRequest exception.
+
+    - DCWorkflow DefaultWorkflowClassic: Fixed 'pending' state permissions.
+
+    - CMFSetup: Refactored actions, type-infos and workflow definition.
+      Changed some XML attributes. Converted list items and descriptions to
+      sub-elements.
+
+    - ActionInformation: Some attribute cleanup.
+      Enforced usage of 'Title' instead of 'Name', 'URL' or
+      'URL (Expression)' instead of 'Action'. Enforced boolean type of
+      'Visible'.
+
+    - DiscussionTool: Fixed two acquisition bugs.
+      (Collector #119 and #201)
+
+    - Change default CookieCrumbler Cache-Control header value from
+      "no-cache" to "private" to allow browser caches to cache cookie
+      authenticated pages but not proxies and HTTP accellerators.
+
+    - ActionInformation: Correctly store an empty tuple for permissions
+      if no permission is given (Collector #242).
+
+    - DublinCore: Use a default ceiling date that is parsable by
+      DateIndex (Collector #132).
+
+    - RSS: Creates correct XML by always quoting arguments (Collector #170).
+
+CMF 1.5.0alpha (2004/07/09)
+
+  New Features
+
+    - CMFActionIcons product is now shipped as part of the CMF release.
+
+    - New portal_setup tool provides export / import of various site
+      configuration choices, both as tarballs and as TTW "snapshots".
+      See the "README":CMFSetup/README.txt.
+
+    - zpt skin: Some forms are now scripts.
+      These scripts are dispatchers that call validators and controllers and
+      set redirect depending on the selected button. If redirect is not set,
+      the script calls a template and returns the resulting HTML page.
+
+    - ActionProviderBase, ActionInformation: Added methods to modify/edit
+      actions. New method 'getActionObject' in 'ActionProviderBase' and
+      'edit' method in 'ActionInformation' (Collector 195).
+      An action now may be modified/edited the following way::
+
+        action_provider.getActionObject('object/view').edit(title='VIEW')
+
+    - Topic objects now support syndication (Collector #203).
+
+    - PortalFolder and zpt skin: PortalFolder now inherits from
+      OrderedFolder.
+
+      o Added buttons to 'folder_contents' that allow to set a default
+        sorting for each PortalFolder or to order the sub-objects by hand.
+
+      o Modified 'index_html' to show sub-objects in the selected order. The
+        old 'index_html' is still available as 'index_html_categorized'.
+
+    - CMFDefault utils: Added 'html_marshal' function.
+      This is similar to ZTUtils.make_hidden_input(), but returns a sequence
+      of (name, value) pairs instead of html code.
+
+    - CMFCore utils and content types: Marked _getViewFor as deprecated.
+      __call__() and view() methods using _getViewFor() are deprecated as
+      well. Use Method Aliases instead.
+
+    - CMFDefault Site: Now adds the 'Classic' DCWorkflow on creation.
+      If DCWorkflow is not installed, no default workflow is added.
+
+    - DynamicType: Added 'getActionInfo' method.
+      This is a shortcut to getActionInfo() of the related TypeInformation.
+
+    - DublinCore: setModificationDate is now guarded by
+      'ModifyPortalContent'.
+
+    - zpt skin: Reimplemented 'folder_contents' and related controllers.
+      Uses a dispatcher script that calls the right validators and
+      controllers if a form button is pushed. The result looks almost
+      the same as before.
+
+    - PortalFolder and SkinnedFolder: Added 'new' and 'rename_items' Actions.
+      Used for redirects they are invisible by default.
+
+    - CMFCore exceptions: Added some Exceptions.
+      AccessControl.Unauthorized is a subclass of zExceptions.Unauthorized,
+      so for best results use 'AccessControl_Unauthorized' to raise
+      Unauthorized and 'zExceptions_Unauthorized' to catch them all.
+      'CopyError' and 'ResourceLockedError' are now also available for
+      TTW code.  'EditingConflict' is a new CMF class replacing the old
+      string exception.
+
+    - Callable Opaque Items, CMFCatalogAware: Added an interface
+      'ICallableOpaqueItemWithHooks'. CMF now calls the manage_after*
+      and manage_before* hooks of a marked opaque item on copying,
+      moving or deleting the containing content object.
+
+    - DublinCore: Creator element no longer depends on Ownership.
+      (Collector #25)
+
+      o Added listCreators() and listContributors() to the DublinCore
+        Interface. Creator() now returns the first element of listCreators().
+        Contributors() is now a deprecated alias of listContributors() and
+        might change in a future version.
+
+      o Updated DublinCore implementation in DefaultDublinCoreImpl and
+        DiscussionItem. Added new addCreator() method that is called by
+        notifyModified(). SkinnedFolder also uses the new methods.
+
+      o Updated ContentFilter to work with listCreators().
+
+      o Updated CatalogTool to index listCreators. Creator index and metadata
+        are deprecated and might be removed in a future version.
+
+      o Updated skins to search listCreators() and show all creators.
+
+    - TypeInfos: _finishConstruction() now calls reindexObject().
+      This makes sure changes made by ScriptableTypeInformation scripts are
+      indexed and notifyModified() is called after content creation.
+
+    - Document: Removed WorkflowMethod wrapper of setFormat().
+      This was the only wrapped MutableDublinCore method and caused an ugly
+      second reindexObject() / notifyModified() call in the middle of
+      _editMetadata().
+
+    - CatalogTool: Updated to post Zope 2.6.2 ZCatalog interface.
+      'catalog_object()' and 'reindexObject()' now support the new
+      'update_metadata' argument. 'reindexObjectSecurity()' doesn't update
+      catalog metadata anymore.
+
+    - Added new hook to CookieCrumbler "twiddleAuthCookie". The
+      twiddleAuthCookie skin script, if present is called on each request
+      where a cookie authentication token is present. It is passed the auth
+      cookie name and value so that it can perform such functions as
+      extending the expiration of the cookie. A twiddleAuthCookie script
+      along with a setAuthCookie script could create login sessions that
+      timeout after a period of inactivity for example.
+
+    - Refactored ActionsTool and Action providers:
+
+      o Added listActionInfos() and getActionInfo() to the ActionProvider
+        Interface, added 'object' argument to listActions().
+
+      o Added OldstyleActionProvider Interface and OldstyleActionProviderBase
+        for Action providers still not using ActionInformation objects.
+        WorkflowTool and CMFCore DiscussionTool use this.
+
+      o Action providers queried by ActionsTool should implement the new
+        ActionProvider Interface. Action providers subclassing
+        ActionProviderBase inherit the necessary methods.
+
+      o To ease transition it will be sufficient to implement the
+        OldstyleActionProvider Interface, using OldstyleActionProviderBase.
+        The use of Action providers not implementing one of these Interfaces
+        is deprecated. Support for them will be removed after CMF 1.5.
+
+      o Added helper methods getOAI() and getExprContext() to get computed
+        contexts from REQUEST cache or create new ones.
+
+    - CMFDefault MembershipTool and zpt skin: Added 'Manage members' Action.
+      The skin now provides basic membership management: Browsing members,
+      registering new members and deleting members including their member
+      data, member area and Local Roles.
+
+    - The caching policy manager now sets the header
+      'X-Cache-Headers-Set-By' when it sets cache headers
+      in a response.
+
+    - FSDTMLMethods now play nicely with the caching policy manager.
+
+    - zpt skin: Added batch_widgets.pt and getBatchNavigation.py.
+      roster and search use now the new navigation macro. Looks like before,
+      but i18n works better and it's easier to reuse or replace the code.
+
+    - zpt skin: Added zpt version of registered_notify_template.
+
+    - CMFCorePermissions: Made them available for import by Scripts.
+
+    - CMFCore MembershipTool and MemberDataTool: Added 'delete' methods.
+
+      o deleteMemberData() deletes the member data of a member.
+
+      o deleteMemberArea() deletes the member area of a member.
+
+      o deleteLocalRoles() now has a 'recursive' argument.
+
+      o deleteMembers() deletes members including member data, member area
+        and Local Roles.
+
+    - CMFCore MembershipTool: Changed interface.
+
+      o createMemberarea() is now called createMemberArea(). For backwards
+        compatibility createMemberarea is a deprecated alias.
+
+      o getMembersFolder() is now also part of the CMFCore interface.
+
+    - CMFCorePermissions: Added 'Change local roles' Permission.
+      PortalFolder's 'Local Roles' Action and MembershipTool's Local Roles
+      methods are now guarded by 'Change local roles' of the object.
+
+    - Added CMFCore 'exceptions.py': Errors defined in this module are
+      available for import by Scripts.
+
+    - CMFCore and CMFDefault MembershipTool: Changed permissions.
+      'createMemberarea()' for someone else and 'getRoster()' including
+      hidden members are now protected by 'Manage users'. 'getMemberById()',
+      listMemberIds() and listMembers() as well.
+
+    - Document and NewsItem: Un-hardwired 'manage_FTPget()' for 'text/html'.
+      Added 'source_html.dtml' and 'source_html.pt'. 'manage_FTPget()' now
+      has a 'gethtml' hook and uses 'source_html' by default.
+      (Collector #168)
+
+    - TypeInformation: Added Method Aliases.
+
+      o TypesTool and TypeInformation now have an 'Aliases' tab to configure
+        Method Aliases TTW.
+
+      o factory_type_information now has a key 'aliases' to configure Method
+        Aliases in a product. This key is required, but may be empty: If it
+        doesn't exist, TypeInformation will try to update by guessing
+        aliases.
+
+      o DynamicType manipulates 'TraversalRequestNameStack' depending on
+        Method Aliases. '(Default)' and 'view' aliases bypass __call__() and
+        view() methods on traversal.
+
+      o PortalFolder's 'mkdir' hook now makes use of Method Aliases.
+
+    - CMFCore and CMFDefault MembershipTool: Changed member area creation.
+      'wrapUser()' does no longer call 'createMemberarea()'.
+      'createMemberarea()' should now be called from the 'logged_in' page.
+
+    - CMFDefault MembershipTool: Added a customization hook to
+      'createMemberarea()'. A 'createMemberContent' script placed inside the
+      tool overrides default member content creation.
+
+  Bug Fixes
+
+    - zpt skin: Removed dependency on dtml layers.
+
+    - CMFCore utils: Marked 'format_stx' function as deprecated.
+      It's no longer necessary to work around default STX handling.
+
+    - DirectoryView: Refactored path handling.
+      Should now work with any products path setup. (Collector #210)
+
+    - Enforced new "local permissions" pattern:  each top-level CMF product
+      should have a 'permissions.py' module which imports / declares all
+      permissions used within the product;  other modules within the product
+      should import from there.  Likewise for 'exceptions.py'.
+
+    - Removed pre Zope 2.7.0 compatibility code. Now Zope 2.7.0 or a later
+      platform is required for CMF.
+
+    - CatalogTool: Marked the 'meta_type' index as deprecated.
+
+    - PortalFolder: Marked the 'spec' argument as deprecated.
+      Use the 'filter' argument with 'portal_type' instead for
+      contentItems(), contentIds(), contentValues() and listFolderContents().
+
+    - PortalFolder: Fixed portal_type acquisition bug in ContentFilter.
+
+    - DynamicType: Added 'getPortalTypeName()' to the interface.
+
+    - Collector #227:  expose ZPT filename in tracebacks which include
+      FSPageTemplates.
+
+    - zpt skin: Switched base tag policy back to that of dtml skin.
+      This makes the use of relative URLs in content easier. If you have
+      content that depends on the old policy you can customize getBaseTag.pt
+      and add a slash. (Collector #66)
+
+    - Actions of folderish types: Fixed some inconsistencies.
+      Whatever the old CMFDefault policy was - this is the current policy:
+      "object" is used for Actions related to the object itself, "folder" is
+      used for Actions related to the container of the object.
+
+      o Changed the category of PortalFolder and SkinnedFolder Actions to
+        'object'.
+
+      o Moved 'folderContents' of folderish types from ActionsTool to
+        PortalFolder's type info. Other folderish types now have to declare
+        their own 'folderContents' Action if they need one.
+
+      o Renamed Topic's 'subtopics' and SkinnedFolder's 'foldercontents'
+        Action to 'folderContents' to get them in sync.
+
+    - StrippingParser: Added 'big', 'small', 'sub' and 'sup' to valid tags.
+
+    - _checkPermission: Added check for executable owner and proxy roles.
+
+    - SkinsContainer: Fixed context wrappers returned by getSkinByPath().
+      The original context of skin folders is now removed. This avoids having
+      SkinTool attributes added to the CMFSite root object.
+
+    - CatalogTool: Removed deprecated 'id' from default indexes and metadata.
+
+    - Skins: Fixed a DateTime related issue in search_form and doFormSearch.
+      Added one second to epoch to work around the problem that the timezone
+      gets lost if time is 00:00:00.
+
+    - CMFCore.PortalFolder: Explicitly declare base interfaces.
+
+    - Tests: CachingPolicyManager tests don't fail on Windows anymore.
+      (Collector #107)
+
+    - SkinsTool: Fixed cookie paths.
+      clearSkinCookie() now uses the same cookie path as updateSkinCookie()
+      which is now "inside-out" hosting safe.
+
+    - DefaultDublinCoreImpl: Changed accessor permissions.
+      As defined in the interface accessors are now protected by 'View'.
+
+    - CMFDefault utils: Made 'tuplize()' work correctly with string types.
+
+    - CMFCore utils: Reverted obsolete workaround in _checkPermission.
+
+    - Skin scripts: Made except statements safer by being more specific. Hope
+      this still catches all relevant errors.
+
+    - Removed some pre 'Zope 2.4.3 with PageTemplates' backwards
+      compatibility cruft. A later platform is required since CMF 1.3.
+
+    - Collector #153: CookieCrumbler didn't preserve query strings.
+
+
 CMF 1.4.7 (2004/08/11)
 
   New Features

Modified: CMF/branches/1.6/INSTALL.txt
===================================================================
--- CMF/branches/1.6/INSTALL.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/INSTALL.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -1,26 +1,23 @@
-Installing CMF 1.5.x
+Installing CMF 1.6.x
 
   Requirements
 
-    - Zope v. 2.7.0 and later (note that versions 2.7.2 and earlier lack
-      two fixes which cause unit tests to fail;  please see the
-      "collector issue", http://zope.org/Collectors/CMF/259 for more
-      information.
+    - Zope 2.8.1 or later
 
   Assumptions
 
     - New installation
 
     - Zope configured using INSTANCE_HOME, /var/zope, and
-      SOFTWARE_HOME, /usr/local/zope/Zope-2.7.x
+      SOFTWARE_HOME, /usr/local/zope/Zope-2.8.x
 
   Procedure
 
-    1. Unpack the CMF-1.5.x.tar.gz tarball into a working
+    1. Unpack the CMF-1.6.x.tar.gz tarball into a working
        directory. For instance::
 
         $ cd /usr/local/zope
-        $ tar xzf /tmp/CMF-1.5.x.tar.gz
+        $ tar xzf /tmp/CMF-1.6.x.tar.gz
 
        Note for Windows users:  if you are using WinZip to unpack
           the file, be *sure* to disable the "TAR file smart CR/LF
@@ -33,19 +30,21 @@
        For instance::
 
         $ cd /var/zope/Products  # /var/zope is INSTANCE_HOME
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMFCore .
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMFDefault .
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMFTopic .
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMFActionIcons .
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMFCalendar .
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMFSetup .
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMFUid .
-        $ ln -s /usr/local/zope/CMF-1.5.x/DCWorkflow .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMFCore .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMFDefault .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMFTopic .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMFActionIcons .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMFCalendar .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMFSetup .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMFUid .
+        $ ln -s /usr/local/zope/CMF-1.6.x/DCWorkflow .
+        $ ln -s /usr/local/zope/CMF-1.6.x/GenericSetup .
 
        or, as a shortcut::
 
-        $ ln -s /usr/local/zope/CMF-1.5.x/CMF* .
-        $ ln -s /usr/local/zope/CMF-1.5.x/DCWorkflow .
+        $ ln -s /usr/local/zope/CMF-1.6.x/CMF* .
+        $ ln -s /usr/local/zope/CMF-1.6.x/DCWorkflow .
+        $ ln -s /usr/local/zope/CMF-1.6.x/GenericSetup .
 
        Since linking doesn't apply on Windows, you will need
        to cut or copy the files from the place where you unpacked
@@ -58,48 +57,11 @@
        content. Enjoy!
 
 
-Installing Internationalization (I18N) Support for CMF
-
-  Requirements
-
-    - "Localizer":http://www.localizer.org
-
-    - "TranslationService":http://www.zope.org/Members/efge/TranslationService
-
-    - If you don't have the right language files (.po), you have to translate
-      the messages yourself!
-
-  Assumptions
-
-    - CMF is installed as described above.
-
-  Procedure
-
-    1. From the ZMI of your CMFSite, select "Localizer" from the Add list. Use
-       the default values.
-
-    2. From the "Contents" tab of Localizer, select "MessageCatalog" from the
-       Add list. Use 'CMFMessages' as id.
-
-    3. Use the "Languages" tab of CMFMessages to select the languages you want
-       to support.
-
-    4. From the ZMI of your CMFSite, select "Translation Service" from the Add
-       list. Use the default id.
-
-    5. Use the "Configuration" tab of translation_service to set the
-       MessageCatalog for the default domain to 'Localizer/CMFMessages'.
-
-    6. Go again to the MessageCatalog 'CMFMessages'. If you have the right .po
-       files, import them using the "Import/Export" tab.
-       If you have no .po files, collect the message ids by using your site.
-       Use the 'Messages' tab to translate the collected messages.
-
 Upgrading from Earlier Versions
 
   Install the New Software.
 
-    0. "Download":CMF-1.5.x.tar.gz the tarball.
+    0. "Download":CMF-1.6.x.tar.gz the tarball.
 
     1. Copy your "working" products off to one side (in case
        you need / choose to revert).
@@ -112,6 +74,7 @@
 
   Follow additionnal version-specific information below.
 
+
 Upgrading from versions earlier than CMF 1.3
 
   Add New Metadata: "portal_type"
@@ -136,6 +99,7 @@
       "(Default)" value from the input fields for the "Folder" and
       "Topic" types and click "Change".
 
+
 Upgrading from CMF 1.0
 
   Create and Configure New tools
@@ -161,3 +125,4 @@
          policies for outbound syndication.  Once enabled, you
          will be able to toggle syndication and policies for
          individual folders as well.
+

Modified: CMF/branches/1.6/INSTALL_SVN.txt
===================================================================
--- CMF/branches/1.6/INSTALL_SVN.txt	2005-11-15 17:21:40 UTC (rev 40134)
+++ CMF/branches/1.6/INSTALL_SVN.txt	2005-11-15 17:25:46 UTC (rev 40135)
@@ -11,9 +11,8 @@
     - See the note below [1] if you want to export or check out
       the sources for a specific version from Subversion.
 
- *Please note that current versions of the CMF (1.5 and later) require Zope 
- 2.7.0 or later.  Also, please note that earlier versions of the CMF (< 1.5) 
- may not be completely compatible with more recent versions of Zope (>= 2.8).*
+ *Please note that current versions of the CMF (1.6 and later) require Zope 
+ 2.8.1 or later.
 
   * For help with Subversion in general, see "Version Control with 
     Subversion" at http://svnbook.red-bean.com/
@@ -74,8 +73,8 @@
   4. Create a CMF Site:
 
      From the management interface, somewhere in the "main" section of your 
-     site (*not* the Control_Panel!), select "Configured CMF Site" from the 
-     add list.  Fill out the constructor form, and click the "Add" button.
+     site (*not* the Control_Panel!), select "CMF Site" from the add list.  
+     Fill out the constructor form, and click the "Add" button.
 
 Refreshing your Checkout
 



More information about the CMF-checkins mailing list