Uploaded image for project: 'Chemistry (Retired)'
  1. Chemistry (Retired)
  2. CMIS-869

DefaultDocumentTypeHandler: createDocument: Wrong implementation of CMIS 1.0 specification

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • OpenCMIS 0.11.0
    • None
    • opencmis-server-jcr
    • None

    Description

      The CMIS 1.0 specification says:

      2.2.4.1 createDocument > 2.2.4.1.1 Inputs: Enum versioningState is optional. The default is "major".

      When creating a new versionable document using the DefaultDocumentTypeHandler the created JCR node is in state isCheckedOut = true (see JCR 2.0 15.1 Creating a Versionable Node). At the end of the createDocument method getJcrNode is called. If versioningState is set to "major" or "minor", the node is checked in. If no versioningState is given, the private working copy is returned by getJcrNode:

      if (versioningState == VersioningState.MINOR || versioningState == VersioningState.MAJOR) {
          return jcrVersion.checkin(null, null, "auto checkin");
      } else {
          return jcrVersion.getPwc();
      }
      

      Returning the private working copy is (according to the CMIS spec) only allowed if versioningState is set to "checkedout".

      Instead of using "major" as default for versioningState, "checkedout" is the default if versioningState parameter is omitted by the client.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jkraushaar Jochen Kraushaar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: