OData TC meeting #94 Thursday Mar 26, 2015

Acting chair: Ralf

Chat transcript from room: odatatc
2015-03-26 0800-1000 PDT

1. Roll call

1.1 Members present

        Gerald Krause (SAP AG)
        Ken Baclawski (Northeastern University)
        Mark Biamonte (Progress Software)
        Martin Zurmuehl (SAP AG)
        Matthew Borges (SAP AG) a.k.a. Matt
        Michael Pizzo (Microsoft) a.k.a. Mike
        Ralf Handl (SAP AG)
        Ramesh Reddy (Red Hat)
        Stefan Hagen (Individual)
        Susan Malaika (IBM)
        Ted Jones (Red Hat)

Quorum achieved. Details cf. normative attendance sheet for this meeting.

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

2. Approve agenda

Agenda approved as published.

3. Approve minutes from previous meeting(s)

3.1 Minutes from March 19, 2015 TC meeting:

Meeting#93 on 2015-MAR-19

Minutes approved unchanged as published

4. Review action items

URL=Action item list at https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php

4.1 Action items due by March 26, 2015

4.1.1 Follow up with JSON-Schema on use for modeling

Ralf: Meeting with JSON / JSON Schema experts at Microsoft. Talked through several of our issues
Two approaches discussed:
1: add OData/modeling semantics to JSON Schema, as a standard or an extension
2: use OData/modeling-specific JSON format that can be transformed into JSON Schema

Inheritance most problematic/controversial
Swagger uses #2: specialized JSON format whose structure is described by JSON Schema
Some suggestions on improving our draft JSON Schema representation of CSDL
Nullability can in some cases be expressed more compact
Enums problematic
#2 is similar to what we do with XML
Have specific format described by XSD

Ralf to send examples of "our" JSON Schema to Susan for validation tests

5. Process issues (for V4.0_ERRATA03 in New or Open state)

5.1 OData Protocol

5.1.1 ODATA-479 "Allow Content-ID referencing in request bodies for inserting links to newly created entities"

Ralf: Services allowing $<content-id value> syntax in request bodies for inserting links SHOULD advertise this with the new term BatchContentIdReferencingInRequestBodiesSupported in the Capabilities vocabulary:

    <Term Name="BatchContentIdReferencingInRequestBodiesSupported" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer"> 
         <Annotation Term="Core.Description" String="Service supports Content-ID referencing in request bodies" />

Ralf: Term name is rather long

Mike: I move we resolve ODATA-479 as proposed, including giving clear guidance to V4 clients that this is a new pattern and that they should check capabilities before assuming service support. Martin seconds.

ODATA-479 is resolved as proposed

5.1.2 ODATA-790 "Bug in example 70"

Ralf: change example 70 to:

 <Function Name="MostRecentOrder" IsBound="true"> 
   <Parameter Name="customer" Type="SampleModel.Customer" />
   <ReturnType="SampleModel.Order" /> 

Ralf: Current text uses attribute notation for ReturnType, which is no longer supported


Martin: I move to resolve ODATA-790 as proposed. Mike seconds.

ODATA-790 is resolved as proposed

5.1.3 ODATA-791 " System Query Option $orderby: specify order of Edm.Boolean and Edm.Geo"

Ralf: Edm.Boolean: null < false < true

Edm.Geo*, Edm.Stream: no sorting possible

Ramesh: In SQL it is explicit http://docs.oracle.com/javadb/

All: check with programming languages whether any of them have a problem with false < true, add comment to Jira issue for those languages

ODATA-791: Deferred to next meeting

5.1.4 ODATA-794 " Create Related Entities When Creating an Entity"

Ralf: Do not partially restate the 201/204 rule from section 11.4.2 and shorten paragraph 3 to:

On success, the service MUST create all entities and relate them. If the service responds with 201 Created, the response MUST be expanded to at least the level that was present in the deep-insert request.


Ralf: On success, the service MUST create all entities and relate them. If the request included a return Prefer header with a value of return=representation and is applied by the service, the response MUST be expanded to at least the level that was present in the deep-insert request.

Mike: I move we resolve ODATA-794 as proposed. Mark seconds.

ODATA-794 is resolved as proposed

5.1.5 ODATA-800 "Media streams section does not reference the AtomPub spec"

Ralf: ODATA-800 is OPEN

All: if you have use cases for the slug header, please add them to the Jira issue

Deferred until Jira issue contains a proposal

5.2 OData Vocabularies

5.2.1 ODATA-779 "Org.OData.Core.V1 defines Term IsURL but references it as IsUrl"

Ralf: ODATA-779 is OPEN

Ralf: Fix the reference to refer to "Core.IsURL".

Martin: I propose to resolve ODATA-779 as proposed. Mark seconds.

Mike: With direction to the editors to ensure it is correct cased in all uses.

ODATA-779 is resolved as proposed

5.2.2 ODATA-797 "Org.OData.Capabilities.V1 term property FilterRestrictions/RequiresFilter has wrong facets"

Ralf: ODATA-797 is OPEN

Martin: I move to resolve ODATA-797 as proposed. Gerald seconds

ODATA-797 is resolved as proposed

5.3 OData CSDL

5.3.1 ODATA-789 "Primitive type Edm.Decimal is ill-defined in regard to Precision"

Ralf: Proposal:

Clarify that CSDL Precision for Edm.Decimal is the number of significant decimal digits.

Allow Precision=Scale and don't count the "0." into the Precision in this special case.

Allow exponential notation, combined with an annotation that expresses the range of the exponent (MinExponent,MaxExponent).

Allow negative Scale and Scale larger than Precision (this requires exponential notation).

Require that any client or server which can represent a value of type Edm.Decimal must preserve all significant digits.

Mike: I think the first proposal is simply a clarification, and the second is correcting an issue we accidentally introduced in Errata 2 where we were confused between value range and lexical representation.

Mike: The exponential notation with a minexponent and negative scale concern me as they are changing the interpretation of decimal.

Mike: Ralf suggests narrowing ODATA-789 to fixing the first two issues, and addressing exponential notation issue ODATA-771 and open a new issue for negative scale.

Mike: I move we narrow ODATA-789 to fixing the first two issues, address exponential notation issue ODATA-771 and open a new issue for negative scale. Martin seconds.

Motion passes

Mike: I move we resolve ODATA-789 as amended by addressing the first two issues, handling exponential notation in ODATA-771, and opening a new issue for negative scale. Martin seconds.

ODATA-789 is resolved as proposed

6. JSON representation for metadata

Walk through the document and decide on the general principles

7. Next meeting

Thursday April 16, 2015 during 8-10am PDT / 17:00-19:00 CEST ?


8. AOB and wrap up

Stefan: GeoJSON is in IETF dispatch for work group

Ralf: Stefan will provide more information in the next meeting

Ramesh: reached out to developers of TripPin service at Microsoft. MIT licences of TripPin is OK for Apache, so Olingo project could build an example implementation

Ramesh: already implemented it. Discussion on incorporating this into Olingo project is ongoing

Ralf to contact Ram on what has to be done to use TripPin as basis for examples in OData specification

Meeting adjourned