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: [odata] Agenda for OData TC meeting on 2017-10-26 - chat transcript


[15:05] Room information was updated by: Stefan Hagen
OASIS Open Data Protocol (OData) TC OData TC Weekly Meeting (Conference Call) #193
- Thursday, 26 October 2017, 08:00am to 10:00am PDT
  - i.e. 2017-10-26 17:00 to 19:00 CEST (UTC+2)
  - other timezone? Try eg.:
  - https://www.timeanddate.com/worldclock/meetingdetails.html?year=2017&month=10&day=26&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/
i
Next Planned meetings (tentative):
- Thursday November 02, 2017 during 8-10 am PDT?
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44002
- Thursday November 09, 2017 during 8-10 am PDT?
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44003
 
Agenda-Draft E-Mail URL:
- E-Mail Public URL = "" href="https://lists.oasis-open.org/archives/odata/201710/msg00075.html" target="_blank">https://lists.oasis-open.org/archives/odata/201710/msg00075.html
 
Minutes Draft Public URL (previous meeting):
- URL = "" href="https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-minutes.html" target="_blank">https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-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/
 
Timeline(Updated!):
- URL = "" href="https://www.oasis-open.org/committees/download.php/61677/TC%20Timeline-2017-09-29.docx" target="_blank">https://www.oasis-open.org/committees/download.php/61677/TC%20Timeline-2017-09-29.docx
 
Agenda Draft (for meeting #193):
==============================================================
1. Roll call [8:00 am PT]
  1.1 Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44001 
2. Approve agenda [8:05 am PT]
3. Approve minutes from previous meeting(s) [8:10 am PT]
  3.1 Minutes from October 19, 2017 TC meeting: 
      URL = "" href="https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-minutes.html" target="_blank">https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-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]
  4.1 Action items due
    4.1.1 #0036 Register the OData- headers and preferences with IANA
      https://www.oasis-open.org/committees/download.php/61752/IANA_Header_Registration.docx
      https://www.oasis-open.org/committees/download.php/61751/IANA_Preference_Registration.docx 
5. Issues [8:30 am PT]
  5.1 V4.01 Public Review
    5.1.1 ODATA-1125 Define by-value/reference expectations for action/function payloads.
    5.1.2 ODATA-1123 Allow 24:00:00 for Edm.TimeOfDay
  5.2 Vocabularies: Schema Versioning
    5.2.1 Proposal: annotate vocabulary schemas with Core.SchemaVersion to make different revisions distinguishable
      5.2.1.1 Major version is 1 - will only be changed if we switch to Xxx.V2
      5.2.1.2 Minor version is incremented whenever we add a term, property, or AppliesTo target
      5.2.1.3 Patch version is incremented whenever we fix something - typos, descriptions, ...
  5.3 Vocabularies: APPLIED
    5.3.1 ODATA-1064 Add ability to annotate collections to return only count and NextLink
  5.4 Vocabularies: NEW or OPEN
    5.4.1 ODATA-1124 Authorization vocabulary: KeyLocation - also allow cookie as value?
    5.4.2 ODATA-1122 Add singletons for capability term targets
    5.4.3 ODATA-1121 Extend FilterExpressionRestrictions with "MultiPredicate"
    5.4.4 ODATA-1067 Consider ability to define computed default values
    5.4.5 ODATA-1005 Make sure we have capabilities for all new 4.01 functionality
    5.4.6 ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
6. Committee Note on Google Protocol Buffers as an alternative data format [9:10 am PT]
  6.1 George: describe use case and purpose of the proposed committee note
7. Structural Property with Type=Entity Type versus Containment Navigation Property [9:30 am PT]
  7.1 George: describe use case and why containment navigation properties arent sufficient
8. Next meetings [9:50 am PT]
  8.1 Thursday November 02, 2017 during 8-10 am PT
  8.1 Thursday November 209, 2017 during 8-10 am PT
9. AOB and wrap up [9:55 am PT]
==============================================================
 
Meeting Member URL:
- URL = "" href="https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44001" target="_blank">https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44001
  - 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=44001&confirmed=1

 

[15:54] Stefan7: KeepAlive

 

[16:31] Stefan: KeepAlive

 

[16:55] Stefan Hagen: Voting Members: 1 of 12 (8%) (used for quorum calculation)

 

Room Information:
OASIS Open Data Protocol (OData) TC OData TC Weekly Meeting (Conference Call) #193
- Thursday, 26 October 2017, 08:00am to 10:00am PDT
  - i.e. 2017-10-26 17:00 to 19:00 CEST (UTC+2)
  - other timezone? Try eg.:
  - https://www.timeanddate.com/worldclock/meetingdetails.html?year=2017&month=10&day=26&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/
i
Next Planned meetings (tentative):
- Thursday November 02, 2017 during 8-10 am PDT?
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44002
- Thursday November 09, 2017 during 8-10 am PDT?
  - https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44003
 
Agenda-Draft E-Mail URL:
- E-Mail Public URL = "" href="https://lists.oasis-open.org/archives/odata/201710/msg00075.html" target="_blank">https://lists.oasis-open.org/archives/odata/201710/msg00075.html
 
Minutes Draft Public URL (previous meeting):
- URL = "" href="https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-minutes.html" target="_blank">https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-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/
 
Timeline(Updated!):
- URL = "" href="https://www.oasis-open.org/committees/download.php/61677/TC%20Timeline-2017-09-29.docx" target="_blank">https://www.oasis-open.org/committees/download.php/61677/TC%20Timeline-2017-09-29.docx
 
Agenda Draft (for meeting #193):
==============================================================
1. Roll call [8:00 am PT]
  1.1 Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44001 
2. Approve agenda [8:05 am PT]
3. Approve minutes from previous meeting(s) [8:10 am PT]
  3.1 Minutes from October 19, 2017 TC meeting: 
      URL = "" href="https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-minutes.html" target="_blank">https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-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]
  4.1 Action items due
    4.1.1 #0036 Register the OData- headers and preferences with IANA
      https://www.oasis-open.org/committees/download.php/61752/IANA_Header_Registration.docx
      https://www.oasis-open.org/committees/download.php/61751/IANA_Preference_Registration.docx 
5. Issues [8:30 am PT]
  5.1 V4.01 Public Review
    5.1.1 ODATA-1125 Define by-value/reference expectations for action/function payloads.
    5.1.2 ODATA-1123 Allow 24:00:00 for Edm.TimeOfDay
  5.2 Vocabularies: Schema Versioning
    5.2.1 Proposal: annotate vocabulary schemas with Core.SchemaVersion to make different revisions distinguishable
      5.2.1.1 Major version is 1 - will only be changed if we switch to Xxx.V2
      5.2.1.2 Minor version is incremented whenever we add a term, property, or AppliesTo target
      5.2.1.3 Patch version is incremented whenever we fix something - typos, descriptions, ...
  5.3 Vocabularies: APPLIED
    5.3.1 ODATA-1064 Add ability to annotate collections to return only count and NextLink
  5.4 Vocabularies: NEW or OPEN
    5.4.1 ODATA-1124 Authorization vocabulary: KeyLocation - also allow cookie as value?
    5.4.2 ODATA-1122 Add singletons for capability term targets
    5.4.3 ODATA-1121 Extend FilterExpressionRestrictions with "MultiPredicate"
    5.4.4 ODATA-1067 Consider ability to define computed default values
    5.4.5 ODATA-1005 Make sure we have capabilities for all new 4.01 functionality
    5.4.6 ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
6. Committee Note on Google Protocol Buffers as an alternative data format [9:10 am PT]
  6.1 George: describe use case and purpose of the proposed committee note
7. Structural Property with Type=Entity Type versus Containment Navigation Property [9:30 am PT]
  7.1 George: describe use case and why containment navigation properties arent sufficient
8. Next meetings [9:50 am PT]
  8.1 Thursday November 02, 2017 during 8-10 am PT
  8.1 Thursday November 209, 2017 during 8-10 am PT
9. AOB and wrap up [9:55 am PT]
==============================================================
 
Meeting Member URL:
- URL = "" href="https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44001" target="_blank">https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=44001
  - 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=44001&confirmed=1
[17:02] anonymous morphed into Matt Borges (SAP)

 

[17:04] Ralf Handl (SAP SE): Voting Members: 8 of 12 (66%) (used for quorum calculation)

 

[17:04] Stefan Hagen: Voting Members: 8 of 12 (66%) (used for quorum calculation)

 

[17:04] Ralf Handl (SAP SE): Achieved quorum: yes

 

[17:04] Stefan Hagen: So I seconde

 

[17:05] Ralf Handl (SAP SE): 2.Approve agenda [8:05 am PT]
[17:05] Ralf Handl (SAP SE): New agenda items:
5.a. V4.01 Public Review
  iii. ODATA-1126 Remove a Reference to an Entity (public review comment c201710e00005)
  iv.  ODATA-1127 clarify support for navigation properties on deleted entries
  v.   Function Imports in $filter and $orderby - possible with $root/FuncImpName --> remove contradicting MUST NOT text in part 1 and 2
  vi.  Action Invocation: editorial change to first paragraph of section 11.5.4.1 Invoking an Action
[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 October 19, 2017 TC meeting: https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-minutes.html
[17:07] Ralf Handl (SAP SE): Minutes are approved
[17:08] 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.#0036 Register the OData- headers and preferences with IANA
1.https://www.oasis-open.org/committees/download.php/61752/IANA_Header_Registration.docx 
2.https://www.oasis-open.org/committees/download.php/61751/IANA_Preference_Registration.docx
[17:13] Ralf Handl (SAP SE): Documents look fine, Mark to follow up with Robin Cover on triggering the IANA registration

 

[17:13] George Ericson (Dell)1 morphed into George Ericson (Dell)

 

[17:14] Ralf Handl (SAP SE): 5.Issues [8:30 am PT]
a.V4.01 Public Review
[17:14] Ralf Handl (SAP SE): i.ODATA-1125 Define by-value/reference expectations for action/function payloads.
ii.ODATA-1123 Allow 24:00:00 for Edm.TimeOfDay
  iii. ODATA-1126 Remove a Reference to an Entity (public review comment c201710e00005)
  iv.  ODATA-1127 clarify support for navigation properties on deleted entries
  v.   Function Imports in $filter and $orderby - possible with $root/FuncImpName --> remove contradicting MUST NOT text in part 1 and 2
  vi.  Action Invocation: editorial change to first paragraph of section 11.5.4.1 Invoking an Action
[17:15] Ralf Handl (SAP SE): i.ODATA-1125 Define by-value/reference expectations for action/function payloads.
[17:15] Ralf Handl (SAP SE): Description
Descriptions of parameters and return types do not explain expectations for references to Entities. 
The metamodel + vocabulary for CSDL allows three types of encodings: 
By-reference, represented as a string containing a URL that references the resource. 
By-reference, represented as an object containing a partial copy of the resource that includes just the @odata.id meta property with a value that is a string containing a URL that references the resource. 
By-value, represented as an object containing a copy of the resource. 
 
For parameters and return-types, the question is which of these are expected in a payload.
[17:16] Ralf Handl (SAP SE): 1) Describe the encoding options in the CSDL documents. 
2) In the protocol, describe the expectations for different uses when type is an entitytype. 
3) cover these in the JSON format document.
[17:17] Ralf Handl (SAP SE): ODATA-1125 is OPEN
[17:18] Ralf Handl (SAP SE): Expectations:
[17:18] Ralf Handl (SAP SE): - binding parameter by reference via URL preceding action/function
[17:18] Ralf Handl (SAP SE): - non-binding primitive and complex by value in action request body
[17:19] Ralf Handl (SAP SE): - non-binding (collection-valued) parameters of entity type:
[17:20] Ralf Handl (SAP SE): - by reference using { "@id": ... }
[17:21] Ralf Handl (SAP SE): - by value using object notation with literal property values

 

[17:28] Michael Pizzo: Consider adding a vocabulary term to annotate an entity-valued parameter as byref/byvalue?

 

[17:29] Ralf Handl (SAP SE): Expected default: by reference (George, Ralf)

 

[17:30] Michael Pizzo: So term would be a "tag" representing "ByValue" with a default Boolean value (if applied) of true.
[17:30] Michael Pizzo: or "PassByValue"?
[17:31] Michael Pizzo: Absence of the term would mean by reference
[17:33] Michael Pizzo: Pass by reference would be {"@id":...}
[17:33] Michael Pizzo: When passed by value, its dependent upon the semantics of the action how many  (if any) properties need to be included...

 

[17:34] Ralf Handl (SAP SE): Mixed list of value entities and entity references:
 
{
  "Name": "UpdatedCategory",
  "Products": [
    {
      "@id": "Products(42)"
    },
    {
      "@id": "Products(57)",
      "Name": "Widgets"
    },
    {
      "Name": "Wedges"
    }
  ]
}
[17:36] Ralf Handl (SAP SE): ByValue means: all of the above allowed
[17:36] Ralf Handl (SAP SE): ByReference means: only first form is allowed
[17:38] Ralf Handl (SAP SE): Example taken from http://docs.oasis-open.org/odata/odata-json-format/v4.01/csprd03/odata-json-format-v4.01-csprd03.html#sec_BindOperation
[17:40] Ralf Handl (SAP SE): Agreement: expectations to be spelled out in Part 1: Protocol, with forward-reference to JSON Format for "bind syntax" / "entity references"
[17:41] Ralf Handl (SAP SE): To be detailed by authors, to be reviewed in document walk-through

 

[17:43] George Ericson (Dell): I move to accept the agreement on documenting the by-value/by-reference expectations in Part 1: Protocol, with forward-reference to JSON Format for "bind syntax" / "entity references"

 

[17:43] Mark Biamonte (Progress): I second

 

[17:43] Ralf Handl (SAP SE): ODATA-1125 is RESOLVED as proposed
[17:45] Ralf Handl (SAP SE): Example 22:  primitive value
 
{
  "@context": "http://host/service/$metadata#Edm.String",
  "value": "Pilar Ackerman"
}
[17:46] Ralf Handl (SAP SE): Example 25: complex value
 
{
  "@context": "http://host/service/$metadata#Model.Address",
  "Street": "12345 Grant Street",
  "City": "Taft",
  "Region": "Ohio",
  "PostalCode": "OH 98052",
  "Country@navigationLink": "Countries('US')"
}
[17:47] Ralf Handl (SAP SE): Example 26: empty collection of complex values
 
{
  "@context":"http://host/service/$metadata#Collection(Model.Address)",
  "value": []
}
[17:50] Ralf Handl (SAP SE): ii.ODATA-1123 Allow 24:00:00 for Edm.TimeOfDay
[17:50] Ralf Handl (SAP SE): Description
Public review comment https://lists.oasis-open.org/archives/odata-comment/201710/msg00003.html 
 
CSDL 4.01 permits Edm.TimeOfDay values to range from 00:00:00 to 23:59:59.999*. 
 
However existing systems (e.g. SAP backends) frequently utilize 24:00:00 to indicate end-of-day. Requiring these values to be transmitted (e.g. to clients) as 23:59:59.999* could result in round-trip data loss. 
 
 In fact such SAP systems (for V2/V4) already will return PT24H or normalization-equivalent (for the V2 format of Edm.Time using XSD duration) or 24:00:00 (for the V4 format of Edm.TimeOfDay using XSD time), which is non-compliant with OData V2-V4 specifications. 
 
To improve interoperability, it would be preferable to standardize this behaviour. 
 
Note that the lexical format for XSD time permits 24:00:00, as it is the left-truncation of dateTime lexical representation, and dateTime lexical representation (see https://www.w3.org/TR/xmlschema-2/#dateTime) states: 
 
 - hh is a two-digit numeral that represents the hour; '24' is permitted if the minutes and seconds represented are zero, and the dateTime value so represented is the first instant of the following day (the hour property of a dateTime object in the value space cannot have a value greater than 23);
[17:53] Ralf Handl (SAP SE): { date: 2017-10-26, time: 24:00:00 } is end of that day
[17:54] Ralf Handl (SAP SE): { date: 2017-10-26, time: 00:00:00 } is begin of that day
[17:54] Ralf Handl (SAP SE): Would mean 00:00:00 lt 24:00:00
[17:55] Ralf Handl (SAP SE): Could allow it in DateTimeOffset
[17:56] Ralf Handl (SAP SE): 2017-10-26T24:00:00 eq 2017-10-27T00:00:00
[17:57] Ralf Handl (SAP SE): Mike: two concerns
[17:58] Ralf Handl (SAP SE): - backward compatibility with V4 / V3 / V2 clients
[17:58] Ralf Handl (SAP SE): --> would need some kind of content negotiation
[17:58] Ralf Handl (SAP SE): --> would cause round-tripping problems for clients not able to represent 24:00:00
[18:08] Ralf Handl (SAP SE): ISO 8601 allowed 24:00 but seems to disallow it in the future: https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf

 

[18:09] Michael Pizzo: Description of PHP understanding 24:00 but saving as 00:00: https://stackoverflow.com/questions/13060467/difference-between-2400-and-0000

 

[18:10] Ralf Handl (SAP SE): NOTE 2 The _expression_ 00:00:00 denotes beginning of day; for Information Technology Interchange there is no
representation of end of day. Thus even though it is recognized that the _expression_ 24:00:00 is used as a natural
language _expression_ to denote end of a day, this _expression_ is not used for Information Technology Interchange.
[18:12] Ralf Handl (SAP SE): ODATA-1123 is OPEN

 

[18:13] anonymous morphed into George

 

[18:15] George Ericson (Dell): I move to close OData-1123 with no action.

 

[18:16] Mark Biamonte (Progress): I second

 

[18:16] Michael Pizzo: I second

 

[18:16] Ralf Handl (SAP SE): ODATA-1123 is CLOSED without action
[18:16] Ralf Handl (SAP SE): iii. ODATA-1126 Remove a Reference to an Entity (public review comment c201710e00005)
[18:17] Ralf Handl (SAP SE): Description
Public review comment https://lists.oasis-open.org/archives/odata-comment/201710/msg00005.html 
 
The document "OData Version 4.0, Part1: Protocol" specifies in section 
"11.4.6.2 Remove a Reference to an Entity": 
 
     For collection-valued navigation properties, the entity reference of 
     the entity to be removed MUST be specified using the $id query 
     string option. 
 
It would be nice if instead of or at least additional to using the $id query 
option it would be allowed to use the key after the navigation property 
to specify which entity is referenced. 
 
Example: 
    DELETE http://host/service/Customers(1)/Orders/$ref?$id=../../Orders(4711) 
could be expressed as 
    DELETE http://host/service/Customers(1)/Orders(4711)/$ref 
 
This avoids a mandatory query option, handling of nested URLs, and parsing of relative or absolute URLs including verification that the URL is fitting; last but not least it is shorter and easier to understand. 
 
Kind Regards, 
Oliver Heinrich
[18:18] Ralf Handl (SAP SE): George likes it
[18:19] Ralf Handl (SAP SE): Part 2, section 4.9: http://docs.oasis-open.org/odata/odata/v4.01/csprd03/part2-url-conventions/odata-v4.01-csprd03-part2-url-conventions.html#sec_AddressingaMemberwithinanEntityColle
[18:19] Ralf Handl (SAP SE): Added recently, lists cases where an entity can be identified by key within a collection

 

[18:19] Michael Pizzo: I believe we discussed this when defining how to delete references in OData 4.0.  The concern was the URL http://host/service/Customers(1)/Orders(4711) represents the entity, so /$ref would be order 4711's reference, not the reference from the customer...

 

[18:20] Ralf Handl (SAP SE): ODATA-1126 is OPEN

 

[18:20] Michael Pizzo: i.e., if you do a GET on http://host/service/Customers(1)/Orders(4711)/$ref would return Orders(4711)
[18:21] Michael Pizzo: if you did a delete on that returned value, you would be deleting Orders(4711), not the reference from Customers(1) to Orders(4711).

 

[18:21] Ralf Handl (SAP SE): GET http://host/service/Customers(1)/Orders(4711)/$ref --> { @id: Orders(4711) }
[18:21] Ralf Handl (SAP SE): ET http://host/service/Customers(1)/Orders$ref --> [ { @id: Orders(4711) }, ... ]
[18:22] Ralf Handl (SAP SE): a) DELETE http://host/service/Customers(1)/Orders(4711)/$ref
[18:22] Ralf Handl (SAP SE): a) DELETE http://host/service/Customers(1)/Orders/$ref(4711)

 

[18:22] Michael Pizzo: However, we do cheat a bit on the single-valued nav prop by allowing host://service/Customers(1)/BestFriend/$ref...

 

[18:24] Ralf Handl (SAP SE): Example 29: two ways of unrelating Categories(1) and Products(0)
 
DELETE http://host/service/Categories(1)/Products/$ref?$id=../../Products(0)
DELETE http://host/service/Products(0)/Category/$ref
[18:26] Ralf Handl (SAP SE): Resolve relative URL in first notation:
DELETE http://host/service/Categories(1)/Products/$ref?$id=/service/Products(0)

 

[18:33] Michael Pizzo: The associationLink annotation in a response contains an association URL that can be used to retrieve a reference to an entity or a collection of references to entities related to the current entity via a navigation property.
The default computed value of an association URL is the value of the navigation URL appended with /$ref.
[18:34] Michael Pizzo: (above is from JSON format doc)
[18:34] Michael Pizzo: However, when we do a GET to nav property appended with $ref you get back the id of the related entity, not relative to the nav prop.

 

[18:36] Ralf Handl (SAP SE): GET http://host/service/Customers(1)/Orders(4711)/$ref --> { @id: Orders(4711) }

 

[18:36] Michael Pizzo: Matches 11.2.8 Requesting Entity References
To request entity references in place of the actual entities, the client issues a GET request with /$ref appended to the resource path.

 

[18:37] Ralf Handl (SAP SE): GET http://host/service/Customers(1)/Orders/$ref --> [ { @id: Orders(4711) }, ... ]
[18:37] Ralf Handl (SAP SE): DELETE http://host/service/Customers(1)/Orders(4711)/$ref
[18:38] Ralf Handl (SAP SE): GET http://host/service/Customers(1)/Orders/$ref --> [ ... ]
[18:40] Ralf Handl (SAP SE): George: for containment navigation properties DELETE Parent(key1)/CNProp(key2) and DELETE Parent(key1)/CNProp(key2)/$ref have the same result: child is gone
[18:42] Ralf Handl (SAP SE): Single-valued case - already allowed
[18:42] Ralf Handl (SAP SE): GET http://host/service/Products(0)/Category/$ref --> { Categories(1) }
[18:43] Ralf Handl (SAP SE): DELETE http://host/service/Products(0)/Category/$ref
[18:43] Ralf Handl (SAP SE): GET http://host/service/Products(0)/Category/$ref --> 204 No Content
[18:43] Ralf Handl (SAP SE): GET http://host/service/Products(0)/Category/$ref --> 204 No Content
[18:43] Ralf Handl (SAP SE): GET http://host/service/Products(0)/Category --> 204 No Content

 

[18:44] Michael Pizzo: from a pure REST perspective, the action (DELETE) is not being carried out on what would be returned by a GET on the same URL (the id of the order, not it's reference from customer), but (again) we already violate that for the single nav prop case...

 

[18:49] Ralf Handl (SAP SE): Postpone to next meeting, sleep over it for some nights...
[18:49] Ralf Handl (SAP SE): Tentative proposal:
- servers to accept both forms
- clients to prefer new form

 

[18:50] Michael Pizzo: For compatibility, 4.01 service would have to support both; would prefer 4.01 clients to use the new format.

 

[18:51] Ralf Handl (SAP SE): Mike: not tie new URL syntax to OData-Version header, allow it also with OData-Version:4.0
[18:52] Ralf Handl (SAP SE): b.Vocabularies: Schema Versioning
i.Proposal: annotate vocabulary schemas with Core.SchemaVersion to make different revisions distinguishable
1.Major version is 1  will only be changed if we switch to Xxx.V2
2.Minor version is incremented whenever we add a term, property, or AppliesTo target
3.Patch version is incremented whenever we fix something  typos, descriptions,
[18:55] Ralf Handl (SAP SE): Mike likes it
[18:57] Ralf Handl (SAP SE): 8.Next meetings [9:50 am PT]
a.Thursday November 02, 2017 during 8-10 am PDT - 16:00 CEST in Europe, one hour earlier
b.Thursday November 09, 2017 during 8-10 am PDT
[18:57] Ralf Handl (SAP SE): 9.AOB and wrap up [9:55 am PT]
[18:57] Ralf Handl (SAP SE): Meeting is adjourned

 

 

From: odata@lists.oasis-open.org [mailto:odata@lists.oasis-open.org] On Behalf Of Handl, Ralf
Sent: Mittwoch, 25. Oktober 2017 09:56
To: odata@lists.oasis-open.org
Subject: [odata] Agenda for OData TC meeting on 2017-10-26

 

Here [1] is a draft agenda for the OData TC (Technical Committee) meeting scheduled on Thursday October 26, 2017 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=44001

 

2.        Approve agenda [8:05 am PT]

 

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

    1. Minutes from October 19, 2017 TC meeting: https://www.oasis-open.org/committees/download.php/61866/odata-meeting-192_on-20171019-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.    #0036 Register the OData- headers and preferences with IANA

        1. https://www.oasis-open.org/committees/download.php/61752/IANA_Header_Registration.docx
        2. https://www.oasis-open.org/committees/download.php/61751/IANA_Preference_Registration.docx

 

5.        Issues [8:30 am PT]

    1. V4.01 Public Review

                                  i.    ODATA-1125 Define by-value/reference expectations for action/function payloads.

                                 ii.    ODATA-1123 Allow 24:00:00 for Edm.TimeOfDay

 

    1. Vocabularies: Schema Versioning

                                  i.    Proposal: annotate vocabulary schemas with Core.SchemaVersion to make different revisions distinguishable

        1. Major version is 1 – will only be changed if we switch to Xxx.V2
        2. Minor version is incremented whenever we add a term, property, or AppliesTo target
        3. Patch version is incremented whenever we fix something – typos, descriptions, …

 

    1. Vocabularies: APPLIED

                                  i.    ODATA-1064 Add ability to annotate collections to return only count and NextLink

 

    1. Vocabularies: NEW or OPEN

                                  i.    ODATA-1124 Authorization vocabulary: KeyLocation - also allow cookie as value?

                                 ii.    ODATA-1122 Add singletons for capability term targets

                                iii.    ODATA-1121 Extend FilterExpressionRestrictions with "MultiPredicate"

                                iv.    ODATA-1067 Consider ability to define computed default values

                                 v.    ODATA-1005 Make sure we have capabilities for all new 4.01 functionality

                                vi.    ODATA-884 Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)

 

6.        Committee Note on Google Protocol Buffers as an alternative data format [9:10 am PT]

    1. George: describe use case and purpose of the proposed committee note

 

7.        Structural Property with Type=Entity Type versus Containment Navigation Property [9:30 am PT]

    1. George: describe use case and why containment navigation properties aren’t sufficient

 

8.        Next meetings [9:50 am PT]

    1. Thursday November 02, 2017 during 8-10 am PDT
    2. Thursday November 09, 2017 during 8-10 am PDT

 

9.        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]