OData TC meeting #227 Thursday August 30, 2018

Acting chair: Ralf

Chat transcript from room: odatatc
2018-08-30 0800-1000 PDT

1. Roll call

1.1 Members present

    George Ericson (Dell)
    Gerald Krause (SAP SE)
    Hubert Heijkers (IBM)
    Mark Biamonte (Progress Software)
    Matthew Borges (SAP SE) a.k.a. Matt
    Michael Pizzo (Microsoft) a.k.a. Mike
    Ralf Handl (SAP SE)
    Ramesh Reddy (Red Hat)
    Stefan Hagen (Individual)
    Ted Jones (Red Hat)

Quorum achieved. Details cf. normative attendance sheet for this meeting (event_id=46271).

Notes taken by all and subsequently edited for readability by Stefan.

2. Approve agenda

Ralf: Add to 5.d:

https://issues.oasis-open.org/browse/ODATA-1163 - case function

Ralf: No further changes, agenda is approved

3. Approve minutes from previous meeting(s)

3.1 Minutes from August 23, 2018 TC meeting #226

URL = https://www.oasis-open.org/committees/download.php/63841/odata-meeting-226_on-20180823-minutes.html

Minutes approved unchanged as published

4. Review action items [Link to Action item list]

4.1 Action items due

None.

4.2 Action items upcoming

4.2.1 #0037 Concept for Google Protocol Buffers as a data format Hubert Heijkers 2018-09-27

Nothing noted

4.3 Action items pending

4.3.1 #0036 Register the OData- headers and preferences with IANA Mark Biamonte 2018-07-26

Mark: Chet Ensign submitted the registration documents yesterday

Mark will register on the IANA mailing list to keep us updated

5. Issues

5.1 APPLIED

5.1.1 ODATA-1176 - Capabilities: add new term SelectRestrictions

Ralf: https://github.com/oasis-tcs/odata-vocabularies/pull/14

Ralf: Three changed files: https://github.com/oasis-tcs/odata-vocabularies/pull/14/files

Ralf:

<Term Name="SelectSupported" Type="Core.Tag" Nullable="false" DefaultValue="true" AppliesTo="EntitySet Singleton">
  <Annotation Term="Core.Description" String="Supports $select" />
</Term>

Hubert: how to express that a complex or navigation property does not support $select

Hubert: I move to reject the current application of this issue. Mark seconds.

Ralf: No objections, application is rejected

Hubert: I move to reject the current proposal. Mark seconds.

Ralf: No objection, ODATA-1176 is OPEN again

Hubert: I propose to also add SelectSupported to the CollectionPropertyRestrictionsType and NavigationPropertyRestriction in our capabilities vocabulary

Hubert: I move to resolve ODATA-1176 as per the amended proposal. Mike seconds.

Ralf: ODATA-1176 is RESOLVED with the amended proposal

Ralf:

@NavigationRestrictions: {
RestrictedProperties:[
  {
     NavigationProperty: Customers,
     TopSupported:false
  }
]}

Ralf:

Need some "global" flag "CanDoSelectWithNestedQueryOptions" applicable to entity container
Probably also to entity set and singleton
Defer to F2F and discuss in context of ODATA-1005 - capabilities for all new V4.01 functionality

George: Placeholder for discussion on how to facilitate conversations between this committee and external organizations like DMTF Redfish. Perhaps an alliance relationship.

5.1.2 ODATA-1167 - Add way to specify which batch formats (if any) are supported by a service

Ralf: Add a SupportedFormats property to the BatchSupportType:

<Property Name="SupportedFormats" Type="Collection(Edm.String)" Nullable="false">
  <Annotation Term="Core.Description" String="Media types of supported formats for $batch" />
  <Annotation Term="Core.IsMediaType" />
  <Annotation Term="Validation.AllowedValues">
    <Collection>
      <Record>
        <PropertyValue Property="Value" String="multipart/mixed" />
        <Annotation Term="Core.Description"
          String="Multipart Batch Format, see http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_MultipartBatchFormat" />
      </Record>
      <Record>
        <PropertyValue Property="Value" String="application/json" />
        <Annotation Term="Core.Description"
          String="JSON Batch Format, see http://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#sec_BatchRequestsandResponses" />
      </Record>
    </Collection>
  </Annotation>
</Property>

Ralf: https://github.com/oasis-tcs/odata-vocabularies/pull/17/files

Hubert: I move to resolve ODATA-1167 as proposed.

Hubert: I move to close ODATA-1167 as applied. Mike seconds.

Ralf: ODATA-1167 is CLOSED as applied

5.2 Data Aggregation: NEW or OPEN

5.2.1 ODATA-1207 - Clarify need for @odata.id in nested response structures

Mike:

Propose: in OData 4.01, say that the absence of an @id and key properties means that the returned entity cannot be read, updated, or compared to other entities.
That would mean that, for the JSON minimal metadata, if you didn't select the key properties you might not be able to update (but in another format, 
or full metadata, you might be able to update).  We would have to make a general rule that, if you apply a select, you must include the key 
properties if you want to update.  This would be a bit of a step backward for 4.01.
I'm okay with omitting the id in a 4.01 aggregation response, since that was never updatable anyway.  Just concerned about relaxing for general case.
We *can* make the general statement that an entity that does not have an id cannot be reread, updated, or compared (or key properties in minimal).

Mike: defer to F2F

6. Next meetings

Agreed next meetings:

Thursday September 06, 2018 during 8-10 am PDT (17:00-19:00 CEST)
Thursday September 13, 2018 during 8-10 am PDT (17:00-19:00 CEST)
Thursday September 20, 2018 during 8-10 am PDT (17:00-19:00 CEST)

George can't make next week

Hubert can't make September 20

George: may not be able to attend on September 06

7. AOB and wrap up

Meeting adjourned by chair.