The keys of the maps returned by a Browser Binding query should be the query names/aliases

    • Type: Bug
    • Resolution: Applied
    • Priority: Major
    • None
    • Affects Version/s: V1.1
    • Component/s: Browser Binding
    • None
    • Hide

      Queries should return this structure:

      object {
      id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryResultList";
      array

      { ref "http://docs.oasis-open.org/ns/cmis/browser/201103/queryResult" }

      objects;
      boolean hasMoreItems?;
      integer numItems?;
      }*;

      object {
      id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryResult";
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/properties" properties?;
      ref "http://docs.oasis-open.org/ns/cmis/browser/201103/allowableActions" allowableActions?;
      array

      { ref "http://docs.oasis-open.org/ns/cmis/browser/201103/object" }

      relationships?;
      array

      { ref "http://docs.oasis-open.org/ns/cmis/browser/201103/rendition" }

      renditions?;
      }*;

      object {
      id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryProperties";
      map

      { string => ref "http://docs.oasis-open.org/ns/cmis/browser/201103/queryProperty"; }

      ;
      }*;

      object {
      id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryProperty";
      string propertyDefinitionId?;
      string type;
      string localName?;
      string displayName?;
      string queryName;
      union {
      null;
      boolean;
      string;
      integer;
      number;
      array

      { boolean; string; integer; number; }

      } value;
      }*;

      Show
      Queries should return this structure: object { id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryResultList"; array { ref "http://docs.oasis-open.org/ns/cmis/browser/201103/queryResult" } objects; boolean hasMoreItems?; integer numItems?; }*; object { id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryResult"; ref "http://docs.oasis-open.org/ns/cmis/browser/201103/properties" properties?; ref "http://docs.oasis-open.org/ns/cmis/browser/201103/allowableActions" allowableActions?; array { ref "http://docs.oasis-open.org/ns/cmis/browser/201103/object" } relationships?; array { ref "http://docs.oasis-open.org/ns/cmis/browser/201103/rendition" } renditions?; }*; object { id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryProperties"; map { string => ref "http://docs.oasis-open.org/ns/cmis/browser/201103/queryProperty"; } ; }*; object { id "http://docs.oasis-open.org/ns/cmis/browser/201103/queryProperty"; string propertyDefinitionId?; string type; string localName?; string displayName?; string queryName; union { null; boolean; string; integer; number; array { boolean; string; integer; number; } } value; }*;

      A Browser Binding query returns a list of maps. Each map represents a row in the result set.
      In the current draft, the keys of these maps are the property ids. I reckon, clients want to access the property values by query name or alias rather than by property id. So, the keys should be the query names or aliases.
      It also lets the client deal with overlapping property ids in JOIN queries.

            Assignee:
            Florian Müller (Inactive)
            Reporter:
            Florian Müller (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: