Acting chair: Ralf
Chat transcript from room: odatatc Meeting period: 2016-03-02 09:00 CET until 2016-03-03 17:00 CET
Gerald Krause (SAP SE) Hubert Heijkers (IBM) Ken Baclawski (Northeastern University) 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.
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.
Minutes approved unchanged as published
None
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
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.
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.
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.
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.
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.
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.
Mark: I move that we accept ODATA-882 as proposed. Ramesh seconds.
No objections. ODATA-882 is RESOLVED as proposed.
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.
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
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.
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.
Ralf: ODATA-910 is OPEN
Ralf: Consider this when reworking JSON CSDL to be based on Swagger / OpenAPI
Ralf: ODATA-914 is OPEN
Stefan: I move to apply the proposed changes. Mark seconds.
No objections. ODATA-914 is RESOLVED as proposed.
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.
Ralf: ODATA-906 is OPEN
Ralf: Postpone until after next draft of JSON CSDL is available and we know how namespaces are reflected
Ralf: ODATA-890 is OPEN
Ralf: Probably covered by /paths section of a Swagger document, park until next revision of JSON CSDL is prepared
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.
Ralf: ODATA-863 is OPEN
Ralf: Postpone until next revision of JSON CSDL is prepared
Mike walks all through the documents
Ralf: I move to CLOSE issues ODATA-784, ODATA-785, ODATA-882, ODATA-908, ODATA-913, ODATA-915, and ODATA-916, and ODATA-917 as applied. Stefan seconds.
No objections, motion passes
All go over the revised proposal based on the mail from Mike: https://lists.oasis-open.org/archives/odata/201603/msg00018.html which addresses the following 6 issues in context:
Ralf: ODATA-617 is OPEN
Mike: Proposal:
can compare ordered collections: same members, same position
can compare unordered collections: same members, any order. don't expect this to work though...
can compare complex types by value (may fail if complex type contains unordered collection)
can compare two entities (as being the same reference)
ex: Person(1)/BestFriend eq Person(2)/WorstEnemy ex: Person(1)/BestFriend eq {"@odata.id":"/People(1)"}
can compare entities to null:
ex: Person(1)/BestFriend eq null
Mike: I move that we accept ODATA-617 as proposed. Mark seconds.
No objections. ODATA-617 is RESOLVED as proposed.
Ralf: ODATA-572 is OPEN
Mike: I move we resolve the now opened ODATA-572 as a duplicate of ODATA-617. Mark seconds.
No objections. ODATA-572 is RESOLVED as proposed.
Mike: I move further clarify the rules around comparing complex types containing navigation properties:
Mark seconds.
No objections. Motion passes.
Ralf: ODATA-897 is OPEN
Ralf: Already allowed:
expandItem = STAR [ ref / OPEN levels CLOSE ] / expandPath [ ref [ OPEN expandRefOption *( SEMI expandRefOption ) CLOSE ] / count [ OPEN expandCountOption *( SEMI expandCountOption ) CLOSE ] expandCountOption = filter / search
Mike: So we already support this in expand; we just can't use it in an expression ($filter or $orderby)
Mike: I move that we resolve ODATA-897 as proposed. Mark seconds.
No objections. ODATA-897 is RESOLVED as proposed.
Ralf: ODATA-888 is OPEN
Mark: I move that ODATA-888 be RESOLVED as proposed. Mike seconds.
No objections. ODATA-888 is RESOLVED as proposed.
Ralf: ODATA-901 is OPEN
Mike: Discussion of ODATA-901
Mark: I move we resolve ODATA-901 as proposed. Gerald seconds.
Mike: Seems a useful shorthand, especially for long expressions.
No objections. ODATA-901 is RESOLVED as proposed.
Ralf: ODATA-482 is OPEN
All discuss and update the issues proposal
Mike: Proposal:
For stream property: GET People(1)?$expand=photo
For media entity: GET Resumes(1)?$expand=$value
Expand=* =>only navigation properties - streams are not included automatically by * but may be included explicitly.
Ramesh: I move ODATA-482 be resolved as proposed. Mark seconds.
No objections. ODATA-482 is RESOLVED as proposed.
Break of 5 minutes
This draft will be overwritten with successive revisions as the face to face meeting is ongoing. Hint: Before tea break on day two.