[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: Agenda for OData TC meeting on 2018-07-19 - chat transcript
[17:01] Room information was updated by: Ralf Handl (SAP SE) Here [1] is a draft agenda for the OData TC (Technical Committee) meeting scheduled on Thursday July 19, 2018 during 8-10 am PDT (17:00-19:00 CEST). For additional information, such as dial-in details and chat room, refer to [2]. For TC timeline, see [3]. Feel free to suggest additions or modifications.
Thanks.
[1] Agenda
1.Roll call [8:00 am PT]
a.Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46265
2.Approve agenda [8:05 am PT]
3.Approve minutes from previous meeting(s) [8:10 am PT]
a.Minutes from June 28, 2018 TC meeting: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/63384/latest/odata-meeting-219_on-20180628-minutes.html
b.Minutes from July 12, 2018 TC meeting: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/63445/latest/odata-meeting-220_on-20180712-minutes-informal.html
4.Face-to-Face Meeting
a.What
i.Resolve V4.01 issues
ii.Next steps for V4.01: only CS02 or also OS?
iii.Data Aggregation
iv.OData-OpenAPI Mapping
v.REST-EZ
vi.Vocabularies
b.When
i.September (one of CW 36 to 39)
ii.2 days F2F with optional pre-meeting for doc/issue authors
c.Where
i.Ottawa
ii.Seattle
5.Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]
a.Due
i.None
b.Upcoming
i. #0037 Concept for Google Protocol Buffers as a data format Hubert Heijkers 2018-07-26
c.Pending
i.#0038 Prepare proposal for REST Profile / OData Essentials Mike Pizzo 2018-05-03
ii.#0036 Register the OData- headers and preferences with IANA Mark Biamonte 2017-11-30
6.Issues [8:20 am PT]
a.Data Aggregation: NEW or OPEN
i.ODATA-1040 Clarification of term "_expression_"
ii.ODATA-1038 Clarify term "simple value"
iii.ODATA-977 Allow POST with $apply to invoke an action to an aggregated result
iv.ODATA-972 Example 30: wrong result
v.ODATA-971 7.1: Add example for grouping by single-valued navigation property
vi.ODATA-968 3.1.4: add example for from in aggregate() with multiple arguments
vii.ODATA-947 Transformation for computing ratios with aggregated values
viii.ODATA-945 Correct examples 53 and 54
b.V4.01: NEW or OPEN
i.ODATA-1198 ETag handling deviations from RFC7232 are avoidable if we consider two kinds of ETag (ETag in response header and ETag in response payload)
ii.ODATA-1197 Chapter 21 Error Response: replace misleading "code" values with FOO or BAR
iii.ODATA-1196 Clarify update of media streams
iv.ODATA-1195 11.2.6.6: value of $search is search _expression_, not boolean _expression_
v.ODATA-1191 Make sure that all model elements are annotatable
vi.ODATA-1190 Add matchesPattern as a $filter function
vii.ODATA-1189 Conformance: Nullable for collections
viii.ODATA-1188 Allow using instance annotations in $select and $expand
ix.ODATA-1187 No way to bind nav prop on recursively nested (contained or complex) type
x.ODATA-1183 Allow Singletons to be null
xi.ODATA-1180 Cast between enumeration types and integer types
xii.ODATA-1177 Core: add term SchemaLocation
xiii.ODATA-1171 Consider using matrix parameters for filter segments
xiv.ODATA-1168 Clarify the use of ETags for Avoiding Update Conflicts
xv.ODATA-1165 Describe $expand and $select via prose text and examples, remove ABNF snippets
xvi.ODATA-1148 PATCH with nested nav props should not remove omitted resources
xvii.ODATA-1143 Extend the Property metatype to allow a type that is an EntityType.
xviii.ODATA-1141 Upsert: clarify upsert along nullable single-valued navigation path
xix.ODATA-1135 Document use of JSON $schema
xx.ODATA-1088 Clarify effect of applying an Annotation to an element
c.Vocabularies: NEW or OPEN with concrete proposal
i.ODATA-1194 Add term Core.Example to allow including annotation examples in term definitions
ii.ODATA-1192 Capabilities vocabulary: invalid DefaultValue for KeyAsSegmentSupported
iii.ODATA-1176 Capabilities: add new term SelectRestrictions
iv.ODATA-1167 Add way to specify which batch formats (if any) are supported by a service
v.ODATA-1064 Add ability to annotate collections to return only count and NextLink
d.Vocabularies: NEW or OPEN that need more discussion
i.ODATA-1199 ODATA-884 Add property SystemQueryOptions to call out supported system query options per request method
ii.ODATA-1193 Automated vocabulary checks indicate some potential issues
iii.ODATA-1099 Add annotations to describe custom query options and custom headers
iv.ODATA-1005 Make sure we have capabilities for all new 4.01 functionality
v.ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
7.Next meetings [9:50 am PT]
a.Thursday July 26, 2018 during 8-10 am PDT (17:00-19:00 CEST)
b.Thursday August 02, 2018 during 8-10 am PDT (17:00-19:00 CEST)
c.Thursday August 09, 2018 during 8-10 am PDT (17:00-19:00 CEST)
8.AOB and wrap up [9:55 am PT]
[2] References
Chat room: http://webconf.soaphub.org/conf/room/odatatc
Conference call & Screen sharing: https://sap.emea.pgiconnect.com/OData-TC
Conference call details: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/56760/TC%20meeting%20dial-in%20details.htm
[3] Timeline
https://www.oasis-open.org/committees/download.php/62637/TC%20Timeline-2018-03-02.docx
[17:03] Ralf Handl (SAP SE): Voting Members: 6 of 11 (54%) (used for quorum calculation) [17:06] Ralf Handl (SAP SE): 2.Approve agenda [8:05 am PT] [17:07] Ralf Handl (SAP SE): Agenda is approved [17:07] Ralf Handl (SAP SE): 3.Approve minutes from previous meeting(s) [8:10 am PT] a.Minutes from June 28, 2018 TC meeting: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/63384/latest/odata-meeting-219_on-20180628-minutes.html
b.Minutes from July 12, 2018 TC meeting: https://www.oasis-open.org/apps/org/workgroup/odata/download.php/63445/latest/odata-meeting-220_on-20180712-minutes-informal.html
[17:08] Ralf Handl (SAP SE): Minutes are approved [17:08] Ralf Handl (SAP SE): 5.Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT] a.Due
i.None
b.Upcoming
i. #0037 Concept for Google Protocol Buffers as a data format Hubert Heijkers 2018-07-26
c.Pending
i.#0038 Prepare proposal for REST Profile / OData Essentials Mike Pizzo 2018-05-03
ii.#0036 Register the OData- headers and preferences with IANA Mark Biamonte 2017-11-30
[17:10] Ralf Handl (SAP SE): ii: due next week [17:13] Ralf Handl (SAP SE): b.i: moved to end of September, candidate topic for F2F [17:13] Ralf Handl (SAP SE): 4.Face-to-Face Meeting a.What
i.Resolve V4.01 issues
ii.Next steps for V4.01: only CS02 or also OS?
iii.Data Aggregation
iv.OData-OpenAPI Mapping
v.REST-EZ
vi.Vocabularies
b.When
i.September (one of CW 36 to 39)
ii.2 days F2F with optional pre-meeting for doc/issue authors
c.Where
i.Ottawa
ii.Seattle
[17:15] Ralf Handl (SAP SE): Additional topics: [17:15] Ralf Handl (SAP SE): vii. Compact JSON [17:15] Matt Borges (SAP): Need to restart my computer phone won't connect [17:16] Ralf Handl (SAP SE): viii. Protobuf [17:16] Ralf Handl (SAP SE): b.When i.September (one of CW 36 to 39)
ii.2 days F2F with optional pre-meeting for doc/issue authors
[17:18] Ralf Handl (SAP SE): Mike: useful to have at least one day of pre-meeting [17:18] Ralf Handl (SAP SE): Hubert: alternatively: two days of pre-meeting and just one day of formal meeting [17:18] Ralf Handl (SAP SE): Easier on phone participants [17:20] Ralf Handl (SAP SE): c.Where i.Ottawa
ii.Seattle
[17:23] Ralf Handl (SAP SE): Temperature similar in both locations in September [17:24] Ralf Handl (SAP SE): CW 37: 10-16 September [17:26] Matt Borges (SAP): If I get approval, 10-16 is the only week in September I could do [17:27] Ralf Handl (SAP SE): CW 41: would not work for Gerald [17:27] Ralf Handl (SAP SE): CW 36: won't work for Ramesh and Mike [17:28] Ralf Handl (SAP SE): CW 40: not great for Mike [17:29] Ralf Handl (SAP SE): CW 42: Hubert is on vacation [17:30] Ralf Handl (SAP SE): CW 38: Hubert cannot make Monday [17:32] Ralf Handl (SAP SE): CW 38 Tue-Fri [17:32] Ralf Handl (SAP SE): September 25-28 [17:34] Ralf Handl (SAP SE): Candidate time slot: Tue 2018-09-25 to Fri 2018-09-28 - please check your calendars and let's finalize it next week [17:35] Ralf Handl (SAP SE): Slight preference for Seattle [17:36] Ralf Handl (SAP SE): 6.Issues [8:20 am PT] a.Data Aggregation: NEW or OPEN
[17:37] Ralf Handl (SAP SE): i.ODATA-1040 Clarification of term "_expression_" [17:37] Gerald Krause (SAP): In section 2.1 1) add a definition of expressions: is a common _expression_ from the ABNF
2) add a definition of an aggregatable _expression_ (a value of an aggregatable primitive type or a boolCommonExpression)
Check all occurrences in the text for occurrences of "_expression_" and update accordingly.
[17:40] Ralf Handl (SAP SE): Gerald: combine with https://issues.oasis-open.org/browse/ODATA-1038: - aggregatable primitive type = primitive minus Geo and Stream
- aggregatable _expression_ = one that results in a value of an aggregatable primitive type
[17:41] Hubert Heijkers (IBM): I move to resolve ODATA-1040 and ODATA-1038 as per the amended proposal [17:41] Gerald Krause (SAP): I second. [17:42] Ralf Handl (SAP SE): No objections [17:44] Michael Pizzo: Updated proposal in issue to capture approved motion: In section 2.1
1) add a definition of expressions: is a common _expression_ from the ABNF
2) aggregatable primitive type is a primitive type other than geo or stream
3) add a definition of an aggregatable _expression_ is a value of an aggregatable primitive type
[17:44] Ralf Handl (SAP SE): ODATA-1040 and ODATA-1038 are RESOLVED with the above proposal [17:45] Ralf Handl (SAP SE): iii.ODATA-977 Allow POST with $apply to invoke an action to an aggregated result [17:45] Ralf Handl (SAP SE): Currently it is not possible to aggregate data and then directly apply an action to the aggregation result.
An interesting special case is to filter an entity set and then apply an action to the set of entities that passes the filter, e.g. discount all products that have been on the shelf for more than three months.
[17:46] Ralf Handl (SAP SE): Add to chapter 3:
Service-defined bound actions that take an entity set as their binding parameter MAY be used as the last set transformation within $apply if the type of the binding parameter matches the type of the result set of the preceding transformation. In this case the request MUST be a POST request.
Example:
Discount all products that meet a filter condition
POST Products?$apply=filter(ShelfLife gt duration'P90D')/Special.Discount(Percent=15)
[17:48] Ralf Handl (SAP SE): No use cases left after adding a /$filter path segment. Postpone to V5 [17:49] Ralf Handl (SAP SE): iv.ODATA-972 Example 30: wrong result [17:49] Ralf Handl (SAP SE): Result shows nested Sales with ID: 8 and Amount: 2 - should not be present due to filter on Sales with Amount gt 3 [17:50] Ralf Handl (SAP SE): ODATA-972 is OPEN [17:50] Gerald Krause (SAP): I move to resolve ODATA-972 as proposed. [17:51] Hubert Heijkers (IBM): I second [17:51] Ralf Handl (SAP SE): ODATA-972 is RESOLVED as proposed [17:51] Ralf Handl (SAP SE): v.ODATA-971 7.1: Add example for grouping by single-valued navigation property [17:51] Ralf Handl (SAP SE): Section 7.1 defines the result of grouping by a single-valued navigation property without giving an example.
Any example in this section that groups by the key property of a related entity could be rephrased to group by the navigation property instead. Here's how example 52 would look like:
GET ~Sales?$apply=groupby((Customer,Product))
and results in
{
"@odata.context": "$metadata#Sales(Customer,Product)",
"value": [
{ "@odata.id": null, "Customer@odata.navigationLink": "Customers('C1')", "Product@odata.navigationLink": "Products('P2')" }
,
{ "@odata.id": null, "Customer@odata.navigationLink": "Customers('C1')", "Product@odata.navigationLink": "Products('P3')" }
,
{ "@odata.id": null, "Customer@odata.navigationLink": "Customers('C1')", "Product@odata.navigationLink": "Products('P1')"}
,
{ "@odata.id": null, "Customer@odata.navigationLink": "Customers('C2')", "Product@odata.navigationLink": "Products('P2')" }
,
{ "@odata.id": null, "Customer@odata.navigationLink": "Customers('C2')", "Product@odata.navigationLink": "Products('P3')" }
,
{ "@odata.id": null, "Customer@odata.navigationLink": "Customers('C3')", "Product@odata.navigationLink": "Products('P3')"}
},
{ "@odata.id": null, "Customer@odata.navigationLink": "Customers('C3')", "Product@odata.navigationLink": "Products('P1')" }
]
}
[17:59] Ralf Handl (SAP SE): GET ~Sales?$apply=groupby((Customer/ID,Product/ID)) [17:59] Ralf Handl (SAP SE): GET ~Sales?$apply=groupby((Customer,Product)) [18:05] Ralf Handl (SAP SE): { "@odata.context": "$metadata#Sales(Customer,Product)",
"value": [
{ "@odata.id": null, "Customer":{"@odata.id": "Customers('C1')"}, "Product":{"@odata.id": "Products('P2')"} }
,
[18:06] Ralf Handl (SAP SE): { "@odata.context": "$metadata#Sales(Customer,Product)",
"value": [
{ "@odata.id": null, "Customer":{"ID": "C"}, "Product":{"ID": "P2"} }
,
[18:14] Ralf Handl (SAP SE): Note: as soon as the request includes $expand/$select, the "normal" response shape rules apply, e.g. include key property values or @odata.id [18:15] Ralf Handl (SAP SE): 3.10.1 Simple Grouping In its simplest form the first parameter of groupby specifies the grouping properties, a comma-separated list of one or more single-valued property paths (paths ending in a single-valued primitive, complex, or navigation property) that is enclosed in parentheses. The same property path SHOULD NOT appear more than once; redundant property paths MAY be considered valid, but MUST NOT alter the meaning of the request. If the property path leads to a single-valued navigation property, this means grouping by the entity-id of the related entities.
[18:16] Ralf Handl (SAP SE): This COULD be seen as a reason to return the second response shape with nested @odata.id values [18:20] Ralf Handl (SAP SE): GET ~Sales?$apply=groupby((Customer/@odata.id,Product/@odata.id)) [18:31] Ralf Handl (SAP SE): Example: GET Employees('Joe')?$select=Manager {"Name":"Joe","Manager@odata.navigationLink":"Employees('Joe')/Manager" }
[18:33] Ralf Handl (SAP SE): Example: GET Employees('Joe')?$expand=Manager/$ref {"Name":"Joe","Manager":{"@odata.id":"Employees('Edgar')"}}
[18:35] Ralf Handl (SAP SE): Amended proposal: treat group by NavProp as group by NavProp/$ref and return the nested @odata.id values [18:39] Ralf Handl (SAP SE): Spec text says:
If the property path leads to a single-valued navigation property, this means grouping by the entity-id of the related entities.
[18:41] Hubert Heijkers (IBM): I move resolve ODATA-971, based on the above discussion, to resolve this issue as per the amended proposal. [18:41] Gerald Krause (SAP): I second. [18:42] Ralf Handl (SAP SE): ODATA-971 is resolved with the amended proposal [18:42] Ralf Handl (SAP SE): Ralf has to adapt the example in the proposal [18:42] Ralf Handl (SAP SE): vi.ODATA-968 3.1.4: add example for from in aggregate() with multiple arguments [18:42] Ralf Handl (SAP SE): Description: Explain how in aggregate() with multiple arguments the "from" keyword can be resolved into a groupby/aggregate sequence by initially grouping by all "from" properties appearing in any argument.
Will probably work only if all "from" chains are compatible, i.e. there exists a "super-chain" so that any from chain is a sub-chain of this super-chain.
1) from A from B from D,from A from C from D works with super-chain from A from B from C from D (B and C can be swapped to get another possible super-chain.
2) from A from B, from B from A won't work
[18:45] Ralf Handl (SAP SE): Gerald: require that all explicitly mentioned "from" properties appear in the same order in all arguments [18:59] Hubert Heijkers (IBM): I move to resolve ODATA-968 as proposed. [18:59] Gerald Krause (SAP): I second. [19:00] Ralf Handl (SAP SE): ODATA-968 is RESOLVED with the amended proposal [19:00] Ralf Handl (SAP SE): 7.Next meetings [9:50 am PT] a.Thursday July 26, 2018 during 8-10 am PDT (17:00-19:00 CEST)
b.Thursday August 02, 2018 during 8-10 am PDT (17:00-19:00 CEST)
c.Thursday August 09, 2018 during 8-10 am PDT (17:00-19:00 CEST)
[19:01] Ralf Handl (SAP SE): 8.AOB and wrap up [9:55 am PT] [19:01] Ralf Handl (SAP SE): Meeting is adjourned From: odata@lists.oasis-open.org [mailto:odata@lists.oasis-open.org]
On Behalf Of Handl, Ralf Here [1] is a draft agenda for the OData TC (Technical Committee) meeting
scheduled on
Thursday July 19, 2018 during 8-10 am PDT (17:00-19:00 CEST).
For additional information, such as dial-in details and chat room, refer to [2]. For TC timeline, see [3]. Feel free to suggest additions or modifications.
Thanks. [1]
Agenda
1.
Roll call [8:00 am PT]
2.
Approve agenda [8:05 am PT]
3.
Approve minutes from previous meeting(s) [8:10 am PT]
4.
Face-to-Face Meeting
i. Resolve V4.01 issues
ii. Next steps for V4.01: “only” CS02 or also OS?
iii. Data Aggregation
iv. OData-OpenAPI Mapping
v. REST-EZ
vi. Vocabularies
i. September (one of CW 36 to 39)
ii. 2 days F2F with optional pre-meeting for doc/issue authors
i. Ottawa
ii. Seattle
5.
Review action items [Action item list:
https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]
i. None
i. #0037
Concept for Google Protocol Buffers as a data format – Hubert Heijkers – 2018-07-26
i. #0038
Prepare proposal for REST Profile / OData Essentials – Mike Pizzo – 2018-05-03
ii. #0036
Register the OData- headers and preferences with IANA – Mark Biamonte – 2017-11-30
6.
Issues [8:20 am PT]
i. ODATA-1040
Clarification of term "_expression_"
ii. ODATA-1038
Clarify term "simple value"
iii. ODATA-977
Allow POST with $apply to invoke an action to an aggregated result
iv. ODATA-972
Example 30: wrong result
v. ODATA-971
7.1: Add example for grouping by single-valued navigation property
vi. ODATA-968
3.1.4: add example for from in aggregate() with multiple arguments
vii. ODATA-947
Transformation for computing ratios with aggregated values
viii. ODATA-945
Correct examples 53 and 54
i. ODATA-1198
ETag handling deviations from RFC7232 are avoidable if we consider two kinds of ETag (ETag in response header and ETag in response payload)
ii. ODATA-1197
Chapter 21 Error Response: replace misleading "code" values with FOO or BAR
iii. ODATA-1196
Clarify update of media streams
iv. ODATA-1195
11.2.6.6: value of $search is search _expression_, not boolean _expression_
v. ODATA-1191
Make sure that all model elements are annotatable
vi. ODATA-1190
Add matchesPattern as a $filter function
vii. ODATA-1189
Conformance: Nullable for collections
viii. ODATA-1188
Allow using instance annotations in $select and $expand
ix. ODATA-1187
No way to bind nav prop on recursively nested (contained or complex) type
x. ODATA-1183
Allow Singletons to be null
xi. ODATA-1180
Cast between enumeration types and integer types
xii. ODATA-1177
Core: add term SchemaLocation
xiii. ODATA-1171
Consider using matrix parameters for filter segments
xiv. ODATA-1168
Clarify the use of ETags for Avoiding Update Conflicts
xv. ODATA-1165
Describe $expand and $select via prose text and examples, remove ABNF snippets
xvi. ODATA-1148
PATCH with nested nav props should not remove omitted resources
xvii. ODATA-1143
Extend the Property metatype to allow a type that is an EntityType.
xviii. ODATA-1141
Upsert: clarify upsert along nullable single-valued navigation path
xix. ODATA-1135
Document use of JSON $schema
xx. ODATA-1088
Clarify effect of applying an Annotation to an element
i. ODATA-1194
Add term Core.Example to allow including annotation examples in term definitions
ii. ODATA-1192
Capabilities vocabulary: invalid DefaultValue for KeyAsSegmentSupported
iii. ODATA-1176
Capabilities: add new term SelectRestrictions
iv. ODATA-1167
Add way to specify which batch formats (if any) are supported by a service
v. ODATA-1064
Add ability to annotate collections to return only count and NextLink
i. ODATA-1199
ODATA-884 Add property SystemQueryOptions to call out supported system query options per request method
ii. ODATA-1193
Automated vocabulary checks indicate some potential issues
iii. ODATA-1099
Add annotations to describe custom query options and custom headers
iv. ODATA-1005
Make sure we have capabilities for all new 4.01 functionality
v. ODATA-884
Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
7.
Next meetings [9:50 am PT]
8.
AOB and wrap up [9:55 am PT] [2]
References
[3]
Timeline |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]