CMFEditions 1.0alpha3 (Unreleased) (Jun 03, 2006)
This is not a final release. Experimental releases should only be used for testing and development. Do not use these on production sites, and make sure you have proper backups before installing.
This release is intended to lower upgrading risks for production systems based on trunk head till svn revision 24318 of 2006-06-03. (Deprecated)
For additional information about this project, please visit the overview page .
Available downloads
Release Notes
| Tested with | Plone 2.1.2 |
|---|---|
| State | Unreleased |
| License | GPL |
| Release Manager | Grégoire Weber |
| Expected Release | 2006/06/03 |
Release Target Group
The alpha3 shall give people using the trunk in production systems a well defined upgrade path to the upcoming CMFEditions 1.0beta1. If you don't belong to this group of people you shall wait for the upcoming CMFEditions 1.0beta1 release!
If you immediately need a working versioning solution or want to evaluate CMFEditions you may use this release.
In CMFEditions 1.0beta1 some internals of the version storage will change and causing some migrations to take place. It's planed to support migrations from 1.0alpha3 to 1.0beta1 but not from the trunk of earlier svn revisions than 24318 to 1.0beta1 directly.
Credits: alecm, azy, duncanb, gotcha, gpgi, gregweb, rafrombrc, rlemmi, stonor, syt, vds
(Please file me your name and login name if I forgot you.)
Change log
Bugs fixed
- Fixed tracker issue #15 [alecm, gregweb]
- When previewing a version the expandable history link is removed as this
doesn't make sense at all and caused double fetching of history items.
[gregweb]
- Use the default view of the retrieved object, as it may be different from
that of the current object. [alecm]
- The expandable version link is only shown for users having the permission
to view the history. [rafrombrc]
- Added RetainATRefs modifier [vds]
- Fixed broken ``isUpToDate`` [gregweb]
- ``version_id`` wasn't correctly set at the working copy at save time.
Because of this it may happen that the wrong version info was saved
with the version aware reference. The version_id is now set at the end
of the save operation. [alecm, gregweb]
- Handle usecase where an inside reference is moved outside its container.
Still need to handle case where it has been replaced by another object
with the same id. [alecm]
- Changed API for Archivist methods and the dereference utility method so
that they now accept an optional history_id, rather than implicitly
allowing the 'obj' parameter to be a history_id. As side effect this
will help in supporting multi location checkout in the future.
[alecm, gregweb]
- Fixed various UI issues. [rlemmi, vds, alecm]
- Fixed SF issue #1376836. [alecm]
- restored at's extra_buttons slot (some others slots are still missing
because of this template override) [syt]
- Totally refactored recursive retrieve of an ancient version of an object.
Fixed a lot of folderish bugs with this refactoring. [gregweb]
- Corrected a hairy acquisition bug that caused wrong security evaluations
(ArchivistTool.py). Acquisition is a monster feature! [gregweb]
- The storage now returns obj.modified() instead of
obj.getModificationDate() because it's more fine graned. [gregweb]
- Added ReferenceFactoriesTool.py which in essence knows how to
instatiate a reference. The current implementation is inflexible and
knows only how to instantiate object into an ObjectManager. This
is the first step in preparation for AT reference handling. [gregweb]
- Fixed tracker issue #16 RuntimeError: maximum recursion depth exceeded.
I (gregweb) suspect it got fixed by: [alecm]
- Fixed identical tracker issues #5, #6, #7, #8. I (gregweb) suspect it got
fixed by: [alecm]
- Added modifier to copy permissions from working copy onto retrieved
versions, otherwise retaining workflow can have some very strange
consequences. [alecm]
- Fixed a number of bugs involving handling of adding and deleting subobjects
of versioned folders.
[alecm]
- Fixed a permissions bug which made the versions_history_form inaccessible if
any of the versions were saved while private (or otherwise had
'Access contents information' disabled).
[alecm]
- Made quickinstalled product reinstall/uninstall work without issue. Fixed
unit tests for Plone 2.1. Use mutators in templates and tests where
applicable rather than direct attribute access. Was Issue #9, #10 and #11.
Thanks to Andrew Lewis for the patches and reports. [Andrew Lewis, alecm]
- Corrected bugs in ``RetainWorkflowStateAndHistory`` modifier and the
modifier registry avoiding the review state and the workflow history
from beeing retained on retrieve and revert.
Features added
- Added danish translation. [stonor]
- Retrieving an object just for preview (without replacing the working copy)
caused a lot of headaches and got more and more complex und ununderstandable.
Everything got much simpler by just using a savepoint/abort pair at the right
place while retrieving. [alecm]
- I18N tuned (diff-legend untested), french added
[Gpgi, gotcha]
- Added more tests to improve coverage. [azy, vds, alecm]
- Added support for ATCT (Archetypes Content Types). [azy]
- Added ZMI interface for modifiers. [rlemmi]
- It's now possible to save a new version in the edit view. As soon as a
version sahll be saved a comment field is inserted to add a comment.
[rlemmi]
- Added expandable version history to document_byline. [rlemmi]
- Made the ModifierRegistryTool make use of any preserve dict passed back to
it by afterRetrieveModifiers.
[alecm]
- Added optional CMFDiffTool support for generating diffs between object
versions. For this to work you need to setup the diffable fields on each
type in portal_diff. In the 'alecm-at-schema-diffs' branch of CMFDiffTool
there is a diff type that can be applied to any AT object which will
automatically setup diffs for all fields in the schema (when using this
any value can be entered for the field in portal_diff).
[alecm]
- Added a versioning policy (at_edit_autoversion) which automatically creates
new versions on edit for AT types which are configured to support the policy
in the configlet. This is implemented using a simple macro override on
AT's edit_macros, and a new entry in the AT edit form controller chain.
[alecm]
- Added new interface IContentTypeVersionPolicySupport and implemented it in
portal_repository. It allows products to register versioning policies
(classes which implement IVersionPolicy), and to associate those policies
with specific portal types. IVersionPolicy objects may define methods
(setupPolicyHook, removePolicyHook, enablePolicyOnTypeHook,
disablePolicyOnTypeHook) which can be used to install/uninstall policy
specific behavior in the portal, on adding/removing the policy, or enabling/
disabling the policy on a specific type.
[alecm]


