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