OData TC meeting #122 Wednesday Mar 02 and Thursday Mar 03, 2016 (Face to Face, Zurich, CH)

Acting chair: Ralf

Chat transcript from room: odatatc
Meeting period: 2016-03-02 09:00 CET until 2016-03-03 17:00 CET
Day 1 Lunch break will be 12:00 to 13:00 CET

Draft Day 1/2

1. Roll call

1.1 Members present

        Gerald Krause (SAP SE)
        Hubert Heijkers (IBM)
        Mark Biamonte (Progress Software)
        Martin Zurmuehl (SAP SE)
        Michael Pizzo (Microsoft) a.k.a. Mike
        Ralf Handl (SAP SE)
        Ram Jeyaraman (Microsoft)
        Ramesh Reddy (Red Hat)
        Stefan Hagen (Individual)

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

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

2. Approve agenda

Proposed Agenda has been posted by Mike via https://lists.oasis-open.org/archives/odata/201603/msg00017.html (the dates should target March 2nd and 3rd though) and location reference as in mail from Hubert: https://lists.oasis-open.org/archives/odata/201601/msg00071.html

The agenda is approved.

3. Approve minutes from previous meeting(s)

3.1 Minutes from February 25, 2016 TC meeting #121


Minutes approved unchanged as published

4. Review action items

4.1 Action items due March 02, 2016


5. Errata 3 Issues

5.1 Review applications of Errata 3 issue resolutions (This is a carryover from previous meeting)

Ralf: We left in JSON Format, chapter 12

Ralf: Agreement to issue application

Mark: Review of JSON Format complete

Mark: Reviewing changes to CSDL Document

Ralf: Discussion on ODATA-803 - Collection-valued property: Define default value for nullable facet

Mike: I move we reopen Issue ODATA-803 to consider meaning of absence of nullable facet for collections. Mark seconds.

No objections, issue is reopened

Hubert: I'd argue that Nullable being true for collection valued properties would be the exceptional case.

Hubert: As such this changes what clients might expect to be able to do, insert null values in these collections, whereas before they, presumable, would have not assumed to be able to do so in the absence of the Nullable facet

Mike: Upon reviewing, while clients can't assume that absence means you can insert a null value, saying that absence means true implies that the client can insert null values. Then saying that they may not be able to insert null values even in this case makes the presence of nullable=true meaningless.

Mike: in addition, this default is likely to be the wrong choice in most cases.

Mike: Proposal:

Absence of nullable facet on collection means it's unknown if you can insert nulls. You can try, but it may fail. Nullable=true means that the collection *may* contain null values (although attempting to insert a null value may still fail for a variety of reasons) Nullable=false means that the collection can not contain null values

Mark: I move that we accept the revised proposal for ODATA-803. Ramesh seconds.

No objections, motion passes

Ralf: 13.1.2 Attribute Extends: make additional text a note because we don't want to introduce normative language in an erratum.

Ralf: Finished CSDL document

Ralf: Starting with Errata document for OData

Ralf: No comments

Ralf: Starting with Errata document for JSON Format

Ralf: No comments

Ralf: Finished with reviewing documents

Ralf: I move to close issues ODATA-656, ODATA-781, ODATA-819, ODATA-821, ODATA-822, ODATA-823, ODATA-825, ODATA-826, ODATA-828, ODATA-830, ODATA-831, ODATA-832, ODATA-835, ODATA-837, ODATA-840, ODATA-847, ODATA-850, ODATA-852, ODATA-853, ODATA-861, ODATA-865, ODATA-869, ODATA-870, ODATA-877, ODATA-878, ODATA-880, ODATA-885, ODATA-891, ODATA-892, ODATA-893, ODATA-896, ODATA-899, ODATA-903 as applied. Mike seconds.

No objections, motion passes

List of the 33 issues closed above as applied:

  1. ODATA-656 - Requesting clarity on payload ordering constraints for clients
  2. ODATA-781 - substring: what to return if the start index is outside the first argument string, or the desired length exceeds the remaining string length
  3. ODATA-819 - 10.2.2: Clarify whether enum types allow multiple members with the same value
  4. ODATA-821 - 14.2.1 Attribute Target: targeting of nested properties of structured types
  5. ODATA-822 - Async Batch Request: Bug in example 85
  6. ODATA-823 - Header Content-Transfer-Encoding not used in HTTP
  7. ODATA-825 - AnnotationPath expression: traversal of multiple collection-valued scalar or navigation properties
  8. ODATA-826 - Wrong Target attribute value in Edm.Metadata.Annotation/Target navigation property
  9. ODATA-828 - Update I-JSON reference
  10. ODATA-830 - Header OData-EntityId: when required
  11. ODATA-831 - MetadataService.edmx: type of OpenType property should be Edm.Boolean
  12. ODATA-832 - 15.6: typo in diagram (Function/Action swapped)
  13. ODATA-835 - 5.1: PATCH missing in list of operations that do not allow system query options
  14. ODATA-837 - Example 28: replace $deltaToken with a valid custom query option
  15. ODATA-840 - Add example for $expand=NavProp/$count
  16. ODATA-847 - Clarification: use of Schema namespace aliases within URLs
  17. ODATA-850 - Improve document structure for functions used in common expressions
  18. ODATA-852 - 8.3.1: superfluous text paragraph 3, sentence 1
  19. ODATA-853 - 8.3.3: last sentence should use "header" instead of "preference"
  20. ODATA-861 - Define behavior when neither accept header or $format query parameter is specified
  21. ODATA-865 - 14.2.1 Attribute Target: complete list of externally targetable CSDL elements
  22. ODATA-869 - Explicitly state the location of the Content-ID header in a change set
  23. ODATA-870 - Round-off description for creating related entities when creating an entity
  24. ODATA-877 - Must delta responses continue to track "orphaned" entities?
  25. ODATA-878 - Example 84: EntityContainer is a Singleton, not an EntitySet
  26. ODATA-880 - 14.5.10: edm:Null can have edm:Annotation child elements
  27. ODATA-885 - Permissions should apply to more than just properties
  28. ODATA-891 - Misleading reference to "open" in description of $select
  29. ODATA-892 - Clarify dynamic properties support in $filter, $orderby, $expand
  30. ODATA-893 - Is @odata.type required on update of a derived type
  31. ODATA-896 - Reconsider guidance on odata.count position (public comment c201512e00001)
  32. ODATA-899 - Type cast segment after $all
  33. ODATA-903 - ABNF: should allow cast segment following collection of complex types

5.2 Errata 3 Issues in New/Open State - Issues for V4.0_ERRATA03 in New or Open state

5.2.1 ODATA-908 - 8.1.1 Header Content-Type: is only SHOULD in RFC7231

Ralf: ODATA-908 is now OPEN

Mike: Proposal is to change Content-type from MUST to SHOULD for media types only.

Mark: I move that we accept ODATA-908 as proposed. Mike seconds.

No objections. ODATA-908 is RESOLVED as proposed.

5.2.2 ODATA-916 - Define what services (and clients?) do with unknown format parameters

Ralf: ODATA-916 is OPEN

Mark: I move that we accept ODATA-916 as proposed. Ramesh seconds.

No objections. ODATA-916 is RESOLVED as proposed.

5.2.3 ODATA-913 - Should we specify a default response format if neither Accept header nor system query $format are specified

Ralf: ODATA-913 is OPEN

Mark: I move that we accept ODATA-913 as proposed. Mike seconds.

No objections. ODATA-913 is RESOLVED as proposed.

5.2.4 ODATA-912 - Clarify what clients should do if they see an unknown/invalid expression for a known annotation term

Ralf: ODATA-912 is OPEN

Mark: I move that we accept ODATA-912 as proposed. Ramesh seconds.

No objections. ODATA-912 is RESOLVED as proposed.

5.2.5 ODATA-915 - Be consistent in citing rules around namespace qualification

Ralf: ODATA-915 is OPEN

Ralf: I move that we accept ODATA-915 as proposed. Ramesh seconds.

No objections. ODATA-915 is RESOLVED as proposed.

5.2.6 ODATA-917 - Addition and Subtraction: Date add/sub Duration is DateTimeOffset - but in which time zone?

Ralf: ODATA-917 is OPEN

Ralf: P42DT12H53M == 24.1253

Ralf: P42DT12H53M == 42.1253

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

No objections. ODATA-917 is RESOLVED as proposed.

5.2.7 ODATA-882 - Mismatch between 11.2.6 Requesting Related Entities and 11.2.7 Requesting Entity References

Mark: I move that we accept ODATA-882 as proposed. Ramesh seconds.

No objections. ODATA-882 is RESOLVED as proposed.

5.2.8 ODATA-785 - Numeric promotion (on overflow) across "number type families" is undesirable

Ralf: ODATA-785 is already OPEN

Ramesh: I move that we accept ODATA-785 as proposed. Mike seconds.

No objections. ODATA-785 is RESOLVED as proposed.

5.2.9 ODATA-784 - Need to specify the behaviour of arithmetic operators on Decimal type

Ralf: ODATA-784 is OPEN

Mike: I move that we accept ODATA-784 as proposed. Mark seconds.

No objections. ODATA-784 is RESOLVED as proposed.


Ralf: Demo of Swagger as carrier format for JSON CSDL

Ralf: Showing TripPin service in Swagger UI

Ralf: Interactively explore metadata and try out requests online

6.1 Public Review Comments

6.1.1 ODATA-907 - Consider Swagger for describing OData metadata in JSON format (public comment c201602e00000)

Ralf: ODATA-907 is OPEN

Ralf: I move that we accept ODATA-907 as proposed. Stefan seconds.

No objections. ODATA-907 is RESOLVED as proposed.

6.1.2 ODATA-902 - 4.5.2: make "annotations" a hash-map with the target as key

Ralf: ODATA-902 is OPEN

Ralf: I move that we accept ODATA-902 as proposed. Stefan seconds.

No objections. ODATA-902 is RESOLVED as proposed.

6.1.3 ODATA-910 - Consider format that is tailored for programmatic access (public comment c201602e00002)

Ralf: ODATA-910 is OPEN

Ralf: Consider this when reworking JSON CSDL to be based on Swagger / OpenAPI

6.1.4 ODATA-914 - ODATA-914: Comments from OASIS Technical Advisory Board (TAB)

Ralf: ODATA-914 is OPEN

Stefan: I move to apply the proposed changes. Mark seconds.

No objections. ODATA-914 is RESOLVED as proposed.

6.1.5 ODATA-911 - Miscellanous feedback (public comment c201602e00003)

Ralf: ODATA-911 is OPEN

Ralf: I move that we accept ODATA-911 as proposed. Stefan seconds.

No objections. ODATA-911 is RESOLVED as proposed.

6.2 Other Issues in New or Open state

6.2.1 ODATA-906 - Consider how to specify an included namespace as a default in JSON CSDL

Ralf: ODATA-906 is OPEN

Ralf: Postpone until after next draft of JSON CSDL is available and we know how namespaces are reflected

6.2.2 ODATA-890 - Specify how to get from a JSON message to a JSON schema for validating this message

Ralf: ODATA-890 is OPEN

Ralf: Probably covered by /paths section of a Swagger document, park until next revision of JSON CSDL is prepared

6.2.3 ODATA-889 - Make edm.json a stand-alone schema

Ralf: ODATA-889 is OPEN

Ralf: I move that we close ODATA-889 without action. Mark seconds.

No objections. ODATA-889 is CLOSED without action.

6.2.4 ODATA-863 - Represent Terms similar to Types

Ralf: ODATA-863 is OPEN

Ralf: Postpone until next revision of JSON CSDL is prepared

TC will break for today, reconvene tomorrow 2016-MAR-03 at 09:00 CET

Marker of current progress ...

Near Real Time Draft of Minutes with timestamp 20160302T163000Z

This draft will be overwritten with successive revisions as the face to face meeting is ongoing. Hint: After end of meeting on day one of two.