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 plone.app.versioningbehavior.behaviors.IVersionable
in your dexterity content type.
In your profiles/default/types/YOURTYPE.xml add the behavior:
<?xml version="1.0"?>
<object name="example.conference.presenter" meta_type="Dexterity FTI"
i18n:domain="example.conference" xmlns:i18n="http://xml.zope.org/namespaces/i18n">
<!-- enabled behaviors -->
<property name="behaviors">
<element value="plone.app.versioningbehavior.behaviors.IVersionable" />
</property>
</object>
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 versioning.
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:
<?xml version="1.0"?>
<repositorytool>
<policymap>
<type name="MyType">
<policy name="at_edit_autoversion"/>
<policy name="version_on_revert"/>
</type>
<type name="AnotherType">
<policy name="at_edit_autoversion"/>
<policy name="version_on_revert"/>
</type>
</policymap>
</repositorytool>
See http://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-4.0-to-4.1/updating-add-on-products-for-plone-4.1/use-generic-setup-for-defining-versioning-policies for more details.
For more information about how the versioning works see the documentation of Products.CMFEditions: