Nuxeo Platform should make it easy to configure for the global repository versioning policies (several one can be enabled for a given document type). All policies should be contributed with a filter that leverages doc properties and user ones.
If the user that updates a document is different than last user that did an update on the document, then create a version.
If not versioned since … create a version. We may want to activate this for a given type only
If the document goes into that specific lifecycle state, we should force the creation of a version.
Technically, the contributed rules should be evaluated to see if some applies to the current document that is being modified to check what we should do in terms of versioning.
Contributions to new versioning system could be something like:
Via form versioning selector, via REST API Header. When creating or updating a document, we can select create a major or minor version. *The version that is created already has the modification*. The document should not be checked out right after that. This should be usable: on the bulk edit, bulk create, create, edit, csv import, spreadsheet modules.
For manual versioning, current option allows to control per document type what options are available (minor , major, none). In case of bulk versioning, this doesn’t make sense, except if do enforce the logic at lower level (because then we could generate an exception). So either we remove this feature, or we enforce it a little bit more at lower level.
It looks also that some customers are interested by the "Once versioned, always versioned (either minor or major)” policy. To Be Defined how it works