Automated versioning
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.
Collaborative versioning scheme
If the user that updates a document is different than last user that did an update on the document, then create a version.
Time based versioning scheme
If not versioned since … create a version. We may want to activate this for a given type only
Lifecycle based versioning
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.
Sample contribution
Contributions to new versioning system could be something like:
<extension target="org.nuxeo.ecm.platform.versioning.NewVersioningService" point="policies"> <policy id="CollaborativeForInvoices" order="1" increment="MAJOR"> <filter-id>CollaborativeForInvoices</filter-id> <filter-id>NotAdmin</filter-id> </policy> <policy id="CollaborativeForInvoices-2" order="2" increment="MINOR"> <filter-id>CollaborativeForInvoices</filter-id> </policy> </extension> <extension target="org.nuxeo.ecm.platform.versioning.NewVersioningService" point="filters"> <filter id="CollaborativeForInvoices"> <type>File</type> <condition>Doc['dc:lastContibutor']!=currentUser.name</condition> </filter> <filter id="NotAdmin"> <condition>!currentUser.admin</condition> </filter> <filter id="Empty"> <type></type> <facet></facet> <schema></schema> <condition></condition> </filter> </extension>
Manual Versioning
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
- duplicates
-
NXP-20100 Versioning Policy Improvements
- Resolved
-
NXP-17420 Review Versioning policies in the Nuxeo Platform
- Resolved
-
NXP-19666 Streamline Versionning Behaviour
- Resolved
- is related to
-
NXDRIVE-783 Fix test_remote_rename_file systematically failing
- Resolved
-
NXP-21941 Always exclude versions when querying for Drive synchronization roots
- Resolved
- is required by
-
NXDRIVE-773 Adapt versioning test to the new versioning system
- Resolved
- mentioned in
-
Page Loading...