Wrong (CMIS) version status after simply importing a document file?
I wonder about the version status (CMIS nuxeo:isCheckedIn) after I uploaded a file via the web interface. isCheckedIn is FALSE, which prevents a CMIS user to check out the requested document subsequently. Currently the CMIS user must first check in the 'checked out document' to get around.
By default, documents created via the Nuxeo Web UI are not yet archived and therefore not yet formally versioned. They are considered initial “Working Copies” in this state and are displayed in the UI with “version” 0.0. This is similar to CMIS document creation with a versioning state of NONE.
In Nuxeo, you must select the the “Edit” tab for the document, select “Increment version” radio button, and then Save in order to version the document. See Nuxeo Versioning for more information.
Once NXP-8965 is resolved, it would seem useful to include the versioning widget on the create form in addition to the edit form. Then a Nuxeo Web user could version the document as part of document creation just like CMIS.
1.) I can well imagine that someone forgets to perform the proposed version jump in order to release the document for CMIS users. Thereafter, no CMIS users can checkout the document (conflict, constraint exception). 2.) If the web ui user drag'n drops a file (which triggers a document creation), than a versioning widget on the create form is not sufficient to avoid additional versioning of the document.
So, for me it is not really clear, why the imported document is initially a working copy.
If you want to ensure documents created via drag'n drop in Nuxeo are versioned, I suspect you could plugin a custom VersioningService implementation to achieve that behavior. From my perspective, the default Nuxeo versioning behavior seems reasonable despite the fact it differs from the default CMIS behavior.
If you only think in terms of file uploads then yes it makes sense to version things as soon as the document is created. We'll probably implement this in the future, but the reason for this existing behavior is as I state above.