skip to navigation
skip to content 1.1.3

Provides a behavior for using CMFEditions with dexterity content types

Latest Version: 1.3.2


The ``IVersionable`` behavior is used for enabling the CMFEditions functionality
for dexterity contents. It adds a changeNote-field to the edit- and add-forms and
creates a new version when the content is edited, if enabled for the content type.

It's based on *Products.CMFEditions*. For listing the versions of an object use
CMFEdtions' view ``versions_history_form`` or the history viewlet (see default @@view).


Just use the behavior ```` in
your dexterity content type.

In your *profiles/default/types/YOURTYPE.xml* add the behavior::

<object name="example.conference.presenter" meta_type="Dexterity FTI" <br=""> i18n:domain="example.conference" xmlns:i18n="">

<property name="behaviors">
<element value=""/>


The IVersionable behavior just adds versioning support to your content type,
but it does not enable it.

You have to set the "versioning" option in the Plone types control panel
(/@@types-controlpanel) to either "Manual" or "Automatic" for activating

If you want to automatically enable versioning for your custom content types
through generic setup you have to create a file "repositorytool.xml" in your
gs profile (e.g. "profiles/default") with the following content::

<type name="MyType">
<policy name="at_edit_autoversion"/>
<policy name="version_on_revert"/>
<type name="AnotherType">
<policy name="at_edit_autoversion"/>
<policy name="version_on_revert"/>

See for more details.

More Information

For more information about how the versioning works see the documentations of



1.1.3 (2014-02-26)

- Include *.rst files in the release. 1.1.2 was a brown bag release.

1.1.2 (2014-02-26)

- Remove plone.directives.form dependency since this fetches five.grok, which
is not allowed in Plone core.

1.1.1 (2013-07-19)

- Merge Rafael Oliveira's (@rafaelbco) versions_history_form fixes
from collective.cmfeditionsdexteritycompat.

- danish translation added [tmog]

- Fixed an issue where a clone modifier would cause an incorrect
pickle due to an implementation detail in CPython's memory
allocation routine (exposed in Python as the object ``id``).

- Include grok when grok package is installed.
This makes sure the ZCML for the `grok` directive is loaded.

- For dexterity 1.x compatibility grok the package if grok is installed.

- Added Dutch translations.

- Fix case where versioning of blobs would cause an error if a
field was removed from a schema between revisions.

1.1 (2012-02-20)

- Added French translations.

- Fixed SkipRelations modifier to also work with behaviors which are storing
relations in attributes.

- Added Spanish translation.

1.0 (2011-11-17)

- Added pt_BR translation.
[rafaelbco, davisagli]

- Added support for versioning items with relations (
Relations are skipped on clone and added from the working copy on restore.

1.0b7 (2011-10-03)

* Fixed a bug in the CloneNamedFileBlobs modifier causing an AttributeError
when the previous version doesn't have a blob and the working copy has one.

1.0b6 (2011-09-25)

* Add missing dependency declaration on plone.namedfile[blobs].

1.0b5 (2011-09-01)

* Fixed setuphandler to not fail with older versions of Products.CMFEditions
that do not have a Skip_z3c_blobfile modifier.

* Fixed CloneNamedFileBlobs modifier to handle fields with value ``None``.

1.0b4 (2011-08-11)

* Added generic setup profile which installs and enables the modifier for
cloning blobs and disables the Skip_z3c_blobfile modifier.

* Added support for versioning blobs (NamedBlobFile, NamedBlobImage).

1.0b3 (2011-03-01)

* Remove grok usage, tidy up and declare dependency.

* Only version the modified object, not its container on modification.

1.0b2 (2011-01-25)

* Changed the behavior so that the changeNote field is only
rendered in the Add and Edit forms.

* Made sure to always try to catch the ArchivistUnregisteredError
exception at create_version_on_save (this mimics the original
handling from CMFEditions).

1.0b1 (2010-11-04)

* Renamed package to ``.

* Load Products.CMFEditions before testing.

* Added some more tests.

* Renamed package to plone.versioningbehavior (see dexterity mailing list).

* Re-enabled IObjectAddedEvent-Eventhandler. The pickling error was fixed in
CMFEdition's trunk.

* Renamed the behavior marker interface IVersionOnSave to IVersioningSupport
because it depends on the "version" settings in the types control panel if
a content is automatically versioning on saving or not. The marker interface
should only indicate if the type could be versioned or not.

* Added locales directory with own domain for local translations.

* Updated README.txt, included doctests in long-description.

* Updated tests: events and version creation are now tested properly.

* Added helper method for getting the changenote from the request annotation.

* Storing changenote in an annotation on the request between the field-adapter
and the event handler which creates the version. That makes it possible to
use different form and widget manager prefixes.

* Added localization for the comment field.

* Disabled the Added-Event because it's not working due to a pickling problem.

* Added a form-field changeNote. It's content is used as comment for the
created version.

* Added a Event-Handler for creating a new version on save.

* Implemented the behavior plone.behaviors.versioning.behaviors.IVersionable.
File Type Py Version Uploaded on Size (md5) Source 2014-02-26 50KB