OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[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 http://webconf.soaphub.org/conf/images/smile.gif
[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
Sent: Donnerstag, 5. April 2018 13:25
To: Handl, Ralf <ralf.handl@sap.com>; odata@lists.oasis-open.org
Subject: RE: Agenda for OData TC meeting on 2018-04-05

 

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
Sent: Freitag, 23. März 2018 13:08
To: odata@lists.oasis-open.org
Subject: [CAUTION] [odata] Agenda for OData TC meeting on 2018-04-05

 

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]

    1. Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=46250

 

2.           Approve agenda [8:05 am PT]

 

3.           Approve minutes from previous meeting(s) [8:10 am PT]

    1. Minutes from March 22, 2018 TC meeting: https://www.oasis-open.org/committees/download.php/62749/odata-meeting-208_on-20180322-minutes.html

 

4.           Review action items [Action item list: https://www.oasis-open.org/apps/org/workgroup/odata/members/action_items.php] [8:15am PT]

    1. Action items due

                                             i.      none

 

5.           Issues [8:20 am PT]

    1. V4.01: NEW or OPEN

                                             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

 

    1. Vocabularies: NEW or OPEN with concrete proposal

                                             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

 

    1. Vocabularies: NEW or OPEN that need more discussion

                                             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)

 

    1. Data Aggregation: NEW or OPEN

                                             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]

    1. Thursday April 12, 2018 during 8-10 am PDT (17:00-19:00 CEST)
    2. Thursday April 19, 2018 during 8-10 am PDT (17:00-19:00 CEST)

 

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]