OData TC meeting #214 Thursday May 17, 2018

Acting chair: Ralf

Chat transcript from room: odatatc
2018-05-17 0800-1000 PDT

1. Roll call

1.1 Members present

    George Ericson (Dell)
    Gerald Krause (SAP SE)
    Hubert Heijkers (IBM)
    Mark Biamonte (Progress Software)
    Martin Zurmuehl (SAP SE)
    Matthew Borges (SAP SE)
    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=46256).

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

2. Approve agenda

Agenda is approved unchanged as published

3. Approve minutes from previous meeting(s)

3.1 Minutes from May 03, 2018 TC meeting #213


Minutes approved unchanged as published.

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

4.1 Action items due


5. Move ABNF to GitHub

5.1 Request TC GitHub project oasis-tcs/odata-abnf

  1. Make latest version of ABNF more visible
  2. Easier public feedback via issues etc.
  3. Easier issue application via branches and pull requests

Mike: likes it

George: what else is not yet in GitHub


XML Schemas for CSDL 
JSON Schema for CSDL

Ralf: Another project


George: another project for odata-to-json-schema or odata-validation

Ralf: Three new repos

1) odata-abnf
2) odata-csdl-schemas
3) odata-json-schema

Mike: I move that we create a new OASIS TC GitHub repo (oasis-tcs/odata-abnf) for the ABNF, a new odata-csdl-schemas repo for the XML Schema for CSDL and JSON Schema for CSDL, and an odata-json-schema repo for the CSDL to JSON Schema transformation. George seconds.

Ralf: Motion passes

6. Issues


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

Mike: Let's be sure we have a good readme for the odata-json-schema repo describing its state and the fact that we are not investing in it.

Ralf: Pull request https://github.com/oasis-tcs/odata-vocabularies/pull/13

George: I move to approve OData 1175. Martin seconds.

Ralf: ODATA-1175 is CLOSED as applied

6.2 Data Aggregation: NEW or OPEN

6.2.1 ODATA-1158 - Transformations for limiting the number of entities in the result of a $apply transformation

Ralf: ODATA-1158 is OPEN

Mike: I move we approve ODATA-1158 as proposed. Martin seconds.

Ralf: ODATA-1158 is RESOLVED as proposed

6.2.2 ODATA-1157 - Transformation for sorting entities created by a $apply transformation

Ralf: ODATA-1157 is OPEN


Consider specifying that orderby expression is a property path with asc/desc, while services may support additional expressivity according to the abnf.
Note that expressions supported by orderby system query option may differ from expressions supported by orderby transformation.
Added to proposal: orderby expression of the orderby transformation conforms to same abnf as the system query option; minimal bar is property path expressions with asc/desc.

Mike: I move we resolve ODATA-1157 according to the amended proposal. Martin seconds.

Ralf: ODATA-1157 is RESOLVED with the amended proposal

6.3 V4.01: NEW or OPEN

6.3.1 ODATA-1181 - Clarify $expand=NavSingle/$count and $expand=*/$count


how about direct paths to a single entity, e.g. Products(42)/$count
how about filter expressions?
likes */$count


for $expand
Or rather NavProp:{ @count:1 } because for object values we put annotations and control information into the object

Ralf: Proposal: do not allow this

Ralf: ODATA-1181 is OPEN

Ralf steps down from chair role temporarily, Mike takes over

Ralf: I move to close ODATA-1181 without action; we don't want to allow these requests and their consequences for expressions in general. Martin seconds.

ODATA-1181 is closed without action

Ralf continues with chair role

Ralf to update the "Proposal"

6.3.2 ODATA-1180 - Cast between enumeration types and integer types

Ralf: Description

Enumeration members have an explicit or (only in CSDL XML) implicit numeric value.

Sorting and comparison of enumeration members is based in this numeric value.

Unfortunately casting between enumeration types and integer types is not yet defined.

Ralf: Proposal:

Casting between enumeration types and integer types (of sufficient width) is possible based on the numeric value.

This casting is implicit, same as casting between numeric types.

Call this out in URL Conventions, section cast.

Call out implicit casting for annotation values in CSDL XML and CSDL JSON, section Path Evaluation.

Ralf: ODATA-1180 is OPEN

Mike: From ABNF:

enum            = [ qualifiedEnumTypeName ] SQUOTE enumValue SQUOTE
enumValue       = singleEnumValue *( COMMA singleEnumValue )
singleEnumValue = enumerationMember / enumMemberValue
enumMemberValue = int64Value

6.3.3 ODATA-1178 - External targeting for action/function overloads

Ralf: Proposal:

Allow external targeting of individual action/function overload with syntax similar to action/function advertisement 
in JSON data by optionally appending the overload signature to the action/function name.

The signature consists of parentheses containing a comma-separated list starting with the qualified name of the 
binding parameter type, and for functions followed by the names of the non-binding parameters. 
This uniquely identifies a single overload.




fills a gap between external targeting and inline annotations
should be extended to non-bound overloads
no omitting of namespace/alias for binding parameter type, MUST be qualified name
that avoids naming conflicts between types and binding parameters

Ralf: ODATA-1178 is OPEN

George: I move to approve ODATA-1178. Hubert seconds.

Ralf: ODATA-1178 is RESOLVED as proposed

6.3.4 ODATA-1177 - Core: add term SchemaLocatio

Ralf: Description

Allow to specify the JSON or OpenAPI schema for values of properties of type Edm.Untyped.

Hubert: add reference to JSON Schema files in addition to references to CSDL files

7. Next meetings

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

8. AOB and wrap up


Meeting adjourned by chair.