In the Dexterity Content Types control panel, check the box for Versioning on the behaviors tab on any content type that does not already have it checked (custom types or default types like Collection).
I expect versioning would be enabled
Versioning was not enabled, the content items do not have a 'Check Out' option
Plone 5.0.7, 5.1b3
I found that the content types are not getting added to the VersionableContentTypes in CMFEditions. I wrote an upgrade step to add them manually:
import transaction
from plone import api
pr = api.portal.get_tool('portal_repository')
version_types = pr.getVersionableContentTypes()
pr.setVersionableContentTypes(version_types + ['custom_type'])
transaction.commit()
In addition to this, the Locking behavior also needs to be enabled.
afaik the "plone.versioning" behavior does that
So, this is all about missing documentation?
Actually, this is already documented in in plone.app.versioningbehavior itself, but with a wrong link:
You have to set the "versioning" option in the Plone types control panel (/@@types-controlpanel) to either "Manual" or "Automatic" for activating versioning.
In Plone 5, this url is now called @@content-controlpanel instead of @@types-controlpanel.
Don't know the implications, but I would redirect @@types-controlpanel to @@content-controlpanel in Plone 5 if possible.
Second: although this is already documented, I think we have an usability problem here. IMHO, something similar should be the corrected label of this behavior:
Versioning support with CMFEditions. ATTENTION: this just adds versioning support to your content type, but it does not enable it. Please check the documentation of plone.app.versioningbehavior since you may need help from an integrator to fully enable it.
It's saying "help from an integrator" because not only going to @@content-controlpanel is needed but a configuration in portal_diff using the ZMI (or a profile creation) is needed as well. (FYI, this is already documented as well in https://pypi.org/project/Products.CMFDiffTool/)
...or you can change the message from "help from an integrator" and just directly say:
Versioning support with CMFEditions. ATTENTION: this just adds versioning support to your content type, but it does not enable it. You still need to enable versioning for the type in the types/content control panel and go to the portal_diff tool ZMI page and add "Compound Diff for Dexterity types" for your content type. Field name can be anything, e.g: “any”.
Since the role needed to view the Dexterity Type Control Panel is already Manager.
I know this solution is no perfect but it's less painful. It would have saved me a good amount of work that was spent to understand all of this and post this suggestion here. In fact, to me this should be the default to all behaviors that need additional configuration.
Another thing: the only place that indicates the difference in "Manual" to "Automatic" versioning is in the behavior label itself:
If versioning is manual, you must set a change note to create the new version.
This information should be stated in /@@content-controlpanel, not only in the behavior field.
Most helpful comment
Another thing: the only place that indicates the difference in "Manual" to "Automatic" versioning is in the behavior label itself:
https://github.com/plone/plone.app.versioningbehavior/blob/1.3.3/plone/app/versioningbehavior/behaviors.py#L32
This information should be stated in
/@@content-controlpanel, not only in the behavior field.