OData TC meeting #212 Thursday April 26, 2018

Acting chair: Mike

Chat transcript from room: odatatc
2018-04-26 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
    Ramesh Reddy (Red Hat)
    Stefan Hagen (Individual)
    Ted Jones (Red Hat)

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

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

2. Approve agenda

Agenda is approved

3. Approve minutes from previous meeting(s)

3.1 Minutes from April 19, 2018 TC meeting #211

https://www.oasis-open.org/committees/download.php/63012/odata-meeting-211_on-20180419-minutes.html

Minutes approved unchanged as published.

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

4.1 Action items due

None

5. Timeline

5.1 Compact JSON

  1. Hubert has contributed a proposal: 1.https://www.oasis-open.org/committees/document.php?document_id=62898&wg_abbrev=odata

Mike: Compact JSON Walkthrough

Hubert: I formally contribute on behalf of IBM my proposal for a Compact JSON format for OData, the document can be found at this link: https://www.oasis-open.org/committees/download.php/62898/odata-compact-json-format-v4.0.pdf

Mike: Thank you, Hubert, for the contribution.

6. Issues

6.1 V4.01: NEW or OPEN

6.1.1 ODATA-1174 - JSON CSDL should not require nullable attribute for collections

Mike: OData-1174 is open

George: I move to approve OData-1174 as proposed. Matt seconds.

Mike: ODATA-1174 is resolved as proposed.

6.1.2 ODATA-1173 - 14.4.11: Description of Null

Mike: Proposal:

The null _expression_ indicates the absence of value. 
The null _expression_ MAY be annotated. 
The null _expression_ MUST be written with element notation.

Mike: exisiting wording: "The null _expression_ returns an untyped null value"

Mike: OData-1173 is open

Mark: I move that OData-1173 be resolved as proposed. Mike seconds.

Mike: OData-1173 is resolved as proposed.

6.1.3 ODATA-1171 - Consider using matrix parameters for filter segments

Mike: Current syntax:Customers/$filter=@q/myns.action?$@q=Age gt 18

Using matrix parameters: Customers;$filter=@q/myns.action?$@q=Age gt 18
1) Do we need the generalization of having a $filter segment anywhere in the URL?
(or can we simplify how we express this)
2) As George points out, putting the $filter goes against the spirit of hypermedia-driven

Mark: could support filter at multiple segments, but not a pressing need.

George: would like to know IETF's current thinking on matrix parameters

Mike:

If we could add a query option like $preFilter, defined to apply to the input to the last segment, then we wouldn't have to mess with the url.
It wouldn't allow filtering arbitrary segments, but would address the primary use cases that drove the scenario.
So, for example, PATCH Customers/$each?$prefilter=daysSinceLastOrder gt 365

Mike: ODATA-1171 carried over for further discussion

6.1.4 ODATA-1175 - Capabilities: allow UpdateRestrictions also for singletons

Mike: Link to UpdateRestrictions: https://github.com/oasis-tcs/odata-vocabularies/blob/master/vocabularies/Org.OData.Capabilities.V1.xml#L507

<Term Name="UpdateRestrictions" Type="Capabilities.UpdateRestrictionsType" AppliesTo="EntitySet">
  <Annotation Term="Core.Description" String="Restrictions on update operations" />
</Term>
<ComplexType Name="UpdateRestrictionsType">
  <Property Name="Updatable" Type="Edm.Boolean" DefaultValue="true">
    <Annotation Term="Core.Description" String="Entities can be updated" />
  </Property>
  <Property Name="NonUpdatableNavigationProperties" Type="Collection(Edm.NavigationPropertyPath)" Nullable="false">
    <Annotation Term="Core.Description" String="These navigation properties do not allow rebinding" />
  </Property>
  <Property Name="MaxLevels" Type="Edm.Int32" DefaultValue="-1">
    <Annotation Term="Core.Description"
      String="The maximum number of navigation properties that can be traversed when addressing the collection or entity to update. A value of -1 indicates there is no restriction." />
  </Property>
</ComplexType>

Mike: ODATA-1175 is open

George: I move to approve ODATA-1175 as proposed. Mark seconds.

Mike: ODATA-1175 is resolved as proposed.

7. Next meetings

Thursday May 03, 2018 during 8-10 am PDT (17:00-19:00 CEST)
Thursday May 10, 2018 during 8-10 am PDT (17:00-19:00 CEST)

8. AOB and wrap up

None.

Meeting adjourned by chair.