[CMF-checkins] CVS: CMF - CHANGES.txt:1.36.2.7 HISTORY.txt:1.31.4.1

Tres Seaver tseaver@zope.com
Fri, 4 Jan 2002 15:27:34 -0500


Update of /cvs-repository/CMF
In directory cvs.zope.org:/tmp/cvs-serv20091

Modified Files:
      Tag: CMF-1_2-branch
	CHANGES.txt HISTORY.txt 
Log Message:
 - Packaging changelog / history.

=== CMF/CHANGES.txt 1.36.2.6 => 1.36.2.7 ===
-
-  - (__future__) Exposed role management for manager users on
-    the default roster:  managers can now "promote" members
-    without going to the ZMI.
-
-  - (__future__) Added "custom schema" mechanism for content
-    objetcts:  site managers can now define additional
-    propertysheets for a content type, which will then be
-    reflected in instances created from the type.
-
-  - (__future__) Added simple link extraction / checking for
-    textual content.  Link checking also works for Link objects.
+1.2
 
-  - (__future__) Added "composite content" types (see the
-    "dogbowl proposal",
-    (http://cmf.zope.org/rqmts/proposals/compounds/compoundproposal.txt).
+ Features Added
 
-  - (__future__) Added DCWorkflow (through-the-web configurable
-    workflows) to the core set of CMF products.
+  - Extended TypesTool to permit registration of new TypeInformation
+    implementations (Tracker #409, thanks to Jeffrey Shell for the
+    work!)
 
-1.2
+  - Enabled querying actions from workflow tool in absence
+    of actions tool (Tracker #401).
 
  Bugs Fixed
 
@@ -42,294 +30,3 @@
 
   - Made 'CMFCore/interfaces/__init__.py' non-empty, to remove suspicion
     that the file was corrupted in the download (Tracker #426).
-
-1.2 beta (2001/12/11)
-
- New features
-
-  - Added docs from the crack ZC docs guys; these docs live in
-    the top-level 'docs' directory.
-
-  - Merged CMFDecor product's artifacts into CMFCore /
-    CMFDefault;  theses aretifacts allow use of filesystem-based
-    Zope Page Templates as skins.
-
-    Note that the CMFDecor skin is the one which will be
-    receiving all our development focus:  we will fix bugs in the
-    DTML skins, but are not likely to invest significant effort
-    in upgrading it.
-
-  - Hooked 'manage_addFolder' to allow creation of PortalFolders
-    from both WebDAV, FTP, and ZMI.
-
-  - Improved tracebacks from broken FSDTMLMethods, which no longer
-    indicate that every problem is in RestrictedDTML.
-
-  - Made it possible to add CookieCrumblers in nested folders.
-    You can just drop in a cookie crumbler anywhere to change the
-    login form for that area of the site.  In fact, now you don't
-    have to create a user folder just to change the login
-    process.
-
-  - Made Link objects editable via FTP / WebDAV.
-
-  - Merged Chris Withers' FSSQLMethod into CMFCore.
-
-  - Added documentation for installing from CVS.
-
-  - Moved permission checking inside personalize_form to make
-    sure Anonymous cannot access it without logging in (CMF Tracker
-    Issue 349, thanks go to Bill Anderson).
-
-  - Added initial CMF use cases as FSSTXMethods in CMFDefault/help.
-
-  - Made validation methods of 'portal_metadata' available to
-    scripts.
-
-  - Made skinned 'index_html' reflect generic view on folder
-    content, rather than simple title/description of the portal.
-
-  - Added "Change and View" submit button to content editing
-    forms;  added check for this button to POST handlers in CMFDefault,
-    and indirected redirect targets in those methods through
-    'getActionByID'.
-
-  - Added knob for skin cookie persistence to SkinsTool's
-    "properties" tab.  The default policy (unchanged) is that
-    skin cookies expire at the end of the browser session.  if
-    Skin Cookie Persistence is checked the cookie will last a
-    full yesr.
-
-  - Added an API to the 'portal_actions' interface for querying,
-    adding, and removing action providers.
-
-  - Added a "multi-review" form, enabling a reviewer to publish
-    or reject multiple items at once, using a common comment.
-
-  - Added ZMI tab to DirectoryView to allow re-basing the
-    filesystem path.
-
-  - Added "breadcrumbs" to CMFDecor skins.
-
-  - Added initial support for WebDAV locaking to PortalContent.
-
-  - Added SortCriterion to list of criterion types for Topics,
-    to permit sorting of results.
-
-  - Added "Local Roles" action to folders to ease collaboration.
-
-  - Add scarecrow assertions for the CMF-centric interfaces, and
-    made the actual interfaces compatible with the standard
-    Zope Interface package.
-
-  - Made FSSTXMethod display skinnable, and added ZPT version.
-
-  - Added 'visible' attribute to TypeInformation actions, to
-    permit indirection (via 'getActionById') without exposing the
-    action in the CMF UI.
-
-  - Extended MetadataTool to allow adding / removing element specs
-    (i.e., it can now manage policies for "custom" schemas, as
-    well as Dublin Core).
-
- Bug fixes
-
-  - Refactored content and metadata editing methods of
-    DefaultDublinCoreImpl, Document, and NewsItem to disentangle
-    the excessive coupling.  Each "path" for editing now has a
-    "presentation"-level method, which directs traffic and
-    reindexes the object;  the underlying methods are much
-    simplified.
-
-  - Fixed inner / named links in Document / News Item (thanks to 
-    Kenichi Sato for the patch!)
-
-  - Ensured that editing methods handle WebDAV locks correctly,
-    using a new 'failIfLocked' assertion.
-
-  - Added cookString method to CMFCore.utils for taking a string
-    and making it id friendly, it also does a string.lower on the
-    resultant regex.  Changed TypesTool to utilize cookString to
-    ensure that action ids are properly formated if the name is
-    being used as the id.
-
-  - Added 'getReply' to CMFDefault.DiscussionItem.DiscussionItemContainer,
-    to permit access to an individual reply without needing to
-    do traversal.
-
-  - Corrected pass-through of 'file' and 'seatbelt' arguments in
-    new 'CMFDefault.Document.edit' method;  also sync'ed ZMI edit
-    method for documents with standard protocol (Tracker #417).
-
-  - Added cookString method to CMFCore.utils for taking a string and
-    making it id friendly, it also does a string.lower on the resultant
-    regex.
-    
-  - Made examples in INSTALL.txt less terse, and added notes on
-    Windows-specific issues (thanks to Johan Mukhsein for the
-    suggestions).
-
-  - Made error message generated by FSPropertiesObject capture the
-    offending line and line #;  also, added logic to allow blank
-    lines and comment lines beginning with '#' (tracker #338).
-
-  - Added fixup to Link objects for user-entered URLs which don't
-    supply scheme:  for example, fix up 'www.zope.com' to
-    'http://www.zope.com'.  (tracker #361)
-
-  - Updated CMFCore.CatalogTool to allow new, optional 'idxs'
-    argument to 'catalog_object' (tracker #405).
-
-  - Added a workaround for the problem where the CookieCrumber
-    set cookies even though the user entered an incorrect password.
-    RESPONSE.unauthorized() now cancels the cookie response
-    header.  The new login_form and logged_in form both try to
-    invoke unauthorized(), so make sure you install the new
-    forms.
-
-  - Implement the notional 'search results item' interface for
-    SkinnedFolder.
-
-  - Corrected solecism in Topic (use of 'criteria' for singular);
-    removed the need to know about the funky generated IDs for
-    criterion objects.  Fixed derived bug in skins (tracker #408).
-
-  - Modified error-logging code to avoid potential leaks of
-    traceback frame.
-
-  - Made Document's 'manage_FTPget' use 'EditableBody', rather than
-    accessing 'text' attribute directly (improves reusability).
-    Likewise 'Document.SearchableText'.
-
-  - Merged Seb Bacon's refactoring of 'getDefaultView' into
-    'CMFCore.utils._getView'; clients can now specify a view by name,
-    as well.
-
-  - Made the default content type for Image 'image/png', instead
-    of the unintuitive 'text/html' inherited from DefaultDublinCoreImpl
-    (tracker #384).
-
-  - Corrected typo in ActionsTool which broke actions for the root
-    portal object (tracker #379).
-
-  - Updated the MemberDataTool to use an OOBTree, instead of the
-    old-style BTree, to store member data wrappers (CMF Tracker 375).
-
-  - Corrected 'personalize_form' to use 'getProperty' where feasible,
-    rather than relying on direct attribute access (tracker #372).
-
-  - Removed an incompatibility with LoginManager in
-    CMFCore.MembershipTool (tracker #365).
-
-  - Removed an infinite loop condition that arises when
-    MembershipTool.createMemberArea gets called inside wrapUser
-    (this could only happen if "Create Member Area" was checked
-    in the Membership tool.)
-
-  - Added new 'TitleOrId' skin method, and updated skins to
-    depend on it rather than SimpleItem.title_or_id.
-
-  - Made unit tests runnable without reliance on 'zctl test'.
-
-  - Corrected initial column set in catalog to include
-    "ModificationDate" instead of "ModifiedDate".
-
-  - Ensured that object is recatalogued (e.g., after setting
-    'portal_type';  thanks to Florent Guillaume).
-
-  - Removed silly dependency of 'CatalogTool.searchResults' on
-    REQUEST (catalog already does the Right Thing (tm) when no
-    REQUEST is available).  Note that this requires updates to
-    the 'search' skins, as they didn't pass it in.
-
-  - Changed redirect target after rejecting an item to the search
-    page for pending content items;  this resolves the problem
-    that the non-Manager reviewr who rejects an item no longer
-    has View permission on it, and therefore gets an Unauthorized
-    when redirecting to the object's view action.
-
-  - Moved generation of the "Add to Favorites" and "My Favorites"
-    links from the CMFCore/ActionsTool into the
-    CMFDefault/MembershipTool, which is a more logical location
-    for it because it relies on information from the membership tool.
-
-  - Made Topic directly publishable (like PortalContent), using its
-    'view' action (or the first action found, if view is not present).
-
-  - Set title for newly-created member folders;  fixes
-    breadcrumbs that expect a title on the object.
-
-  - Allow URLs with query strings in StructuredText links.
-
-  - Update 'news_box' to search based on 'Type', rather than
-    'meta_type'.
-
-  - Fix 'SkinnedFolder.Creator()' to call 'getOwner()' with
-    info argument.
-
-  - Made CookieCrumbler check for 'WEBDAV_SOURCE_PORT'
-    environment variable (supplied by Zope 2.4.1+), and bail on
-    intercepting authentication if found.
-
-  - Included 'Owner' in list of significant roles returned by
-    'MembershipTool.getPortalRoles' (e.g., so that the
-   "Local Roles" interface can allow assignment of it).
-
-  - Allow users with local role of "Reviewer" to see the "pending
-    review" action.
-
-  - Made TypesTool, rather than individual type objects,
-    responsible for generating "immediate view" URL;  type
-    objects now return the newly-created object, which makes
-    scripting them much simpler.
-
-  - Remove fossilized reference to 'getSecurityManager' from
-    'PortalContent._verifyActionPermissions'.
-
-  - Modified the redirect after "Add to Favorites" to us the
-    view action, rather than 'view'.
-
-  - Fixed 'Document.guessFormat()' to use
-    'utils.html_headcheck()' instead of 'bodyfinder' regex to
-    detect structured text versus html;  avoids recursion limit
-    for large HTML files.
-
-  - Removed spurious 'afterCreate' protocol for content objects.
-
-  - Added mapping of 'css' file extension to FSDTMLMethods.
-
-  - Modifed PortalFolder.listFolderContents to handle
-    permission-based filtering; duplicates what skip_unauthorized
-    is doing in DocumentTemplate/DT_IN.py (but works for ZPT as
-    well).
-
-  - Modified CMFDefault.RegistrationTool.addMember to avoid
-    flunking validation if properties are not passed (Tracker
-    #335).
-
-  - Applied patch from Chris Withers to 'register' skin method;
-    the patch which avoids quoting problems for the error message
-    if a problem occurs (Tracker #339).
-
-  - Added 'DiscussionItem.replyCount' (Tracker #328).
-    'DiscussionItem.hasReplies' now returns only a boolean value.
-    Standard skins don't call 'replyCount' due to performance
-    concerns.
-
-  - Factored content filtering logic into a Python Script.
-
-  - Improved handling of multiple rename targets (thanks to Chris
-    Withers for the patch.)
-
-  - Completed conversion of form targets from DTML Methods to
-    Python Scripts.
-
-  - Improved compatibility with Zope 2.4:
-
-    o support for new "restricted execution" mode;
-
-    o support for new catalog initialization API.
-  
-    o updated 'test_all' unit test drivers to use standard
-      'unittest' module from Python 2.1 (it no longer has
-      'JUnitTestTextRunner' class).


=== CMF/HISTORY.txt 1.31 => 1.31.4.1 ===
+
+ New features
+
+  - Added docs from the crack ZC docs guys; these docs live in
+    the top-level 'docs' directory.
+
+  - Merged CMFDecor product's artifacts into CMFCore /
+    CMFDefault;  theses aretifacts allow use of filesystem-based
+    Zope Page Templates as skins.
+
+    Note that the CMFDecor skin is the one which will be
+    receiving all our development focus:  we will fix bugs in the
+    DTML skins, but are not likely to invest significant effort
+    in upgrading it.
+
+  - Hooked 'manage_addFolder' to allow creation of PortalFolders
+    from both WebDAV, FTP, and ZMI.
+
+  - Improved tracebacks from broken FSDTMLMethods, which no longer
+    indicate that every problem is in RestrictedDTML.
+
+  - Made it possible to add CookieCrumblers in nested folders.
+    You can just drop in a cookie crumbler anywhere to change the
+    login form for that area of the site.  In fact, now you don't
+    have to create a user folder just to change the login
+    process.
+
+  - Made Link objects editable via FTP / WebDAV.
+
+  - Merged Chris Withers' FSSQLMethod into CMFCore.
+
+  - Added documentation for installing from CVS.
+
+  - Moved permission checking inside personalize_form to make
+    sure Anonymous cannot access it without logging in (CMF Tracker
+    Issue 349, thanks go to Bill Anderson).
+
+  - Added initial CMF use cases as FSSTXMethods in CMFDefault/help.
+
+  - Made validation methods of 'portal_metadata' available to
+    scripts.
+
+  - Made skinned 'index_html' reflect generic view on folder
+    content, rather than simple title/description of the portal.
+
+  - Added "Change and View" submit button to content editing
+    forms;  added check for this button to POST handlers in CMFDefault,
+    and indirected redirect targets in those methods through
+    'getActionByID'.
+
+  - Added knob for skin cookie persistence to SkinsTool's
+    "properties" tab.  The default policy (unchanged) is that
+    skin cookies expire at the end of the browser session.  if
+    Skin Cookie Persistence is checked the cookie will last a
+    full yesr.
+
+  - Added an API to the 'portal_actions' interface for querying,
+    adding, and removing action providers.
+
+  - Added a "multi-review" form, enabling a reviewer to publish
+    or reject multiple items at once, using a common comment.
+
+  - Added ZMI tab to DirectoryView to allow re-basing the
+    filesystem path.
+
+  - Added "breadcrumbs" to CMFDecor skins.
+
+  - Added initial support for WebDAV locaking to PortalContent.
+
+  - Added SortCriterion to list of criterion types for Topics,
+    to permit sorting of results.
+
+  - Added "Local Roles" action to folders to ease collaboration.
+
+  - Add scarecrow assertions for the CMF-centric interfaces, and
+    made the actual interfaces compatible with the standard
+    Zope Interface package.
+
+  - Made FSSTXMethod display skinnable, and added ZPT version.
+
+  - Added 'visible' attribute to TypeInformation actions, to
+    permit indirection (via 'getActionById') without exposing the
+    action in the CMF UI.
+
+  - Extended MetadataTool to allow adding / removing element specs
+    (i.e., it can now manage policies for "custom" schemas, as
+    well as Dublin Core).
+
+ Bug fixes
+
+  - Refactored content and metadata editing methods of
+    DefaultDublinCoreImpl, Document, and NewsItem to disentangle
+    the excessive coupling.  Each "path" for editing now has a
+    "presentation"-level method, which directs traffic and
+    reindexes the object;  the underlying methods are much
+    simplified.
+
+  - Fixed inner / named links in Document / News Item (thanks to 
+    Kenichi Sato for the patch!)
+
+  - Ensured that editing methods handle WebDAV locks correctly,
+    using a new 'failIfLocked' assertion.
+
+  - Added cookString method to CMFCore.utils for taking a string
+    and making it id friendly, it also does a string.lower on the
+    resultant regex.  Changed TypesTool to utilize cookString to
+    ensure that action ids are properly formated if the name is
+    being used as the id.
+
+  - Added 'getReply' to CMFDefault.DiscussionItem.DiscussionItemContainer,
+    to permit access to an individual reply without needing to
+    do traversal.
+
+  - Corrected pass-through of 'file' and 'seatbelt' arguments in
+    new 'CMFDefault.Document.edit' method;  also sync'ed ZMI edit
+    method for documents with standard protocol (Tracker #417).
+
+  - Added cookString method to CMFCore.utils for taking a string and
+    making it id friendly, it also does a string.lower on the resultant
+    regex.
+    
+  - Made examples in INSTALL.txt less terse, and added notes on
+    Windows-specific issues (thanks to Johan Mukhsein for the
+    suggestions).
+
+  - Made error message generated by FSPropertiesObject capture the
+    offending line and line #;  also, added logic to allow blank
+    lines and comment lines beginning with '#' (tracker #338).
+
+  - Added fixup to Link objects for user-entered URLs which don't
+    supply scheme:  for example, fix up 'www.zope.com' to
+    'http://www.zope.com'.  (tracker #361)
+
+  - Updated CMFCore.CatalogTool to allow new, optional 'idxs'
+    argument to 'catalog_object' (tracker #405).
+
+  - Added a workaround for the problem where the CookieCrumber
+    set cookies even though the user entered an incorrect password.
+    RESPONSE.unauthorized() now cancels the cookie response
+    header.  The new login_form and logged_in form both try to
+    invoke unauthorized(), so make sure you install the new
+    forms.
+
+  - Implement the notional 'search results item' interface for
+    SkinnedFolder.
+
+  - Corrected solecism in Topic (use of 'criteria' for singular);
+    removed the need to know about the funky generated IDs for
+    criterion objects.  Fixed derived bug in skins (tracker #408).
+
+  - Modified error-logging code to avoid potential leaks of
+    traceback frame.
+
+  - Made Document's 'manage_FTPget' use 'EditableBody', rather than
+    accessing 'text' attribute directly (improves reusability).
+    Likewise 'Document.SearchableText'.
+
+  - Merged Seb Bacon's refactoring of 'getDefaultView' into
+    'CMFCore.utils._getView'; clients can now specify a view by name,
+    as well.
+
+  - Made the default content type for Image 'image/png', instead
+    of the unintuitive 'text/html' inherited from DefaultDublinCoreImpl
+    (tracker #384).
+
+  - Corrected typo in ActionsTool which broke actions for the root
+    portal object (tracker #379).
+
+  - Updated the MemberDataTool to use an OOBTree, instead of the
+    old-style BTree, to store member data wrappers (CMF Tracker 375).
+
+  - Corrected 'personalize_form' to use 'getProperty' where feasible,
+    rather than relying on direct attribute access (tracker #372).
+
+  - Removed an incompatibility with LoginManager in
+    CMFCore.MembershipTool (tracker #365).
+
+  - Removed an infinite loop condition that arises when
+    MembershipTool.createMemberArea gets called inside wrapUser
+    (this could only happen if "Create Member Area" was checked
+    in the Membership tool.)
+
+  - Added new 'TitleOrId' skin method, and updated skins to
+    depend on it rather than SimpleItem.title_or_id.
+
+  - Made unit tests runnable without reliance on 'zctl test'.
+
+  - Corrected initial column set in catalog to include
+    "ModificationDate" instead of "ModifiedDate".
+
+  - Ensured that object is recatalogued (e.g., after setting
+    'portal_type';  thanks to Florent Guillaume).
+
+  - Removed silly dependency of 'CatalogTool.searchResults' on
+    REQUEST (catalog already does the Right Thing (tm) when no
+    REQUEST is available).  Note that this requires updates to
+    the 'search' skins, as they didn't pass it in.
+
+  - Changed redirect target after rejecting an item to the search
+    page for pending content items;  this resolves the problem
+    that the non-Manager reviewr who rejects an item no longer
+    has View permission on it, and therefore gets an Unauthorized
+    when redirecting to the object's view action.
+
+  - Moved generation of the "Add to Favorites" and "My Favorites"
+    links from the CMFCore/ActionsTool into the
+    CMFDefault/MembershipTool, which is a more logical location
+    for it because it relies on information from the membership tool.
+
+  - Made Topic directly publishable (like PortalContent), using its
+    'view' action (or the first action found, if view is not present).
+
+  - Set title for newly-created member folders;  fixes
+    breadcrumbs that expect a title on the object.
+
+  - Allow URLs with query strings in StructuredText links.
+
+  - Update 'news_box' to search based on 'Type', rather than
+    'meta_type'.
+
+  - Fix 'SkinnedFolder.Creator()' to call 'getOwner()' with
+    info argument.
+
+  - Made CookieCrumbler check for 'WEBDAV_SOURCE_PORT'
+    environment variable (supplied by Zope 2.4.1+), and bail on
+    intercepting authentication if found.
+
+  - Included 'Owner' in list of significant roles returned by
+    'MembershipTool.getPortalRoles' (e.g., so that the
+   "Local Roles" interface can allow assignment of it).
+
+  - Allow users with local role of "Reviewer" to see the "pending
+    review" action.
+
+  - Made TypesTool, rather than individual type objects,
+    responsible for generating "immediate view" URL;  type
+    objects now return the newly-created object, which makes
+    scripting them much simpler.
+
+  - Remove fossilized reference to 'getSecurityManager' from
+    'PortalContent._verifyActionPermissions'.
+
+  - Modified the redirect after "Add to Favorites" to us the
+    view action, rather than 'view'.
+
+  - Fixed 'Document.guessFormat()' to use
+    'utils.html_headcheck()' instead of 'bodyfinder' regex to
+    detect structured text versus html;  avoids recursion limit
+    for large HTML files.
+
+  - Removed spurious 'afterCreate' protocol for content objects.
+
+  - Added mapping of 'css' file extension to FSDTMLMethods.
+
+  - Modifed PortalFolder.listFolderContents to handle
+    permission-based filtering; duplicates what skip_unauthorized
+    is doing in DocumentTemplate/DT_IN.py (but works for ZPT as
+    well).
+
+  - Modified CMFDefault.RegistrationTool.addMember to avoid
+    flunking validation if properties are not passed (Tracker
+    #335).
+
+  - Applied patch from Chris Withers to 'register' skin method;
+    the patch which avoids quoting problems for the error message
+    if a problem occurs (Tracker #339).
+
+  - Added 'DiscussionItem.replyCount' (Tracker #328).
+    'DiscussionItem.hasReplies' now returns only a boolean value.
+    Standard skins don't call 'replyCount' due to performance
+    concerns.
+
+  - Factored content filtering logic into a Python Script.
+
+  - Improved handling of multiple rename targets (thanks to Chris
+    Withers for the patch.)
+
+  - Completed conversion of form targets from DTML Methods to
+    Python Scripts.
+
+  - Improved compatibility with Zope 2.4:
+
+    o support for new "restricted execution" mode;
+
+    o support for new catalog initialization API.
+  
+    o updated 'test_all' unit test drivers to use standard
+      'unittest' module from Python 2.1 (it no longer has
+      'JUnitTestTextRunner' class).
+
 1.1 final (2001/06/20)
 
  New features