[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: Agenda for OData TC meeting on 2018-04-05 - chat transcript
[17:00] Room information was updated by: Ralf Handl (SAP SE) OASIS Open Data Protocol (OData) TC OData TC Weekly Meeting (Conference
Call) #209
- Thursday, 05 April 2018, 08:00am to 10:00am PDT
- i.e. 2018-04-05 17:00 to 19:00 CEST (UTC+2)
- other timezone? Try eg.:
-
https://www.timeanddate.com/worldclock/meetingdetails.html?year=2018&month=4&day=5&hour=15&min=0&sec=0&p1=47&p2=69&p3=179
UsefulPlaces:
- Chat:
- http://webconf.soaphub.org/conf/room/odatatc # ... this place
- ScreenShare and Voice:
- https://sap.emea.pgiconnect.com/OData-TC
Next Planned meetings (tentative):
- Thursday April 12, 2018 during 8-10 am PDT (17:00-18:00 CEST)
-
https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46251
- Thursday April 19, 2018 during 8-10 am PDT (17:00-19:00 CEST)
-
https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46252
Agenda-Draft E-Mail URL:
- E-Mail Public URL = "">
https://lists.oasis-open.org/archives/odata/201804/msg00001.html
Minutes Draft Public URL (previous meeting):
- URL = "">
https://www.oasis-open.org/committees/download.php/62749/odata-meeting-208_on-20180322-minutes.html
Online document walkthroughs or presentations:
- URL = "" href="https://sap.emea.pgiconnect.com/OData-TC" target="_blank">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
Timeline(Updated!):
- URL = "">
https://www.oasis-open.org/committees/download.php/62637/TC%20Timeline-2018-03-02.docx
Agenda Draft (for meeting #209):
==============================================================
Please see link above to mailing list.
==============================================================
Meeting Member URL:
- URL = "">
https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46250
- Please use starting approx. 15 minutes before the meeting for self
registration. Thanks.
- Self registration deep link (as a service):
-
https://www.oasis-open.org/apps/org/workgroup/odata/record_my_attendance.php?event_id=46250&confirmed=1
[17:02] Ralf Handl (SAP SE): Voting Members: 5 of 11 (45%) (used for quorum calculation) Room Information:
OASIS Open Data Protocol (OData) TC OData TC Weekly Meeting (Conference
Call) #209
- Thursday, 05 April 2018, 08:00am to 10:00am PDT
- i.e. 2018-04-05 17:00 to 19:00 CEST (UTC+2)
- other timezone? Try eg.:
-
https://www.timeanddate.com/worldclock/meetingdetails.html?year=2018&month=4&day=5&hour=15&min=0&sec=0&p1=47&p2=69&p3=179
UsefulPlaces:
- Chat:
- http://webconf.soaphub.org/conf/room/odatatc # ... this place
- ScreenShare and Voice:
- https://sap.emea.pgiconnect.com/OData-TC
Next Planned meetings (tentative):
- Thursday April 12, 2018 during 8-10 am PDT (17:00-18:00 CEST)
-
https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46251
- Thursday April 19, 2018 during 8-10 am PDT (17:00-19:00 CEST)
-
https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46252
Agenda-Draft E-Mail URL:
- E-Mail Public URL = "">
https://lists.oasis-open.org/archives/odata/201804/msg00001.html
Minutes Draft Public URL (previous meeting):
- URL = "">
https://www.oasis-open.org/committees/download.php/62749/odata-meeting-208_on-20180322-minutes.html
Online document walkthroughs or presentations:
- URL = "" href="https://sap.emea.pgiconnect.com/OData-TC" target="_blank">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
Timeline(Updated!):
- URL = "">
https://www.oasis-open.org/committees/download.php/62637/TC%20Timeline-2018-03-02.docx
Agenda Draft (for meeting #209):
==============================================================
Please see link above to mailing list.
==============================================================
Meeting Member URL:
- URL = "">
https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46250
- Please use starting approx. 15 minutes before the meeting for self
registration. Thanks.
- Self registration deep link (as a service):
-
https://www.oasis-open.org/apps/org/workgroup/odata/record_my_attendance.php?event_id=46250&confirmed=1 [17:03] Ralf Handl (SAP SE)1: Voting Members: 6 of 11 (54%) (used for quorum calculation) [17:06] Ralf Handl (SAP SE)1: Voting Members: 7 of 11 (63%) (used for quorum calculation) [17:07] Ralf Handl (SAP SE)1 morphed into Ralf Handl (SAP SE) [17:09] Ralf Handl (SAP SE): 2.Approve agenda [8:05 am PT] [17:11] Ralf Handl (SAP SE): George: clarify resolution to ODATA-1154 [17:12] Ralf Handl (SAP SE): No further changes, agenda is approved [17:12] Ralf Handl (SAP SE): 3.Approve minutes from previous meeting(s) [8:10 am PT] a.Minutes from March 22, 2018 TC meeting: https://www.oasis-open.org/committees/download.php/62749/odata-meeting-208_on-20180322-minutes.html
[17:13] Ralf Handl (SAP SE): Section 5.1.3 [17:14] Ralf Handl (SAP SE): "initial default version" needs more clarification [17:15] Michael Pizzo: in ODATA-1154: "initial Default Version" needs clarification. [17:16] Michael Pizzo: Our intention was that the behavior of the service did not change over time with respect to a client that does not specify an OData-MaxVersion header. [17:17] Ralf Handl (SAP SE): Minutes are approved [17:17] Ralf Handl (SAP SE): 4.Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT] a.Action items due
i.none
[17:20] Ralf Handl (SAP SE): Mike: shift Outline for REST Profile / OData Essentials to May 3rd [17:23] Ralf Handl (SAP SE): 5.Issues [8:20 am PT] a.V4.01: NEW or OPEN
[17:23] Ralf Handl (SAP SE): ix.ODATA-1170 Allow @odata.type next to $EnumMember for isomorphy to CSDL XML [17:24] Ralf Handl (SAP SE): The XML representation of <EnumMember> constant expressions contains the enumeration type name of the enumeration value as a prefix:
<Annotation Term="Namespace1_Alias.TermEnum">
<EnumMember>
Namespace1_Alias.ENString/String1 Namespace1_Alias.ENString/String3
</EnumMember>
</Annotation>
The JSON representation does not contain the type name:
"@com.odata.v4.technical.scenario.TermEnum":
{
"$EnumMember": "String1,String3"
}
This breaks isomorphy between XML and JSON representation of CSDL.
The JSON representation was explicitly chosen without type prefix to mirror the JSON Format representation of enumeration values in data payloads.
Allowing an @odata.type control information next to $EnumMember would both be consistent with JSON Format and establish isomorphy to CSDL XML:
"@com.odata.v4.technical.scenario.TermEnum":
{
"@odata.type": "Namespace1_Alias.ENString",
"$EnumMember": "String1,String3"
}
[17:28] Ralf Handl (SAP SE): Dynamic enum property in JSON Format: "DynEnumProp@odata.type": "Namespace1_Alias.ENString",
"DynEnumProp": "String1,String3"
[17:29] Ralf Handl (SAP SE): Alternative: "@com.odata.v4.technical.scenario.TermEnum":
{
"$EnumMember@odata.type": "Namespace1_Alias.ENString",
"$EnumMember": "String1,String3"
}
[17:30] Ralf Handl (SAP SE): Alternative (corrected): "@com.odata.v4.technical.scenario.TermEnum":
{
"$EnumMember@odata.type": "#Namespace1_Alias.ENString",
"$EnumMember": "String1,String3"
}
[17:32] Ralf Handl (SAP SE): "@com.odata.v4.technical.scenario.TermEnum": {
"$EnumMember@odata.type": "https://some.other/service/$metadata#Namespace1_Alias.ENString",
"$EnumMember": "String1,String3"
}
[17:34] Ralf Handl (SAP SE): ODATA-1170 is OPEN [17:35] Ralf Handl (SAP SE): Mike: do we allow @odata.type or do we require it? [17:39] Ralf Handl (SAP SE): Mike: if term is Edm.Primitive or Edm.Untyped, then required [17:40] Ralf Handl (SAP SE): Ralf: if term is concretely typed, allow it, don't require it [17:43] Ralf Handl (SAP SE): Mike: if we don't require it, then creating the XML representation requires having the term definitions around [17:43] Ralf Handl (SAP SE): Mike: optional is fine, is consistent with payloads [17:44] Ralf Handl (SAP SE): George: follow the same rules as @odata.type in data payloads: required if it cannot be computed [17:44] Michael Pizzo: We should make it optional in the normal case, required if you can't deduce the type; (i.e., if the term cannot be resolved for some reason or the type of the term is Edm.Untyped), as in the data payload. [17:45] George Ericson (Dell): Motion to approve OData-1170 as proposed. [17:45] Hubert Heijkers (IBM): I second [17:46] Ralf Handl (SAP SE): ODATA-1170 is RESOLVED with the amended proposal [17:46] Ralf Handl (SAP SE): i.ODATA-1168 Clarify the use of ETags for Avoiding Update Conflicts [17:47] Ralf Handl (SAP SE): Description: http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Data_Modification states:
11.4.1.1 Use of ETags for Avoiding Update Conflicts
If an ETag value is specified in an If-Match or If-None-Match header of a Data Modification Request or Action Request, the operation MUST only be invoked if the if-match or if-none-match condition is satisfied.
The ETag value specified in the if-match or if-none-match request header may be obtained from an ETag header of a response for an individual entity, or may be included for an individual entity in a format-specific manner.
Issue requiring clarification: we carefully need to distinguish between ODatas meaning of entity = an instance of an entity type" and HTTPs meaning of entity = the thing whose representation is transferred. ETags (= entity tags) refer to the HTTP meaning, and thus links/references/relationships are HTTP entities that can have their own ETags.
[17:51] Ralf Handl (SAP SE): GET Orders(1) --> ETag: a [17:51] Ralf Handl (SAP SE): GET Orders(1)/Items --> ETag: b [17:51] Ralf Handl (SAP SE): POST Orders(1)/Items,If-Match: b [18:03] Ralf Handl (SAP SE): GET Orders(1)/ShippingDate --> ETag: a [18:04] Ralf Handl (SAP SE): GET Orders(1)/Customer --> ETag: c - is a different OData entity [18:06] Ralf Handl (SAP SE): Mike: to flavors of ETags: ETag header (HTTP) and @odata.etag control information [18:08] Ralf Handl (SAP SE): George: need examples [18:11] Michael Pizzo: I think we agreed to: An ETag returned as a header represents the entire response. A Conditional GET for the same request using that ETag should return a response iff *anything* in the response has changed.
[18:12] Michael Pizzo: Question: Under what conditions can I use the ETag for an update? [18:15] George Ericson (Dell): Question w.r.t. current defn of behavior of ETAG for contained entities. [18:16] Ralf Handl (SAP SE): Each entity has its own ETag value that MUST change when structural properties or links from that entity have changed. In addition, modifying, adding, or deleting a contained entity MAY change the ETag of the parent entity. [18:16] Michael Pizzo: If the response was a single entity, then the etag can be used for a conditional update. [18:17] Michael Pizzo: -What if the request was for a collection? Can the ETag be used in updating the collection? Would a POST or DELETE fail if any member of the collection had changed, or only if something had been added/removed from the collection? Could I use an ETag header from a GET collection/$ref if I only wanted it to fail if the membership had changed? [18:26] Ralf Handl (SAP SE): GET Orders(1) --> ETag: a [18:26] Ralf Handl (SAP SE): GET Orders(1)?$expand=Items --> ETag: d? [18:27] Ralf Handl (SAP SE): Mike: yes if service supports conditional GET [18:28] Ralf Handl (SAP SE): Service could always return 200 OK with latest representation [18:30] Michael Pizzo: Issue: If I do a GET for customers?$expand=orders, and get back an ETag, and do a conditional GET to the same URL using the same ETag, I must get a response back if anything in the payload has changed, otherwise caching will return incorrect responses. [18:33] Ralf Handl (SAP SE): GET Orders(1) --> ETag: a [18:33] Ralf Handl (SAP SE): PATCH Orders(1) must have If-Match [18:36] Ralf Handl (SAP SE): Ralf to write up proposal reflecting this discussion [18:37] Ralf Handl (SAP SE): ii.ODATA-1165 Describe $expand and $select via prose text and examples, remove ABNF snippets [18:37] Ralf Handl (SAP SE): Postponed until Ralf prepares an example [18:37] Ralf Handl (SAP SE): iii.ODATA-1163 A Case for Common Expressions [18:38] Ralf Handl (SAP SE): one step back: ODATA-1168 is OPEN (to not waste the discussion [18:38] Ralf Handl (SAP SE): iii.ODATA-1163 A Case for Common Expressions [18:39] Ralf Handl (SAP SE): If all parameters are of the same type, the type of the _expression_ is of that type. If all parameter expressions are of numeric type, the return value has a numeric type capable of representing any of these expressions. Otherwise, the return value is the result of casting the _expression_ of the matching parameter to Edm.String. [18:45] Michael Pizzo: Issues with default cast to string: If expressions are different type (int, boolean) does case really do an implicit cast to string? What if an _expression_ is a complex/entity type? [18:46] Michael Pizzo: Alternative 1: Require expressions to be cast to compatible types [18:46] Michael Pizzo: Alternative 2: Allow the cast _expression_ to be Untyped [18:48] Michael Pizzo: Important typo: Alternative 2: Allow the *case* _expression_ to be Untyped [18:49] Michael Pizzo: If we start with 1 (which is more restrictive) we could relax later for alternative 2. We could not go the other way... [18:50] Ralf Handl (SAP SE): Alternative 1: Mike, Mark, Ralf, George, Hubert, Matt [18:51] Ralf Handl (SAP SE): Ted: would Alternative 1 pose problems for untyped languages? [18:57] Michael Pizzo: Proposed wording to capture alternative 1: All parameter expressions must be compatible.If all parameters are of the same type, the type of the case _expression_ is of that type. If all parameter expressions are of numeric type, the type of the case _expression_ has a numeric type capable of representing any of these expressions according to standard type promotion rules. If types of parameter expressions are not compatible, then they must be cast to compatible types.
[19:04] George Ericson (Dell): On 1168: See 13.9 of RFC2616, which proscribes caching with GET requests containing ? parameters. [19:05] Ralf Handl (SAP SE): Postponed to next meeting [19:05] Ralf Handl (SAP SE): 6.Next meetings [9:50 am PT] a.Thursday April 12, 2018 during 8-10 am PDT (17:00-19:00 CEST)
b.Thursday April 19, 2018 during 8-10 am PDT (17:00-19:00 CEST)
[19:05] George Ericson (Dell): https://www.omg.org/spec/OCL/2.4/PDF [19:06] Ralf Handl (SAP SE): Mike: can't make next week [19:06] Ralf Handl (SAP SE): Hubert: might be late [19:06] Ralf Handl (SAP SE): 7.AOB and wrap up [9:55 am PT] [19:06] Ralf Handl (SAP SE): None, meeting is adjourned From: Handl, Ralf 5.a.ix: New issue
ODATA-1170 Allow @odata.type next to $EnumMember for isomorphy to CSDL XML 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 April 05, 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.
Review action items [Action item list:
https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]
i. none
5.
Issues [8:20 am PT]
i. ODATA-1168
Clarify the use of ETags for Avoiding Update Conflicts
ii. ODATA-1165
Describe $expand and $select via prose text and examples, remove ABNF snippets
iii. ODATA-1163
A Case for Common Expressions
iv. ODATA-1148
PATCH with nested nav props should not remove omitted resources
v. ODATA-1143
Extend the Property metatype to allow a type that is an EntityType.
vi. ODATA-1141
Upsert: clarify upsert along nullable single-valued navigation path
vii. ODATA-1135
Document use of JSON $schema
viii. ODATA-1088
Clarify affect of applying an Annotation to an element
ix. ODATA-1170
Allow @odata.type next to $EnumMember for isomorphy to CSDL XML
i. ODATA-1167
Add way to specify which batch formats (if any) are supported by a service
ii. ODATA-1064
Add ability to annotate collections to return only count and NextLink
i. ODATA-1099
Add annotations to describe custom query options and custom headers
ii. ODATA-1005
Make sure we have capabilities for all new 4.01 functionality
iii. ODATA-884
Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
i. ODATA-1162
Fix data type in example model
ii. ODATA-1161
Clarify how to process hybrid results of a transformation in subsequent transformations
iii. ODATA-1160
Clarify example 66 in section 7.5
iv. ODATA-1159
Clarify context URLs for aggregated result sets
v. ODATA-1158
Transformations for limiting the number of entities in the result of a $apply transformation
vi. ODATA-1157
Transformation for sorting entities created by a $apply transformation
vii. ODATA-1137
Clarify type information for dynamic properties in the aggregated result set
viii. ODATA-1073
Conformance section references wrong annotation term
ix. ODATA-1068
3.12 Transformation expand: require at least two parameters, with innermost expansion requiring a filter()
x. ODATA-1041
Broaden definitions of transformations topcount and bottomcount
xi. (and 16 more)
6.
Next meetings [9:50 am PT]
7.
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]