Chemistry
  1. Chemistry
  2. CMIS-504

workbench sets document specific filters on properties while asking for children

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: OpenCMIS 0.6.0
    • Fix Version/s: None
    • Component/s: opencmis-workbench
    • Labels:
      None

      Description

      When asking for children, workbench sets filters that are document specific, like: "cmis:contentStreamLength", "cmis:contentStreamMimeType", "cmis:contentStreamFileName".

      Specification says next for filters:
      >>>>
      2.2.1.2.1 Properties

      ...
      Optional Input Parameter:

      String filter: Value indicating which properties for Objects MUST be returned. Values are:
      ...
      A comma-delimited list of property definition Query Names: The properties listed MUST be returned.
      >>>>>

      For children that are folders there are no content specific properties (like "cmis:contentStreamLength" for ex.). Workbench shouldn't set document specific properties while calling getChildren() service because those can't be returned for children of folder type.

        Activity

        Hide
        Florian Müller added a comment -

        The getChildren section (2.2.3.1) states for the filter parameter:

        "String filter: See section ‎2.2.1.2.1 Properties. The service will only return the properties in the matched object if they exist on the matched object type definition and in the filter."

        Therefore, it seems to be valid to set this filter.

        The current CMIS 1.1 draft (which admittedly isn't an approved specification, yet) clarifies this topic even further. It states in section 2.2.1.2.1 Properties:

        "Unknown query names or query names that are not defined for the object-type SHOULD be ignored. For example, if getChildren is called with a filter that contains the property cmis:contentStreamMimeType, it SHOULD return all non-document objects without this property and SHOULD NOT return an error."

        So, even if the CMIS 1.0 specification is consider unclear in this regard, for the sake of forward compatibility a repository should ignore properties that are not defined in the object-type.

        Show
        Florian Müller added a comment - The getChildren section (2.2.3.1) states for the filter parameter: "String filter: See section ‎2.2.1.2.1 Properties. The service will only return the properties in the matched object if they exist on the matched object type definition and in the filter." Therefore, it seems to be valid to set this filter. The current CMIS 1.1 draft (which admittedly isn't an approved specification, yet) clarifies this topic even further. It states in section 2.2.1.2.1 Properties: "Unknown query names or query names that are not defined for the object-type SHOULD be ignored. For example, if getChildren is called with a filter that contains the property cmis:contentStreamMimeType, it SHOULD return all non-document objects without this property and SHOULD NOT return an error." So, even if the CMIS 1.0 specification is consider unclear in this regard, for the sake of forward compatibility a repository should ignore properties that are not defined in the object-type.

          People

          • Assignee:
            Unassigned
            Reporter:
            Nikola Soljaga
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development