[CMF-checkins] CVS: Releases/CMF - CHANGES.txt:1.37 HISTORY.txt:1.32
Tres Seaver
tseaver@zope.com
Tue, 11 Dec 2001 15:49:13 -0500
Update of /cvs-repository/Releases/CMF
In directory cvs.zope.org:/tmp/cvs-serv29378
Modified Files:
CHANGES.txt HISTORY.txt
Log Message:
- Shuffle 1.2 changes into HISTORY.
=== Releases/CMF/CHANGES.txt 1.36 => 1.37 ===
+??
- (__future__) Exposed role management for manager users on
the default roster: managers can now "promote" members
@@ -18,294 +18,3 @@
- (__future__) Added DCWorkflow (through-the-web configurable
workflows) to the core set of CMF products.
-
-1.2 beta (2001/12/07)
-
- 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).
=== Releases/CMF/HISTORY.txt 1.31 => 1.32 ===
+
+ 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