Chemistry
  1. Chemistry
  2. CMIS-529

Allow simultaneous/atomic update of both document properties+content without PWC requirement.

    Details

    • Type: Wish Wish
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: OpenCMIS 0.7.0
    • Fix Version/s: None
    • Component/s: opencmis-client
    • Labels:
      None

      Description

      There exists a method Document.checkIn(boolean major, Map<String, ?> properties, ContentStream contentStream, String checkinComment); which is used to simultaneously update both the properties and content for the private working copy. Very handy.

      However, if one is not modifying a private working copy, then they must perform two separate method calls: CmisObject.updateProperties(Map<String, ?> properties, boolean refresh); and Document.setContentStream(ContentStream contentStream, boolean overwrite, boolean refresh);

      If a CMS implementation performs automatic version incrementing upon modifications, this will then result in two version increments, instead of only one when using a private working copy. That is less than ideal.

      It would be nice if the CMIS protocol had an atomic operation for this, and if anyone from the Chemistry project is in contact with the CMIS working group, it would make a nice feature for CMIS 1.1 (I can't file this enhancement request in the OASIS JIRA, as it isn't really public)

      With the hope that such a protocol feature might be added in the future, or even without such support, it could still be a nice feature for the OpenCMIS client API to provide programmers an easy way to combine those two method calls into one, perhaps by adding a method like:

      ObjectId Document.update(Map<String, ?> properties, ContentStream contentStream, boolean overwrite, boolean refresh);

      Thanks.

        Activity

        Hide
        Florian Müller added a comment -

        OpenCMIS reflects the CMIS spec here. As long as the spec and the repositories don't support an atomic operation, it's impossible for OpenCMIS to genuinely implement it. We could add it as a convenience method but it wouldn't solve your problem.

        The CMIS TC is open for suggestions from everyone. Just send your request to cmis-comment@lists.oasis-open.org .

        Show
        Florian Müller added a comment - OpenCMIS reflects the CMIS spec here. As long as the spec and the repositories don't support an atomic operation, it's impossible for OpenCMIS to genuinely implement it. We could add it as a convenience method but it wouldn't solve your problem. The CMIS TC is open for suggestions from everyone. Just send your request to cmis-comment@lists.oasis-open.org .
        Chris Hubick created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            Chris Hubick
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development