[CMF-checkins] CVS: CMF - CHANGES.txt:1.205 HISTORY.txt:1.38
Tres Seaver
tseaver at zope.com
Fri Jul 9 15:26:13 EDT 2004
Update of /cvs-repository/CMF
In directory cvs.zope.org:/tmp/cvs-serv22966
Modified Files:
CHANGES.txt HISTORY.txt
Log Message:
- Reshuffle / clean up change logs in preparation for a 1.5 alpha release.
=== CMF/CHANGES.txt 1.204 => 1.205 ===
--- CMF/CHANGES.txt:1.204 Thu Jul 8 04:06:11 2004
+++ CMF/CHANGES.txt Fri Jul 9 15:26:13 2004
@@ -1,7 +1,11 @@
-CMF 1.5alpha (unreleased)
+CMF 1.5.0-alpha (2004/07/09)
New Features
+ - New CMFSetup 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,
@@ -285,7 +289,3 @@
cruft. A later platform is required since CMF 1.3.
- Collector #153: CookieCrumbler didn't preserve query strings.
-
-CMF 1.4x
-
- see CHANGES.txt of CMF-1_4-branch
=== CMF/HISTORY.txt 1.37 => 1.38 ===
--- CMF/HISTORY.txt:1.37 Sat Apr 26 15:16:23 2003
+++ CMF/HISTORY.txt Fri Jul 9 15:26:13 2004
@@ -1,3 +1,325 @@
+CMF 1.4.5 (2004/07/08)
+
+ Bug Fixes
+
+ - When someone customises something twice, rather than raise an error,
+ show them a nice message and takes them to the already customised
+ object.
+
+ - FSImage didn't recognize '.bmp' files (Collector #245).
+
+ - Further hardening of member property, 'email', to prevent trickier
+ header injection into system-generated e-mails (Collector #243 redux).
+
+CMF 1.4.4 (2004/05/14)
+
+ Bug Fixes
+
+ - Unchecked member property, 'email', could allow header injection
+ into system-generated e-mails (Collector #243).
+
+CMF 1.4.3 (2004/04/22)
+
+ Bug Fixes
+
+ - CMFCalendar.CalendarTool: Converted '_usage' queries to dictionary
+ syntax. Shuts up DeprecationWarnings in Zope 2.7.
+
+ - CMFCore.CachingPolicyManager: make REQUEST argument optional
+ for public methods, to ease scripting policy operations from
+ setup code. (Collector #234)
+
+ - Action definitions: Removed leading spaces. (Collector #229)
+
+CMF 1.4.3-rc1 (2004/02/05)
+
+ Bug Fixes
+
+ - CMFCore.PortalFolder: Explicitly declare base interfaces.
+
+ - CMFCore.MembershipTool: Don't swallow ConflictError during wrapUser.
+
+ - CMFDefault.SkinnedFolder: Creator() method now resembles the one from
+ DublinCore. This allows for unowned objects and shuts up a deprecation
+ warning in Zope 2.6.4/2.7.0.
+
+ - CMFCore.CookieCrumbler: No longer disregards an existing cookie auth
+ token for DAV requests (like PROPFIND) that occur over the main HTTP
+ port. Eliminates additional user challenges for browser-based DAV
+ clients like MS WebFolders.
+
+ - CMFCore.FSMetadata: the "acquire" flag for permission mappings was
+ not converted to an int; '0' was therefore coming through as true.
+
+ - CMFCore.FSPageTemplate.py: compatibiltity with Python 2.3 (can't
+ mutate a class' __dict__ directly; use setattr(klass, name, value)
+ instead).
+
+CMF 1.4.2 (2003/10/27)
+
+ Bug Fixes
+
+ - CMFDefault RegistrationTool: enforced using the member's e-mail
+ address, rather than the one passed in from the request.
+
+ - CMFCore MembershipTool: Fixed 'getCandidateLocalRoles()'.
+ Didn't work without having 'Member' role. (Collector #148 and #169)
+
+ - CMFCore MembershipTool: Changed the permission for searchMembers to
+ 'List portal members'. By default Anonymous users are no longer able to
+ list member ids and email addresses. (Collector #189)
+
+CMF 1.4.1 (2003/09/08)
+
+ Bug Fixes
+
+ - Initialize class security correctly on ActionProviderBase
+ (Collector #186).
+
+ - Filesystem-based scripts should open their files in text mode, not
+ binary (Collector #185).
+
+ - Remove ownership from filesystem-based skin methods, which
+ can't be trojaned, and therefore need not pay the performance
+ penalty of ownership checking.
+
+ - CMFCore/MembershipTool.py: include traceback in log messages
+ for errors during 'wrapUser'.
+
+ - CMFDefault/skins: Fix permission name and html in roster.
+
+ - CMFCore/TypesTool.py: Make sure oldstyle FactoryTypeInformation
+ data is always converted. Actions are now completely migrated during
+ TypeInformation creation.
+
+ - CMFCore/utils.py: Fix buglet in 'minimalpath()', which caused
+ proudct lookup to fail when a second 'Products' directory was
+ in the path.
+
+ - CMFCore/Skinnable.py: Fix acquisition wrapping so that getPhysicalPath
+ is not spoofed during funny traversals.
+
+ - CMFCore/TypesTool.py: Fix ownership of constructor scripts used by
+ ScriptableTypeInformation (Collector #165).
+
+ - CMFDefault/skins: Fix some minor template issues in ZPT skins
+ (Collector #156 and other).
+
+ - CMFDefault and CMFCalendar skins: Fix stylesheets (Collector #164).
+
+ - CMFCalendar: fix bug in month-spanning events (patch from Helge
+ Tesdal).
+
+ - CMFCore and CMFDefault MembershipTool: Make sure 'createMemberarea()'
+ always grants the right Ownership and Owner role for new member folders.
+ This doesn't fix existing member folders with wrong Owner roles.
+ If you use a customized MembershipTool, make sure your createMemberarea
+ method does the Right Thing.
+ (Collector #162)
+
+CMF 1.4 (2003/05/19)
+
+ Bug Fixes
+
+ - The memberdata tool now fetches properties from member objects using
+ 'getProperty' when returning search results, rather than performing
+ direct attribute access on the member.
+
+ - The CookieCrumber now functions for HEAD requests.
+
+ - type actions: They are now absolute URLs by default.
+ For 'getActionById' and '_getViewFor' they are converted to relative
+ URLs. (Collector #152)
+
+CMF 1.4beta1 (2003/04/28)
+
+ New Features
+
+ - Made TypeInformation objects derive from CMFCore.ActionProviderBase:
+ their actions are now TALES expressions, and they have conditions
+ (like all the "tool actions").
+
+ - zpt skins (CMFDefault): Added i18n attributes.
+ See INSTALL.txt for installing internationalization support.
+ (Collector #122, thanks to Gitte Wange for her contribution)
+
+ - zpt skins (CMFDefault): Added 'zpt_content/transition_form.pt'.
+ 'content_*_form.pt' now use this template.
+
+ - skins (CMFDefault): Made scripts independent of submit button 'values'.
+
+ - Added .css to the extensions that create FSFile objects in
+ DirectoryViews (see CMFCore/FSFile.py)
+ All sites upgrading which expected css extension to be dropped and to
+ contain DTML will be required to rename their css files to foo.dtml.
+ (Collector #129)
+
+ - Added .js to the extensions that create FSFile objects in
+ DirectoryViews
+
+ - MembershipTool (CMFDefault): Un-hardwired members folder.
+ You now can get the members folder object using 'getMembersFolder()'.
+ If you want to change the id of the members folder, rename the folder
+ and set the members folder using portal_membership's configuration tab.
+ (Collector #128)
+
+ - utils: Changed behavior of 'bodyfinder' and 'html_headcheck'.
+ The head check in html_headcheck is now a bit different, but the result
+ should be closer to what people expect.
+ The head check in bodyfinder is removed. In most cases you want to call
+ bodyfinder only if html_headcheck is true.
+
+ - Added FSFile skin object, in order to allow .swf files (et al.) in
+ skins
+
+ - Added 'listMetaTags' skin method, which filters the DublinCore
+ metadata into a form suitable for inclusion as <meta> tags.
+
+ - Added .metadata file for FSObjects, which allows the easy addition of
+ more features without adding lots and lots of files. ConfigParser format.
+
+ - Added proxy roles to FS Python Scripts and FS DTML Methods via the proxy
+ property in .metadata files.
+
+ Bug Fixes
+
+ - utils: Changed behavior of 'StrippingParser' and 'scrubHTML'.
+ They now close empty tags.
+ (Collector #108, thanks to 'tanghus' for the patch)
+
+ - Removed deprecated 'register' module and 'PortalContentRegistration'
+ interface.
+
+ - Moved URLTool to CMFCore. Added interface and basic tests.
+ (Collector #67)
+
+ - Protected the Pending review action in DefaultWorkflow by
+ ReviewPortalContent (Collector #52).
+
+ - Raise ValueError instead of TypeError in TypesTool.getActionById
+ if the action is not found (Collector #56).
+
+ - Cleaned up Interfaces and API Help (Collector #96):
+
+ o Removed redundant 'Syndicatable' and 'IndexableContent' interfaces.
+
+ o Removed unfixable 'Membership' and 'ReviewableContent' interfaces.
+
+ o Removed listActions() from 'Contentish' and 'portal_workflow'
+ interface.
+
+ o Removed redundant or 'None' overriding of listActions().
+
+ o Updated all interfaces to work with new Zope 2.6 Interface API.
+
+ o Added 'portal_properties' and 'Dynamic' interfaces.
+
+ o Added many interface implementation tests and made them pass.
+
+ - MembershipTool (CMFDefault): Fixed acquisition bug. (Collector #102)
+
+ - Skinnable: Changed docstring for setupCurrentSkin and added
+ docstring to changeSkin: the latter is now used to set skin
+ manually mid-request. (Collector #27)
+
+ - Document: Ensured that setFormat('text/plain') does not overwrite
+ text_format if text_format is 'plain'. (Collector #140)
+
+ - Action providers: Default _actions' are now tuples, not lists.
+ (Collector #123)
+
+ - Document: Ensured that 'edit()' and 'PUT()' strip of xhtml headers and
+ html headers including DOCTYPE declarations. (Collector #41)
+
+ - Fixed some minor buglets. (Collector #80, #94 and #95)
+
+ - Ensure that a couple of calls to string.split only split into a
+ maximum of two parts.
+ (Collector #82)
+
+ - Enabled the CMF to be installed in a PRODUCTS_PATH.
+ In doing so, also made it easier to move CMF sites between
+ Windows and Unix.
+ (Collector #64)
+
+ - Multimodule checkin to convert calls from user.getUserName() to
+ user.getId() where appropriate. User names should not be used
+ as immutable references, while user ids should. The distinction
+ is not clearly enforcd in the stock user folder or any current user
+ folder implementations, but newer user folder implementations
+ will rely upon it.
+
+ - Remove redundant VERSION.txt files; the canonical spelling is
+ 'version.txt' (Collector #13).
+
+ - Correct security assertion on CMFDefault.Image's manage_afterAdd
+ (Collector #141).
+
+ - Ensure that the security attributes are reindexed on all
+ subobjects too when a folderish object changes state in the
+ workflow (Collector #115).
+
+ - Backport fix of CMFCore/tests/test_FSImage.py to work with
+ recent Zopes (> 2.6), which force HTTP headers to be strings.
+
+ - Use return instead of raise in RegistrationTool.testPropertiesValidity
+ if id is incorrect (Collector #48).
+
+ - Correctly cleanup temporaries in CMFCore.MemberDataTool when
+ wrapping a user object (Collector #136).
+
+CMF 1.3.3 (2003/10/26)
+
+ Bug Fixes
+
+ - Ensure that e-mail address to which we mail the user's password
+ in 'registeredNotify' comes from the member, rather than the
+ request (thanks to Yvo Schubbe for the report).
+
+ - Restrict ability to search members to users who have the 'List
+ portal members' permission (Collector #189).
+
+CMF 1.3.2 (2003/09/05)
+
+ Bug Fixes
+
+ - Initialize class security correctly on ActionProviderBase
+ (Collector #186).
+
+ - Remove ownership from filesystem-based skin methods, which
+ can't be trojaned, and therefore need not pay the performance
+ penalty of ownership checking.
+
+ - Skinnable: Fix __of__ method so that it does not remove previous
+ acquisition wrappers, which leads to invalid UIDs in the catalog
+ when indexing objects using methods acquired from "above" the CMF
+ site.
+
+ - Sort candiate selection list when adding a FilesystemTypeInfo
+ or ScriptableTypeInfo object to the types tool.
+
+ - Open filesystem-based skin methods as text files, to avoid
+ platform-specific line-ending issues (Collector #185).
+
+ - Correct security assertion on CMFDefault.Image's manage_afterAdd
+ (Collector #141).
+
+ - Ensure that the security attributes are reindexed on all
+ subobjects too when a folderish object changes state in the
+ workflow (Collector #115).
+
+ - Backport fix of CMFCore/tests/test_FSImage.py to work with
+ recent Zopes (> 2.6), which force HTTP headers to be strings.
+
+ - Use return instead of raise in RegistrationTool.testPropertiesValidity
+ if id is incorrect (Collector #48).
+
+ - CookieCrumbler: Accept authentication on HEAD requests.
+ Thanks to Brent Hendricks.
+
+ - Correctly cleanup temporaries in CMFCore.MemberDataTool when
+ wrapping a user object (Collector #136).
+
CMF 1.3.1 (2003/03/06)
Bug Fixes
@@ -550,950 +872,956 @@
CMF 1.2 beta (2001/12/07)
- New features
+ New features
- - Added docs from the crack ZC docs guys; these docs live in
- the top-level 'docs' directory.
+ - 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.
+ - 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.
+ 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.
+ - 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.
+ - 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 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.
+ - Made Link objects editable via FTP / WebDAV.
- - Merged Chris Withers' FSSQLMethod into CMFCore.
+ - Merged Chris Withers' FSSQLMethod into CMFCore.
- - Added documentation for installing from CVS.
+ - 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).
+ - 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.
+ - Added initial CMF use cases as FSSTXMethods in CMFDefault/help.
- - Made validation methods of 'portal_metadata' available to
- scripts.
+ - 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.
+ - 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 "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 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 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 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 ZMI tab to DirectoryView to allow re-basing the
+ filesystem path.
- - Added "breadcrumbs" to CMFDecor skins.
+ - Added "breadcrumbs" to CMFDecor skins.
- - Added initial support for WebDAV locaking to PortalContent.
+ - Added initial support for WebDAV locaking to PortalContent.
- - Added SortCriterion to list of criterion types for Topics,
- to permit sorting of results.
+ - Added SortCriterion to list of criterion types for Topics,
+ to permit sorting of results.
- - Added "Local Roles" action to folders to ease collaboration.
+ - 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.
+ - 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.
+ - 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.
+ - 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).
+ - 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
+ 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.
+ - 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!)
+ - 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.
+ - 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 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.
+ - 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).
+ - 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).
+ - 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).
+ - 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)
+ - 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).
+ - 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.
+ - 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.
+ - 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).
+ - 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.
+ - 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'.
+ - 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.
+ - 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).
+ - 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).
+ - 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).
+ - 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).
+ - 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 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.)
+ - 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.
+ - 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'.
+ - Made unit tests runnable without reliance on 'zctl test'.
- - Corrected initial column set in catalog to include
- "ModificationDate" instead of "ModifiedDate".
+ - 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).
+ - 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.
+ - 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.
+ - 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.
+ - 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).
+ - 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.
+ - Set title for newly-created member folders; fixes
+ breadcrumbs that expect a title on the object.
- - Allow URLs with query strings in StructuredText links.
+ - Allow URLs with query strings in StructuredText links.
- - Update 'news_box' to search based on 'Type', rather than
- 'meta_type'.
+ - Update 'news_box' to search based on 'Type', rather than
+ 'meta_type'.
- - Fix 'SkinnedFolder.Creator()' to call 'getOwner()' with
- info argument.
+ - 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.
+ - 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).
+ - 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.
+ - 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.
+ - 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'.
+ - Remove fossilized reference to 'getSecurityManager' from
+ 'PortalContent._verifyActionPermissions'.
- - Modified the redirect after "Add to Favorites" to us the
- view action, rather than 'view'.
+ - 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.
+ - 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.
+ - Removed spurious 'afterCreate' protocol for content objects.
- - Added mapping of 'css' file extension to FSDTMLMethods.
+ - 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).
+ - 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).
+ - 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).
+ - 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.
+ - 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.
+ - Factored content filtering logic into a Python Script.
- - Improved handling of multiple rename targets (thanks to Chris
- Withers for the patch.)
+ - Improved handling of multiple rename targets (thanks to Chris
+ Withers for the patch.)
- - Completed conversion of form targets from DTML Methods to
- Python Scripts.
+ - Completed conversion of form targets from DTML Methods to
+ Python Scripts.
- - Improved compatibility with Zope 2.4:
+ - Improved compatibility with Zope 2.4:
- o support for new "restricted execution" mode;
+ 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).
+ 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 1.1 final (2001/06/20)
- New features
+ New features
- - Landed "skinned folder" module, which permits creation of
- "folderish" types with customized replacements for 'index_html'.
+ - Landed "skinned folder" module, which permits creation of
+ "folderish" types with customized replacements for 'index_html'.
- - Added 'run_all_tests' script, to simplify running all unit
- tests for CMF-related products.
+ - Added 'run_all_tests' script, to simplify running all unit
+ tests for CMF-related products.
- - Factored out index and column lists, to ease customization
- (Tracker #289)
+ - Factored out index and column lists, to ease customization
+ (Tracker #289)
- - Modified DefaultDublinCoreImpl#setContributors() to use new
- tuplize functionality (the ability to pass in a different
- splitter function). If a string is passed in to
- setContributors(), it gets split on semicolons. This allows
- setting of contributor strings to be like
+ - Modified DefaultDublinCoreImpl#setContributors() to use new
+ tuplize functionality (the ability to pass in a different
+ splitter function). If a string is passed in to
+ setContributors(), it gets split on semicolons. This allows
+ setting of contributor strings to be like
- "Doe, John E (john at doe.a.deer); The Mertz Family Foundation; PBS"
+ "Doe, John E (john at doe.a.deer); The Mertz Family Foundation; PBS"
- If one so deeply and dearly desired. (The above would turn
- into a three element tuple).
+ If one so deeply and dearly desired. (The above would turn
+ into a three element tuple).
- - Made it possible to map "normal" Zope objects as content
- (Tracker #283):
+ - Made it possible to map "normal" Zope objects as content
+ (Tracker #283):
- o Skin and tool code which used to query the object
- for its Type in order to then ask the types tool for a
- TypeInfo object now just asks the types tool for type
- TypeInfo object directly.
-
- o Modified the TypesTool interface to signal that passing an
- object to 'getTypeInfo' is acceptable, with the semantic
- that the tool will attempt to find a TypeInfo object based
- on the tool's type or metatype.
+ o Skin and tool code which used to query the object
+ for its Type in order to then ask the types tool for a
+ TypeInfo object now just asks the types tool for type
+ TypeInfo object directly.
+
+ o Modified the TypesTool interface to signal that passing an
+ object to 'getTypeInfo' is acceptable, with the semantic
+ that the tool will attempt to find a TypeInfo object based
+ on the tool's type or metatype.
- - Expanded signature of Document.CookedBody to change the
- header levels Structured Text starts rendering at, and
- whether to preserve those changes, following the following
- logic:
+ - Expanded signature of Document.CookedBody to change the
+ header levels Structured Text starts rendering at, and
+ whether to preserve those changes, following the following
+ logic:
- If the format is html, and 'stx_level' is not passed in or
- is the same as the object's current settings, return the
- cached cooked text. Otherwise, recook. If we recook and
- 'setlevel' is true, then set the recooked text and
- stx_level on the object.
+ If the format is html, and 'stx_level' is not passed in or
+ is the same as the object's current settings, return the
+ cached cooked text. Otherwise, recook. If we recook and
+ 'setlevel' is true, then set the recooked text and
+ stx_level on the object.
- Bug fixes
+ Bug fixes
- - Hardened DirectoryView against objects which raise exceptions
- during initial reads (typically due to permission problems);
- these objects now capture and log the exception, and create
- a BadFile object which allows browsing the traceback via the
- ZMI (Tracker #317).
+ - Hardened DirectoryView against objects which raise exceptions
+ during initial reads (typically due to permission problems);
+ these objects now capture and log the exception, and create
+ a BadFile object which allows browsing the traceback via the
+ ZMI (Tracker #317).
- - Stopped polluting the browser with persistent skin cookie;
- clear it as well on logout (Tracker #304).
+ - Stopped polluting the browser with persistent skin cookie;
+ clear it as well on logout (Tracker #304).
- - Cleaned up folder content filtering (Tracker #298, thanks
- to Chris Withers for the patch).
+ - Cleaned up folder content filtering (Tracker #298, thanks
+ to Chris Withers for the patch).
- - Implement new "List folder contents" permission (Tracker
- #320), to prevent non-privileged users from being able to
- browse 'folder_contents' (permission is by default mapped
- to 'Owner' and 'Manager').
+ - Implement new "List folder contents" permission (Tracker
+ #320), to prevent non-privileged users from being able to
+ browse 'folder_contents' (permission is by default mapped
+ to 'Owner' and 'Manager').
- Note that this is really only a UI change:
- 'PortalFolder.contentIds', 'PortalFolder.contentValues', and
- 'PortalFolder.contentItems' are still public, to allow for
- reasonable "site map" views on folders.
+ Note that this is really only a UI change:
+ 'PortalFolder.contentIds', 'PortalFolder.contentValues', and
+ 'PortalFolder.contentItems' are still public, to allow for
+ reasonable "site map" views on folders.
- - Use saner type ID listing in 'search_form' (Tracker #324).
+ - Use saner type ID listing in 'search_form' (Tracker #324).
- - Rewired "POST target" skin methods, replacing filesystem-based
- DTML Methods with filesystem-based Python Scripts (from
- Tracker #301 -- thanks to Chris Withers).
+ - Rewired "POST target" skin methods, replacing filesystem-based
+ DTML Methods with filesystem-based Python Scripts (from
+ Tracker #301 -- thanks to Chris Withers).
- - Implemented *LARGE* patch to CMFDefault.DiscussionItem and
- CMFDefault.DiscussionTool, plus removal of
- CMFDefault.Discussions: changed threading strategy to remove
- dependency on the path of the "host" content object. Includes
- an ExternalMethod, CMFDefault/Extensions/update_discussion.py,
- which must be run to convert existing content which contains
- discussion.
+ - Implemented *LARGE* patch to CMFDefault.DiscussionItem and
+ CMFDefault.DiscussionTool, plus removal of
+ CMFDefault.Discussions: changed threading strategy to remove
+ dependency on the path of the "host" content object. Includes
+ an ExternalMethod, CMFDefault/Extensions/update_discussion.py,
+ which must be run to convert existing content which contains
+ discussion.
- - Overrode DublinCore's isEffective in CMFCalendar.Event to
- always return true; this change prevents blocking view of
- the event by standard_html_header.
+ - Overrode DublinCore's isEffective in CMFCalendar.Event to
+ always return true; this change prevents blocking view of
+ the event by standard_html_header.
- - Updated INSTALL.txt to note that:
+ - Updated INSTALL.txt to note that:
- o Use with Zope 2.4.0a1 is *not* recommended.
+ o Use with Zope 2.4.0a1 is *not* recommended.
- o CMFDecor requires Zope Page Templates (Tracker #291).
+ o CMFDecor requires Zope Page Templates (Tracker #291).
- and to describe upgrade process from CMF 1.0.
+ and to describe upgrade process from CMF 1.0.
- - Fixed typo in 'Unauthorized' exception raised by
- 'PortalContent._getDefaultView'.
+ - Fixed typo in 'Unauthorized' exception raised by
+ 'PortalContent._getDefaultView'.
- - Made all content types findable by catalog (Tracker #286).
+ - Made all content types findable by catalog (Tracker #286).
- - Ensured that ContentTypeRegistry's "Test" tab doesn't puke if
- no MIMEtype is entered, or if one is entered which doesn't
- have a '/' in it (Tracker #292).
+ - Ensured that ContentTypeRegistry's "Test" tab doesn't puke if
+ no MIMEtype is entered, or if one is entered which doesn't
+ have a '/' in it (Tracker #292).
- - Suppressed overwrite of Subject when no 'Subject' or
- 'Keywords' headers were present (Tracker #294).
+ - Suppressed overwrite of Subject when no 'Subject' or
+ 'Keywords' headers were present (Tracker #294).
- - Ensured that 'Type' is indexed in newly-created
- 'portal_catalog'.
+ - Ensured that 'Type' is indexed in newly-created
+ 'portal_catalog'.
- - Fixed acquisition stripping in PortalContent.objectItems().
+ - Fixed acquisition stripping in PortalContent.objectItems().
- - Modified CMFDefault.DublinCore.getMetadataHeaders() to join
- Subject by commas, instead of spaces. Since we parse/split
- Subject on commas or semicolons now when a document is saved
- by FTP or WebDAV, we need to feed it out in the same format.
+ - Modified CMFDefault.DublinCore.getMetadataHeaders() to join
+ Subject by commas, instead of spaces. Since we parse/split
+ Subject on commas or semicolons now when a document is saved
+ by FTP or WebDAV, we need to feed it out in the same format.
- - Fleshed out security declarations for 'portal_metadata' tool.
+ - Fleshed out security declarations for 'portal_metadata' tool.
- - Corrected pathname of 'MemberDataTool.memberdataContents' to
- account for use of '_dtmldir' (thanks to Ricardo Newbery for
- the patch!).
+ - Corrected pathname of 'MemberDataTool.memberdataContents' to
+ account for use of '_dtmldir' (thanks to Ricardo Newbery for
+ the patch!).
- - Fixed buglet resulting from uninitialized local in
- 'PortalContent.objectItems' (thanks to Seb Bacon for the
- patch).
+ - Fixed buglet resulting from uninitialized local in
+ 'PortalContent.objectItems' (thanks to Seb Bacon for the
+ patch).
- - Modified stock 'search_form' to query 'Type' rather than
- 'meta_type'.
+ - Modified stock 'search_form' to query 'Type' rather than
+ 'meta_type'.
- - Removed debugging / "paranoia" print statements (thanks to
- Chris Withers for the patches).
+ - Removed debugging / "paranoia" print statements (thanks to
+ Chris Withers for the patches).
CMF 1.1 beta (2001/06/01)
- New features
+ New features
- - Added CMFCore.utils.keywordsplitter to construct 'Subject'
- dublin core header from both 'Keywords' and 'Subject' headers
- passed in (meta tags/rfc822).
+ - Added CMFCore.utils.keywordsplitter to construct 'Subject'
+ dublin core header from both 'Keywords' and 'Subject' headers
+ passed in (meta tags/rfc822).
- - CMF Document now uses StructuredTextNG for structured text
- handling. Nicely enough, it uses the "with images" features, and
- also enables named and inner links.
+ - CMF Document now uses StructuredTextNG for structured text
+ handling. Nicely enough, it uses the "with images" features, and
+ also enables named and inner links.
- - CMF Document exposes two new accessor methods for getting at the
- "cooked" and editable body, 'CookedBody()', and 'EditableBody()'.
- Using the 'cooked_text' and 'text' instance attributes should be
- considered deprecated.
+ - CMF Document exposes two new accessor methods for getting at the
+ "cooked" and editable body, 'CookedBody()', and 'EditableBody()'.
+ Using the 'cooked_text' and 'text' instance attributes should be
+ considered deprecated.
- - Added new "exemplar" content product, CMFCalendar, which
- (for now) adds a simple content object, Event. This product
- serves a similar didactic purpose as CMFTopic (which is now
- "in the core"): it shows how to build new content types as
- filesystem products.
+ - Added new "exemplar" content product, CMFCalendar, which
+ (for now) adds a simple content object, Event. This product
+ serves a similar didactic purpose as CMFTopic (which is now
+ "in the core"): it shows how to build new content types as
+ filesystem products.
- - Implemented improved "safety belt" for concurrent Document
- editing. See the dogbowl proposal,
- http://cmf.zope.org/rqmts/proposals/ContentSafetyBelt
+ - Implemented improved "safety belt" for concurrent Document
+ editing. See the dogbowl proposal,
+ http://cmf.zope.org/rqmts/proposals/ContentSafetyBelt
- - Added new filesystem-based skin method type, FSSTXMethod, for
- creating "methods" which render STX.
+ - Added new filesystem-based skin method type, FSSTXMethod, for
+ creating "methods" which render STX.
- - Exposed "controlled vocabulary" for Subject in
- 'metadata_edit_form'.
+ - Exposed "controlled vocabulary" for Subject in
+ 'metadata_edit_form'.
- - Gave 'portal_skins' tool its own PUT_factory (Tracker #238).
- Allows site builder to create skin methods via WebDAV/FTP,
- including ZPT, PythonScripts, etc.
+ - Gave 'portal_skins' tool its own PUT_factory (Tracker #238).
+ Allows site builder to create skin methods via WebDAV/FTP,
+ including ZPT, PythonScripts, etc.
- - Implemented "outbound" segment of the "Syndication tool"
- proposal, q.v.,
- http://cmf.zope.org/CMF/Members/andrew/folderRSS
+ - Implemented "outbound" segment of the "Syndication tool"
+ proposal, q.v.,
+ http://cmf.zope.org/CMF/Members/andrew/folderRSS
- - Made 'PUT_factory' use new 'content_type_registry' tool.
+ - Made 'PUT_factory' use new 'content_type_registry' tool.
- - Made 'PUT_factory' use 'invokeFactory', so that objects
- created via PUT have their 'portal_type' set properly.
+ - Made 'PUT_factory' use 'invokeFactory', so that objects
+ created via PUT have their 'portal_type' set properly.
- - Added ContentTypeRegistry class and related predicates for
- mapping PUT requests (name,content_type,body) to type object
- names.
+ - Added ContentTypeRegistry class and related predicates for
+ mapping PUT requests (name,content_type,body) to type object
+ names.
- - Allowed Reviewers to "retract" published content owned by
- others.
+ - Allowed Reviewers to "retract" published content owned by
+ others.
- - Added "Overview" ZMI view to tools.
+ - Added "Overview" ZMI view to tools.
- - Added "Dublin Core" ZMI view to PortalContent; added an
- editing view for Document and derivatives.
+ - Added "Dublin Core" ZMI view to PortalContent; added an
+ editing view for Document and derivatives.
- - Added "drop-in" workflow objects to the WorkflowTool,
- including the ability to map workflows onto content types.
+ - Added "drop-in" workflow objects to the WorkflowTool,
+ including the ability to map workflows onto content types.
- - Changed CMFDefault.Portal to install CMF Topic by default
- when building a new CMF Site.
+ - Changed CMFDefault.Portal to install CMF Topic by default
+ when building a new CMF Site.
- - Added a new criteria type, *FriendlyDateCriterion*, to
- CMFTopic for building queries like 'When effective_date is
- less than five days old'.
+ - Added a new criteria type, *FriendlyDateCriterion*, to
+ CMFTopic for building queries like 'When effective_date is
+ less than five days old'.
- - Implemented 'portal_metadata' tool. See the dogbowl
- proposal,
- http://cmf.zope.org/rqmts/proposals/completed/metadata_tool.
+ - Implemented 'portal_metadata' tool. See the dogbowl
+ proposal,
+ http://cmf.zope.org/rqmts/proposals/completed/metadata_tool.
- - Extended DirectoryView objects to reload when the directory
- they represent has changed, if Zope is running in debug mode.
+ - Extended DirectoryView objects to reload when the directory
+ they represent has changed, if Zope is running in debug mode.
- - Added hooks to CookieCrumbler to permit site managers to
- customize seting/expiring of the authentication cookie by
- adding PythonScripts; two default filesystem implementations
- are in CMFDefault's "control" skin.
+ - Added hooks to CookieCrumbler to permit site managers to
+ customize seting/expiring of the authentication cookie by
+ adding PythonScripts; two default filesystem implementations
+ are in CMFDefault's "control" skin.
- - Extended TypesTool to deal appropriately with DTML factory
- methods (e.g., for ZClasses).
+ - Extended TypesTool to deal appropriately with DTML factory
+ methods (e.g., for ZClasses).
- - Made FSDTMLMethods searchable from the ZMI (Issue PTK(251)[]).
+ - Made FSDTMLMethods searchable from the ZMI (Issue PTK(251)[]).
- Bug Fixes
+ Bug Fixes
- - Added 'manage_beforeDelete' to DiscussionItemContainer class,
- and propagated to it from content deletion (Tracker #269).
+ - Added 'manage_beforeDelete' to DiscussionItemContainer class,
+ and propagated to it from content deletion (Tracker #269).
- - Only display the "join" action if the user has the "Add
- portal member" permission.
+ - Only display the "join" action if the user has the "Add
+ portal member" permission.
- - Check for appropriate REQUEST variables before invoking
- CopySupport machinery, return a nice 'portal_status_message'
- instead of allowing the traceback to kick in (Tracker #247).
+ - Check for appropriate REQUEST variables before invoking
+ CopySupport machinery, return a nice 'portal_status_message'
+ instead of allowing the traceback to kick in (Tracker #247).
- - Initialize default DublinCore metadata for the site, so that
- *some* value is available everywhere (Tracker #285).
+ - Initialize default DublinCore metadata for the site, so that
+ *some* value is available everywhere (Tracker #285).
- - Add module-level globals aliases, to permit other products
- to use elements of skins (Tracker #273).
+ - Add module-level globals aliases, to permit other products
+ to use elements of skins (Tracker #273).
- - Replaced 'metadata_edit' DTMLMethod with PythonScript.
+ - Replaced 'metadata_edit' DTMLMethod with PythonScript.
- - Updated 'metadata_edit' to avoid clearing values not passed
- in REQUEST (Tracker #268).
+ - Updated 'metadata_edit' to avoid clearing values not passed
+ in REQUEST (Tracker #268).
- - Removed spurious whitespace being added to Subject.
+ - Removed spurious whitespace being added to Subject.
- - Fixed FSPythonScript to open file in text mode, so that
- Windows verstions with CR don't cause the parser to choke
- (Tracker #284).
+ - Fixed FSPythonScript to open file in text mode, so that
+ Windows verstions with CR don't cause the parser to choke
+ (Tracker #284).
- - Simplified login-disabling logic in CookieCrumbler.
+ - Simplified login-disabling logic in CookieCrumbler.
- - Added '<base>' tag to headers of Document, NewsItem, and
- DiscussionItem so that relative links work properly.
+ - Added '<base>' tag to headers of Document, NewsItem, and
+ DiscussionItem so that relative links work properly.
- - Fixed the ActionsTool to suppress adding a trailing '/' to
- "empty" action URL's.
+ - Fixed the ActionsTool to suppress adding a trailing '/' to
+ "empty" action URL's.
- - Fixed Document's content type sniffing to deal with odd case
- in which "entire" HTML document was embedded as an STX
- example.
+ - Fixed Document's content type sniffing to deal with odd case
+ in which "entire" HTML document was embedded as an STX
+ example.
- - Replaced literal string permissins with "named permissions",
- imported from modules in most places. (Please report any
- which escaped!)
+ - Replaced literal string permissins with "named permissions",
+ imported from modules in most places. (Please report any
+ which escaped!)
- - Moved 'factory_type_information' registry entries back out
- to the relevant modules (instead of lumping them in
- CMFDefault.Portal).
+ - Moved 'factory_type_information' registry entries back out
+ to the relevant modules (instead of lumping them in
+ CMFDefault.Portal).
- - Simplified NewsItem to "Document with a twist" (NewsItems now
- inherit lots of useful behavior from Document.
+ - Simplified NewsItem to "Document with a twist" (NewsItems now
+ inherit lots of useful behavior from Document.
- - Aliased DublinCore's Format() as 'content_type', so that
- Zope's WebDAV support will do the Right Thing (TM) when
- handling a PROPFIND.
+ - Aliased DublinCore's Format() as 'content_type', so that
+ Zope's WebDAV support will do the Right Thing (TM) when
+ handling a PROPFIND.
- - Suppressed "eager redirect" behavior in CookieCrumbler for
- FTP or WebDAV (note that WebDAV fix only works for "extra"
- HTTP methods; GET/PUT/POST still redirect).
+ - Suppressed "eager redirect" behavior in CookieCrumbler for
+ FTP or WebDAV (note that WebDAV fix only works for "extra"
+ HTTP methods; GET/PUT/POST still redirect).
- - Made sure to update the catalog when a content object's
- parent is deleted / moved (Tracker #261).
+ - Made sure to update the catalog when a content object's
+ parent is deleted / moved (Tracker #261).
- - Fixed lossage to File objects when no upload supplied
- (Tracker #271).
+ - Fixed lossage to File objects when no upload supplied
+ (Tracker #271).
- - Fixed "Add to Favorites" when applied to Folders.
+ - Fixed "Add to Favorites" when applied to Folders.
- - Suppressed "Members" link in topbar (pointed to 'roster' method)
- for users who would not be able to see it.
+ - Suppressed "Members" link in topbar (pointed to 'roster' method)
+ for users who would not be able to see it.
- - Fixed irritating bugs in setting of skin-selection cookie.
+ - Fixed irritating bugs in setting of skin-selection cookie.
- - Removed ugly '_mimetype_registry' hack for 'PUT_factory'.
+ - Removed ugly '_mimetype_registry' hack for 'PUT_factory'.
- - Fixed a bug in CMFDefault.Document with PUT that only affected
- FTP: when a StructuredText document that contained a full HTML
- example (complete with <html>, <head>, and <body> tags) in its
- body, it would pass the "does it smell like HTML" test and throw
- everything away that wasn't inside the first matching pair of
- <body> tags it found. Funnily enough, this bug was exposed when
- trying to save an article about how to use FTP with Zope and the
- CMF that contained such an example.
+ - Fixed a bug in CMFDefault.Document with PUT that only affected
+ FTP: when a StructuredText document that contained a full HTML
+ example (complete with <html>, <head>, and <body> tags) in its
+ body, it would pass the "does it smell like HTML" test and throw
+ everything away that wasn't inside the first matching pair of
+ <body> tags it found. Funnily enough, this bug was exposed when
+ trying to save an article about how to use FTP with Zope and the
+ CMF that contained such an example.
- - Fixed glitch caused by '<dtml-return>' in
- CMFDefault/skins/control/reconfig.dtml. Thanks to Hans de Wit
- <hw at scp.nl> for reporting this!
+ - Fixed glitch caused by '<dtml-return>' in
+ CMFDefault/skins/control/reconfig.dtml. Thanks to Hans de Wit
+ <hw at scp.nl> for reporting this!
- - Allowed 'portal_type' to be a method, as well as an attribute
- (eases ZClass-as-content).
+ - Allowed 'portal_type' to be a method, as well as an attribute
+ (eases ZClass-as-content).
- - Fixed search form to pass 'created' instead of 'date' (probably
- need 'modified', too); also, added selection list for 'Subject',
- and fixed the "Last Month" option value.
+ - Fixed search form to pass 'created' instead of 'date' (probably
+ need 'modified', too); also, added selection list for 'Subject',
+ and fixed the "Last Month" option value.
- - Fixed non-import in CMFCore/WorkflowCore.py (Tracker #239,
- thanks to 'snej' for the patch).
+ - Fixed non-import in CMFCore/WorkflowCore.py (Tracker #239,
+ thanks to 'snej' for the patch).
- - Updated CatalogTool to handle searchable vs. displayable DublinCore
- dates properly.
+ - Updated CatalogTool to handle searchable vs. displayable DublinCore
+ dates properly.
- - Replaced usage of .id with .getId() all through the CMF, to
- conform with the new SimpleItem API. Thanks to Jens Quade
- <jq at jquade.de> for pointing this out. (Issue PTK(241)[]).
+ - Replaced usage of .id with .getId() all through the CMF, to
+ conform with the new SimpleItem API. Thanks to Jens Quade
+ <jq at jquade.de> for pointing this out. (Issue PTK(241)[]).
- - Extended 'index_html' to render portal description using STX
- (Tracker #246).
+ - Extended 'index_html' to render portal description using STX
+ (Tracker #246).
- - Updated CMFDefault skins to use Contentish.getIcon, including
- the portal catalog. This greatly simplifies using ZClasses as
- content. In CMFDefault/scripts you will find
- 'convertCatalogGetIconColumn.pys), a Python Script that will
- convert your existing Catalog to use 'getIcon' instead of
- 'icon' (Issue PTK(244)[]). Also, synched interface definition
- to show the 'relative_to_portal' argument.
+ - Updated CMFDefault skins to use Contentish.getIcon, including
+ the portal catalog. This greatly simplifies using ZClasses as
+ content. In CMFDefault/scripts you will find
+ 'convertCatalogGetIconColumn.pys), a Python Script that will
+ convert your existing Catalog to use 'getIcon' instead of
+ 'icon' (Issue PTK(244)[]). Also, synched interface definition
+ to show the 'relative_to_portal' argument.
- - Extended 'folder_factories' to filter type objects using
- 'isConstructionAllowed' in 'PortalFolder.allowedContentTypes'
- (Tracker #249).
+ - Extended 'folder_factories' to filter type objects using
+ 'isConstructionAllowed' in 'PortalFolder.allowedContentTypes'
+ (Tracker #249).
- - Fixed display of replies on discussion items.
+ - Fixed display of replies on discussion items.
- - Made appropriate use of 'portal_url', instead of BASEPATH
- ad hockery, in skin methods (Tracker #259).
+ - Made appropriate use of 'portal_url', instead of BASEPATH
+ ad hockery, in skin methods (Tracker #259).
- - Synched interface definition of 'Contentish.getIcon' with
- reality (documented 'relative' parameter).
+ - Synched interface definition of 'Contentish.getIcon' with
+ reality (documented 'relative' parameter).
- - Fixed "Ever" entry in 'search_form' to use a value safe in
- timezones east of GMT (Tracker #236).
+ - Fixed "Ever" entry in 'search_form' to use a value safe in
+ timezones east of GMT (Tracker #236).
- - Deprecated the CMFDefault.File.download method; it is still
- available, but is no longer called by the current CMF skin,
- nor is index_html aliased to it.
+ - Deprecated the CMFDefault.File.download method; it is still
+ available, but is no longer called by the current CMF skin,
+ nor is index_html aliased to it.
- The method was necessary when the "View' method was the
- default action when calling the URL of the File object, this
- is no longer the case. The setting of the Content-Disposition
- header is not needed when using the absolute URL of the
- object, and causes certain browsers to misbehave.
+ The method was necessary when the "View' method was the
+ default action when calling the URL of the File object, this
+ is no longer the case. The setting of the Content-Disposition
+ header is not needed when using the absolute URL of the
+ object, and causes certain browsers to misbehave.
CMF 1.0 final (2001/03/29)
- - Removed embedded spaces in 'portal_status_message' strings
- (thanks to Dieter Maurer for pointing this out)
-
- - Added 'index_html' (copy/paste from CMFCore.PortalContent?!?) so
- that topics become directly publishable (thanks to Dieter
- Maurer for pointing this out).
-
- - Removed references to 'Images/' in skin DTML, adding an extra
- item to the default skins' lookup path. In CMFDefault/scripts
- you will find 'addImagesToSkinPaths.pys', a Python Script that
- adds the extra name to all your skin paths. (Tracker issue
- #205).
+ Bug Fixes
- - Added FSPythonScripts, allowing filesystem-based skins to
- expose customizable PythonScripts.
+ - Removed embedded spaces in 'portal_status_message' strings
+ (thanks to Dieter Maurer for pointing this out)
- - Fixed CMF Tracker item (207), "HTML test when editing a Portal
- Document is ambiguous". Now, the same regular expression used
- to scoop out the contents of the <body> tags, which is case
- insensitive, is also used to detect whether the document may
- be HTML.
+ - Added 'index_html' (copy/paste from CMFCore.PortalContent?!?) so
+ that topics become directly publishable (thanks to Dieter
+ Maurer for pointing this out).
- - Converted physical path to string (Tracker #224).
+ - Removed references to 'Images/' in skin DTML, adding an extra
+ item to the default skins' lookup path. In CMFDefault/scripts
+ you will find 'addImagesToSkinPaths.pys', a Python Script that
+ adds the extra name to all your skin paths. (Tracker issue
+ #205).
- - Fixed 'Creator' metadata for DiscussionItems (tracker issue
- #206, thanks to Jeff Sasmor for the patch!).
+ - Added FSPythonScripts, allowing filesystem-based skins to
+ expose customizable PythonScripts.
- - Added simple search field for 'Subject' (Tracker #213).
+ - Fixed CMF Tracker item (207), "HTML test when editing a Portal
+ Document is ambiguous". Now, the same regular expression used
+ to scoop out the contents of the <body> tags, which is case
+ insensitive, is also used to detect whether the document may
+ be HTML.
- - Fixed CMF Tracker issue 211, "Topics have Folder icon" by
- finally moving the Topic icon into the skins, and writing a
- custom icon() method that uses getIcon (Subclassing from
- PortalFolder made this behavior strange).
+ - Converted physical path to string (Tracker #224).
- - Changed CMFDefault.Document__init__ to call self.edit at the
- end, instead of self._parse, which means that HTML can finally
- be passed into the constructor. Unit tests verify that
- initializing with just the 'id' gives the proper results.
+ - Fixed 'Creator' metadata for DiscussionItems (tracker issue
+ #206, thanks to Jeff Sasmor for the patch!).
- - Added installation script (external method) for CMFTopic.
+ - Added simple search field for 'Subject' (Tracker #213).
- - Ensured that content metatypes show up in the types list of the
- portal_catalog tool (Tracker issue #209, thanks to Jeff
- Sasmor).
+ - Fixed CMF Tracker issue 211, "Topics have Folder icon" by
+ finally moving the Topic icon into the skins, and writing a
+ custom icon() method that uses getIcon (Subclassing from
+ PortalFolder made this behavior strange).
- - Fixed unwanted multiple font reductions on 'recent_news'
- (Tracker issue #215).
+ - Changed CMFDefault.Document__init__ to call self.edit at the
+ end, instead of self._parse, which means that HTML can finally
+ be passed into the constructor. Unit tests verify that
+ initializing with just the 'id' gives the proper results.
- - Changed visited link color to enhance readability.
+ - Added installation script (external method) for CMFTopic.
- - Fixed PNG transparency of logo (for NS 4.7).
+ - Ensured that content metatypes show up in the types list of the
+ portal_catalog tool (Tracker issue #209, thanks to Jeff
+ Sasmor).
- - Allowed Contributors to publish content directly (Tracker
- issue #216).
+ - Fixed unwanted multiple font reductions on 'recent_news'
+ (Tracker issue #215).
- - Gave more real estate to skin path fields (Tracker issue
- #226).
+ - Changed visited link color to enhance readability.
- - Added simple listing of subtopics to the default view (Tracker
- issue #214).
+ - Fixed PNG transparency of logo (for NS 4.7).
- - Regularized DiscussionItem.absolute_url (further work on
- Tracker issues #203 & #206).
+ - Allowed Contributors to publish content directly (Tracker
+ issue #216).
- - Made 'addToFavorites' work as skinned method of target, and
- work for DiscussionItems (Tracker issue #227).
+ - Gave more real estate to skin path fields (Tracker issue
+ #226).
- - Moved actual mail sending into CMFDefault.RegistrationTool, to
- avoid having to give proxy roles to the skin methods involved
- (Tracker issue #160).
+ - Added simple listing of subtopics to the default view (Tracker
+ issue #214).
- - Add member count to roster display.
+ - Regularized DiscussionItem.absolute_url (further work on
+ Tracker issues #203 & #206).
- - Made 'review_state' workflow info publically visible.
+ - Made 'addToFavorites' work as skinned method of target, and
+ work for DiscussionItems (Tracker issue #227).
- - Made DiscussionItem.getReplies() and
- DiscussionItemContainter.getReplies() show only 'published'
- replies (allows retraction, for now).
+ - Moved actual mail sending into CMFDefault.RegistrationTool, to
+ avoid having to give proxy roles to the skin methods involved
+ (Tracker issue #160).
- - Fixed WorkflowAction.__call__ to use the correct method name
- for exception notification (Tracker issue #232).
+ - Add member count to roster display.
- - Ensure that reply's Creator propagates through preview (thanks
- to Jeff Sasmor for reporting that our fix to Tracker issue
- #206 missed the "Preview" case).
+ - Made 'review_state' workflow info publically visible.
- - Removed crufty calls to registerPortalContent.
+ - Made DiscussionItem.getReplies() and
+ DiscussionItemContainter.getReplies() show only 'published'
+ replies (allows retraction, for now).
- - Trimmed over-long item IDs in actions box (Tracker issue #
- 234; thanks to Jeff Sasmor and Steve Alexandar for the patch).
+ - Fixed WorkflowAction.__call__ to use the correct method name
+ for exception notification (Tracker issue #232).
-1.0 beta (2001/03/05)
+ - Ensure that reply's Creator propagates through preview (thanks
+ to Jeff Sasmor for reporting that our fix to Tracker issue
+ #206 missed the "Preview" case).
- * Migrated from old PTK repository on cvs.zope.org.
+ - Removed crufty calls to registerPortalContent.
- * Changed package and module names: 'PTKBase' has become
- (mostly) 'CMFCore'; 'PTKDemo', 'CMFDefault'.
+ - Trimmed over-long item IDs in actions box (Tracker issue #
+ 234; thanks to Jeff Sasmor and Steve Alexandar for the patch).
- * Added package 'CMFTopic', which provides a new content type,
- 'Topic'; topics are "logical" folders, which aggregate
- content based on catalog searches against metadata.
-
- * Revised discussion mechanism to store discussion with its
- underlying content (rather than in members' "Correspondence"
- folders).
+CMF 1.0 beta (2001/03/05)
- * Mad the membership system agnostic to the kind of user
- folder, including whether it is found in the portal or not.
+ Changes
- * "Skinned" the portal UI and all the content objects,
- enabling portal managers to replace it "piecemeal", safely.
+ - Migrated from old PTK repository on cvs.zope.org.
- * Implemented local type registration, allowing portal
- managers to configure and extend the types addable in the
- portal.
+ - Changed package and module names: 'PTKBase' has become
+ (mostly) 'CMFCore'; 'PTKDemo', 'CMFDefault'.
- * Add 'PortalFolder.allowedContentTypes' and supporting machinery
- in type info objects, to permit configuration of the content
- types addable to a given folder type.
+ - Added package 'CMFTopic', which provides a new content type,
+ 'Topic'; topics are "logical" folders, which aggregate
+ content based on catalog searches against metadata.
+
+ - Revised discussion mechanism to store discussion with its
+ underlying content (rather than in members' "Correspondence"
+ folders).
+
+ - Made the membership system agnostic to the kind of user
+ folder, including whether it is found in the portal or not.
+
+ - "Skinned" the portal UI and all the content objects,
+ enabling portal managers to replace it "piecemeal", safely.
+
+ - Implemented local type registration, allowing portal
+ managers to configure and extend the types addable in the
+ portal.
+
+ - Add 'PortalFolder.allowedContentTypes' and supporting machinery
+ in type info objects, to permit configuration of the content
+ types addable to a given folder type.
CMF 0.10alpha (2001/02/02)
- * Fixed breakage of "reply" feature introduced by new
- constructor regime (PTK Tracker #159).
+ Changes
+
+ - Fixed breakage of "reply" feature introduced by new
+ constructor regime (PTK Tracker #159).
- * Make creation of an 'acl_users' in the portal itself optional.
+ - Make creation of an 'acl_users' in the portal itself optional.
- * Add mapping of external roles (i.e., belonging to a user
- retrieved from an acquired user folder) onto "portal-specific"
- roles. For example, users from the root user folder may
- have the "Employee" role; the 'portal_membership' tool can
- map this role onto the "Member" role needed by the portal.
+ - Add mapping of external roles (i.e., belonging to a user
+ retrieved from an acquired user folder) onto "portal-specific"
+ roles. For example, users from the root user folder may
+ have the "Employee" role; the 'portal_membership' tool can
+ map this role onto the "Member" role needed by the portal.
- * Corrected HTML quoting of Document text (PTK Tracker #154).
+ - Corrected HTML quoting of Document text (PTK Tracker #154).
- * If content_url is not None and the user has their own member
- folder (as returned by 'portal_membership.getHomeUrl') then
- two new actions will show up in the user-related action box:
+ - If content_url is not None and the user has their own member
+ folder (as returned by 'portal_membership.getHomeUrl') then
+ two new actions will show up in the user-related action box:
- - "Add to Favorites", adds an item to the user's "Favorites"
- folder, which will get created underneath the user's home
- folder if not present.
+ o "Add to Favorites", adds an item to the user's "Favorites"
+ folder, which will get created underneath the user's home
+ folder if not present.
- - "My Favorites", linked to the Favorites folder (if the
- member has one).
+ o "My Favorites", linked to the Favorites folder (if the
+ member has one).
- * Add 'Favorites' content type (derived from 'Link', optimized
- for objects within the same site).
+ - Add 'Favorites' content type (derived from 'Link', optimized
+ for objects within the same site).
- * Add 'PTKBase.interfaces.Contentish', an interface describing
- non-metadata methods for all content objects.
+ - Add 'PTKBase.interfaces.Contentish', an interface describing
+ non-metadata methods for all content objects.
- * Added cool new portal icon -- thanks to Michael Bernstein!
+ - Added cool new portal icon -- thanks to Michael Bernstein!
- * Add 'simple_metadata' and 'metadata_help' methods, for easing
- "constructorish" capture of metadata. Also demos "skinning"
- object-specific DTML.
+ - Add 'simple_metadata' and 'metadata_help' methods, for easing
+ "constructorish" capture of metadata. Also demos "skinning"
+ object-specific DTML.
- * Rearranged base classes to deal with the fact that SimpleItem
- now has a _setId() method.
+ - Rearranged base classes to deal with the fact that SimpleItem
+ now has a _setId() method.
- * Added a "quick start" script for creating a new INSTANCE_HOME
- sandbox (e.g., to allow easy experimentation with new-style
- portal).
-
- * Remove "metadata" editing from most "normal" edit forms.
+ - Added a "quick start" script for creating a new INSTANCE_HOME
+ sandbox (e.g., to allow easy experimentation with new-style
+ portal).
+
+ - Remove "metadata" editing from most "normal" edit forms.
- * Tweak stylesheets to make Netscrape 4.x more happy (links on
- secondary accent areas wouldn't show).
+ - Tweak stylesheets to make Netscrape 4.x more happy (links on
+ secondary accent areas wouldn't show).
- * Enforced standard construction interface (only 'id' is
- required) on all "stock" content types.
+ - Enforced standard construction interface (only 'id' is
+ required) on all "stock" content types.
- * Added default factory registration in 'portal_types' for all
- "stock" content types.
+ - Added default factory registration in 'portal_types' for all
+ "stock" content types.
- * Add 'portal_types' tool, allowing registry of type / constructor
- information about portal content which may be created in a given
- portal instance (replaces 'Wizards' folder as type registry).
+ - Add 'portal_types' tool, allowing registry of type / constructor
+ information about portal content which may be created in a given
+ portal instance (replaces 'Wizards' folder as type registry).
- * Added the description property to those attributes shown on the
- "view" screen for a file object (PTK Tracker #153).
+ - Added the description property to those attributes shown on the
+ "view" screen for a file object (PTK Tracker #153).
- * Added credentialsChanged hook which can now work with
- CookieCrumblers.
+ - Added credentialsChanged hook which can now work with
+ CookieCrumblers.
- * Added Shane Hathaway's CookieCrumbler product, which spoofs
- HTTP Basic Auth for "don't know from cookies" user folders.
+ - Added Shane Hathaway's CookieCrumbler product, which spoofs
+ HTTP Basic Auth for "don't know from cookies" user folders.
- * Add object for mapping property lists as filesystem object (to
- support parameterized stylesheet). These objects are
- customized as normal Folders, which allows a great deal of
- flexibility.
+ - Add object for mapping property lists as filesystem object (to
+ support parameterized stylesheet). These objects are
+ customized as normal Folders, which allows a great deal of
+ flexibility.
- * Corrected 'PTKDemo.File.edit' to avoid replacing file contents
- with empty string when no file is uploaded (PTK Tracker #152).
+ - Corrected 'PTKDemo.File.edit' to avoid replacing file contents
+ with empty string when no file is uploaded (PTK Tracker #152).
- * Remove distribution-tab verisons of TTW products.
+ - Remove distribution-tab verisons of TTW products.
- * Remove derived UML model files (UML-HTML).
+ - Remove derived UML model files (UML-HTML).
- * Added the PortalGenerator class, which is a subclassable portal
- instance creator, and created a new addable meta type.
+ - Added the PortalGenerator class, which is a subclassable portal
+ instance creator, and created a new addable meta type.
- * Removed ZClass dependency from PropertiesTool.
+ - Removed ZClass dependency from PropertiesTool.
- * Corrected glitch that 'PTKDemo.PortalObject.manage_options'
- was inherited from ObjectManager rather than PortalFolder.
+ - Corrected glitch that 'PTKDemo.PortalObject.manage_options'
+ was inherited from ObjectManager rather than PortalFolder.
- * Add 'PUT_factory' to PTKBase.PortalFolder (make it replaceable,
- too!)
+ - Add 'PUT_factory' to PTKBase.PortalFolder (make it replaceable,
+ too!)
- * Register PTKDemo content class metatypes with PTKBase.PortalFolder's
- MIME-type registry.
+ - Register PTKDemo content class metatypes with PTKBase.PortalFolder's
+ MIME-type registry.
- * Unscrew PTKDemo.Document's dependence on vanished
- NullPortalResource.
+ - Unscrew PTKDemo.Document's dependence on vanished
+ NullPortalResource.
- * Clean up CSS in DemoPortal (PTK Tracker #124).
+ - Clean up CSS in DemoPortal (PTK Tracker #124).
- * Remove dependency on PythonMethod in DemoPortal (PTK Tracker #151).
+ - Remove dependency on PythonMethod in DemoPortal (PTK Tracker #151).
- * Integrated user preference for "skin" with 'portal_skins'
- options.
+ - Integrated user preference for "skin" with 'portal_skins'
+ options.
- * Added capability to filter * 'PortalFolder.content{Ids,ValuesItems}'
- based on metadata queries.
+ - Added capability to filter * 'PortalFolder.content{Ids,ValuesItems}'
+ based on metadata queries.
- * Migrated skins from 'DemoPortal/Interfaces' folders into
- filesystem skins directories.
+ - Migrated skins from 'DemoPortal/Interfaces' folders into
+ filesystem skins directories.
- * Improved integration of FSDTMLMethod and FSImage with output from
- the FSDump product.
+ - Improved integration of FSDTMLMethod and FSImage with output from
+ the FSDump product.
- * New tab for the member data tool: 'contents' displays the number
- of members stored in the member data tool and also the number
- of "orphaned" members, meaning those that do not appear in the
- underlying acl_users anymore. a button is provided to "prune"
- those orphaned members.
+ - New tab for the member data tool: 'contents' displays the number
+ of members stored in the member data tool and also the number
+ of "orphaned" members, meaning those that do not appear in the
+ underlying acl_users anymore. a button is provided to "prune"
+ those orphaned members.
- * Added methods to examine the contents of the meber data tool and to
- prune all those members who have been deleted out of the underlying
- 'acl_users'.
+ - Added methods to examine the contents of the meber data tool and to
+ prune all those members who have been deleted out of the underlying
+ 'acl_users'.
- * Fixed bug when adding the mailhost during Portal initialization.
+ - Fixed bug when adding the mailhost during Portal initialization.
- * Added the portal_memberdata tool, which can wrap any user object with
- member properties. Yeehaw! the portal no longer needs a special
- user folder!
+ - Added the portal_memberdata tool, which can wrap any user object with
+ member properties. Yeehaw! the portal no longer needs a special
+ user folder!
- * Add 'portal_skins' tool, enabling safe TTW customization of the default
- portal UI, which will be delivered as filesystem-based skin folders.
- Huge kudos to Shane Hathaway, who figured out a sane way to do this!
+ - Add 'portal_skins' tool, enabling safe TTW customization of the default
+ portal UI, which will be delivered as filesystem-based skin folders.
+ Huge kudos to Shane Hathaway, who figured out a sane way to do this!
- * Extend fix for PTK Tracker #149 to 'generic' and 'sweng' interfaces.
+ - Extend fix for PTK Tracker #149 to 'generic' and 'sweng' interfaces.
- * Append '/view' to search results in order to allow navigation
- to objects which don't use standard header/footer in their
- 'index_html', e.g., Images. (PTK Tracker Issue #149)
+ - Append '/view' to search results in order to allow navigation
+ to objects which don't use standard header/footer in their
+ 'index_html', e.g., Images. (PTK Tracker Issue #149)
- * Add meta_type to DiscussionItem (PTK Tracker Issue #150).
+ - Add meta_type to DiscussionItem (PTK Tracker Issue #150).
- * Integrate Dan Pierson's patch to show discussion threads inline
- (PTK Tracker issue #93).
+ - Integrate Dan Pierson's patch to show discussion threads inline
+ (PTK Tracker issue #93).
- * Fix PTK Tracker #145 (PTKDemo/Portal.py or MailHost broken): the
- 2000/12/08 hotfix removed the "legacy" name, 'manage_addMailHost'.
+ - Fix PTK Tracker #145 (PTKDemo/Portal.py or MailHost broken): the
+ 2000/12/08 hotfix removed the "legacy" name, 'manage_addMailHost'.
- * Fix PTK Tracker #148 ('Table rows need vertical align')
+ - Fix PTK Tracker #148 ('Table rows need vertical align')
- * Fix PTK Tracker #147 ("PTKDemo's Metadata HTML is ugly").
+ - Fix PTK Tracker #147 ("PTKDemo's Metadata HTML is ugly").
- * Fix PTK Tracker issue #136 ('CSS selection broken').
+ - Fix PTK Tracker issue #136 ('CSS selection broken').
- * Fix Tracker issue #141 ('Wizard product has broken subobjects list').
+ - Fix Tracker issue #141 ('Wizard product has broken subobjects list').
- * Remove redundant 'description' arg from constructors (PTK Tracker
- issue #142; thanks to jon at totient.demon.co.uk for reporting this).
+ - Remove redundant 'description' arg from constructors (PTK Tracker
+ issue #142; thanks to jon at totient.demon.co.uk for reporting this).
- * Enable FTP upload/creation of NewsItems
+ - Enable FTP upload/creation of NewsItems
- * Add the ability to query and set DublinCore metadata via FTP:
+ - Add the ability to query and set DublinCore metadata via FTP:
- - Updated PTKDemo.DemoDublinCore.DemoDublinCore to add a
- method, 'getMetadataHeaders()', which builds a list of
- DublinCore headers, suitable for inclusion in <meta> tags
- or in "Structured Text Headers".
+ o Updated PTKDemo.DemoDublinCore.DemoDublinCore to add a
+ method, 'getMetadataHeaders()', which builds a list of
+ DublinCore headers, suitable for inclusion in <meta> tags
+ or in "Structured Text Headers".
- - Updated PTKDemo.Document.Document to export/import the
- metadata when accessed via FTP.
+ o Updated PTKDemo.Document.Document to export/import the
+ metadata when accessed via FTP.
- * Fix PortalFolder.all_meta_types() to allow non-content.
+ - Fix PortalFolder.all_meta_types() to allow non-content.
- * Fix PortalFolder.listActions() to return a tuple, not a list
+ - Fix PortalFolder.listActions() to return a tuple, not a list
More information about the CMF-checkins
mailing list