[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [odata] Agenda for OData TC meeting on 2016-09-08 - chat transcript
Room information was updated by: Stefan Hagen Register: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=41479 (please do so as usual, thanks). Agenda draft: https://www.oasis-open.org/apps/org/workgroup/odata/email/archives/201609/msg0000n.html
Minutes draft of previous meeting: https://www.oasis-open.org/committees/download.php/58746/odata-meeting-142_on-20160818-minutes.html Stefan Hagen: Info4Scribe{Voting Members: 1 of 12 (8%) (used for quorum calculation)} anonymous morphed into Ted Jones (Red Hat) anonymous morphed into Ramesh Reddy (Red Hat) Stefan Hagen: Voting Members: 5 of 12 (41%) (used for quorum calculation) Ralf Handl (SAP): 1.Roll call [8:00am PT] a.Self-registration link: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=41479 Ralf Handl (SAP): Voting Members: 7 of 12 (58%) (used for quorum calculation) Ralf Handl (SAP): Quorum achieved: yes Ralf Handl (SAP): 2.Approve agenda [8:05am PT] anonymous morphed into Matt Borges (SAP) Ralf Handl (SAP): New agenda item: V4.01 documents prepared by Mike Pizzo Ralf Handl (SAP): Agenda approved with above addition Ralf Handl (SAP): 3.Approve minutes from previous meeting(s) [8:10am PT] a.Minutes from August 18, 2016 TC meeting: https://www.oasis-open.org/committees/download.php/58746/odata-meeting-142_on-20160818-minutes.html Ralf Handl (SAP): Minutes are approved Ralf Handl (SAP): 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
Ralf Handl (SAP): Mark volunteers to take over Action Item 0036 - Robin Cover from OASIS can help with the process Ralf Handl (SAP): Email address: Robin Cover <robin@oasis-open.org> Ralf Handl (SAP): 4.5 V4.01 documents prepared by Mike Ralf Handl (SAP): Mike uploaded documents with 60+ issues applied Ralf Handl (SAP): Homework: review the new documents Ralf Handl (SAP): Next meeting (4 hours): walk through the documents Ralf Handl (SAP): Please pay special attention to the compliance sections Ralf Handl (SAP): Goal: have public review soon, resolve remaining issues during the public review period Ralf Handl (SAP): Additional issues coming up when applying the resolutions are documented in the Jira issues, please refer to them, and also comment there Ralf Handl (SAP): 5.V4.01 [9:20am PT] a.Issues for V4.01_WD01 in New or Open state
i.New Query Capabilities
1.ODATA-827 introduce $compute query option
Ralf Handl (SAP): Add "$compute" query option allowing additional computed properties to be added to each instance. The syntax is similar to the compute() transformation in Data Aggregation, i.e. $compute=<list of compute expressions>, but without the restriction to simple values: allowed compute expressions are any expressions valid in a $filter system query option on the input set.
More formally:
compute = '$compute' EQ computeItem *( COMMA computeItem )
computeItem = commonExpr RWS 'as' RWS computedProperty
computedProperty = odataIdentifier
$compute is also allowed as query option nested within $expand to add computed dynamic properties to expanded entities.
$compute is logically evaluated first, so the computed dynamic properties can be used in $expand, $filter, $orderby, and $select.
Computed structural properties SHOULD be added to the default selection (in absence of $select), and are treated as other dynamic properties:
- $select=* includes computed structural properties
- $expand=* includes computed navigation properties or computed entities/collections of entities
- appear in context URL same way as other (dynamic) properties
GET ~Customers?$expand=Orders($compute=price*qty as totalprice;$select=name,price,qty,totalprice)
Ralf Handl (SAP): Addition to proposal: when nested in $expand, the computed property name must only be unique within the type(s) of the expanded properties Ralf Handl (SAP): Computed properties in expanded entities can be addressed with path notation just as declared properties Mike Pizzo: Note: in this example, totalprice is available outside of the expand as Orders/totalprice, as in: GET ~Customers?$filter=Orders/totalprice gt 100&$expand=Orders($compute=price*qty as totalprice;$select=name,price,qty,totalprice)
Mike Pizzo: I move we approve ODATA-827 as proposed Ramesh Reddy (Red Hat): I second Ralf Handl (SAP): ODATA-827 is resolved as proposed Ralf Handl (SAP): 2.ODATA-933 Allow using instance annotations in $filter Ralf Handl (SAP): Clarification: use same rules as for dynamic properties if instance annotation is not defined for an entity Ralf Handl (SAP): Services MAY support this, not a MUST Ralf Handl (SAP): Example: numeric exception values Ralf Handl (SAP): GET Something?$filter=Age@numericValueException eq 'NaN' Ralf Handl (SAP): ODATA-933 is OPEN Ralf Handl (SAP): Mark: have Capability annotation "CanFilterOnInstanceAnnotations" Ralf Handl (SAP): Consider this also for $select, would be more explicit than in an odata.include-annotations preference. Mike Pizzo: Mike: Perhaps wait until we have some usage scenarios before trying to figure out meaningful capabilities. Ralf Handl (SAP): Mike: open separate issue for instance annotations in $select and $expand, limit this issue to $filter - Mike to create the new issue Ralf Handl (SAP): I move to resolve ODATA-933 with the amended proposal: limited to $filter, purely optional feature that services MAY support Mark Biamonte (Progress): I second Ralf Handl (SAP): ODATA-933 is resolved with the amended proposal Ralf Handl (SAP): Mike has created https://issues.oasis-open.org/browse/ODATA-975 to keep track of instance annotations in $select and $expand Ralf Handl (SAP): 3.ODATA-953 Consider deprecating structural casting Ralf Handl (SAP): Structural casting is a MAY, so as long as we do not explicitly forbid structural casting we can remove it Mike Pizzo: Current Proposal: Clarify that structural casting MUST NOT be applied anywhere other than the explicit cast operator; i.e., it MUST NOT be applied when using cast segments nor evaluating isof. Ralf Handl (SAP): ODATA-953 is OPEN Mike Pizzo: Since currently optional, revised proposal could be: Remove current language around structural casting. Mike Pizzo: I propose we resolve ODATA-953 by removing the current language around structural casting. Mike Pizzo: I move we resolve ODATA-953 by removing the current language around structural casting. Mark Biamonte (Progress): I second Ralf Handl (SAP): ODATA-953 is resolved as proposed Ralf Handl (SAP): 4.ODATA-954 Key-As-Segment for multi-part keys Ralf Handl (SAP): Generalize the rules in ODATA-799 to allow key-as-segment notation also for multi-part keys.
Example: an accounting document is identified by the company code, the year, and the (auto-incremented) document number:
<EntityType Name="AccountingDocument">
<Key>
<PropertyRef Name="CompanyCode" />
<PropertyRef Name="Year" />
<PropertyRef Name="DocumentNumber" />
</Key>
</EntityType>
Taking into account the order of <PropertyRef> elements within the <Key> element a single accounting document can be identified as
GET AccountingDocuments/SAP/2016/4329043280
An optional extension would be to treat the multi-part key as a "folder structure", i.e.
AccountingDocuments/SAP/2016
would identify the subset of accounting documents for a company and year, and
AccountingDocuments/SAP
would identify the subset of accounting documents for a company.
Services could optionally support this as a shorthand for
GET AccountingDocuments?$filter=CompanyCode eq 'SAP' and Year eq '2016'
and
GET AccountingDocuments?$filter=CompanyCode eq 'SAP'
Mike Pizzo: Could separate into two parts: first, support for multi-part key-as-segment and second as partial keys for both parens and key-as-segment Ralf Handl (SAP): Mike has created ODATA-976 Support partial keys Ralf Handl (SAP): ODATA-954 only for fully specified multi-part keys Ralf Handl (SAP): ODATA-954 is OPEN Ralf Handl (SAP): Generalize the rules in ODATA-799 to allow key-as-segment notation also for multi-part keys.
Example: an accounting document is identified by the company code, the year, and the (auto-incremented) document number:
<EntityType Name="AccountingDocument">
<Key>
<PropertyRef Name="CompanyCode" />
<PropertyRef Name="Year" />
<PropertyRef Name="DocumentNumber" />
</Key>
</EntityType>
Taking into account the order of <PropertyRef> elements within the <Key> element a single accounting document can be identified as
GET AccountingDocuments/SAP/2016/4329043280
Ralf Handl (SAP): Discussion on ambiguity: same rules apply as defined in ODATA-799 Mike Pizzo: For ODATA-954, if one segment is resolved as a partial key value then the subsequent segments should be resolved as any remaining key values. Mike Pizzo: I move we resolve ODATA-954 as proposed. Mark Biamonte (Progress): I second Ralf Handl (SAP): ODATA-954 is resolved with the amended proposal Ralf Handl (SAP): Side note: introduce filter segment GET Something/$filter(@f)/some.function()?@f=...
Ralf Handl (SAP): 5.ODATA-963 Make query options case insensitivite Stefan Hagen1: ora shortcut for letter insensitive Ralf Handl (SAP): $Filter=Something EQ 42 OR SubstringOf(...) Mike Pizzo: Updated title: Make query options, built-in functions, and built-in operators case insensitive Mike Pizzo: Updated proposal: 4.01 services must support case insensitive system query options. built-in functions, and built-in operators Interoperable 4.01 clients must continue to use the 4.0 defined casing.
Stefan Hagen1: I move to resolve ODATA-963 as resolved Ralf Handl (SAP): ODATA-963 is openb Stefan Hagen1: I move to resolve ODATA-963 as proposed Mark Biamonte (Progress): I second Ralf Handl (SAP): ODATA-963 is resolved as proposed Ralf Handl (SAP): ii.Set Operations 1.ODATA-836 Allow applying actions to a filtered collection of entities
Ralf Handl (SAP): Either add a path segment that takes a boolean _expression_, optionally deferred to a parameter alias, or allow POST in combination with $apply
POST Products/$filter(Age gt 3)/Special.Discount
POST Products/$filter(@f)/Special.Discount?@f=Age gt 3
POST Products?$apply=filter(Age gt 3)/Special.Discount
Consider adding path equivalents of other query options:
POST /Orders/$filter(@f)/$top(5)/Ship?@f=Details/ShippingDate lt now()
Mark Biamonte (Progress): oops...I went to take myself of mute and hung up instead. I don't have a use case right now. Mark Biamonte (Progress): will rejoin the call in a minute Mike Pizzo: The use of $apply from aggregation extension seems consistent and cleaner than trying to put something in the path. As we have no urgent need, I would propose we postpone this to a future release as a proposal for how to address this if the need arises. Mike Pizzo: I move we defer ODATA-836 until such a time as we have use cases requiring support for actions/functions on filtered sets, and then consider in favor of using $apply. Stefan Hagen1: I second that Stefan Hagen1 morphed into Stefan Hagen Ralf Handl (SAP): ODATA-836 is deferred Ralf Handl (SAP): I've created https://issues.oasis-open.org/browse/ODATA-977 for the $apply case Ralf Handl (SAP): iii.OData Protocol 1.ODATA-854 Consider use of OPTIONS for discovering formats, other capabilities and features
Ralf Handl (SAP): Postpone until we have a proposal on the response format Room Information:
Register: https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=41479 (please do so as usual, thanks). Agenda draft: https://www.oasis-open.org/apps/org/workgroup/odata/email/archives/201609/msg0000n.html
Minutes draft of previous meeting: https://www.oasis-open.org/committees/download.php/58746/odata-meeting-142_on-20160818-minutes.html Ralf Handl (SAP): Ramesh, we can't hear you at the moment Ralf Handl (SAP): 2.ODATA-900 Cross-service naviation and service versioning Ralf Handl (SAP): Assume Orders and Customers are in different services and have cross-service navigation properties to each other: GET Customers('ALFKI')/Orders
GET Orders(4711)/Customer
Now a new version v2 of the Customer service is published.
Ideally the Order service now automatically navigates to the new (latest) Customer service without requiring a new version of the Order service, and in addition allows navigation to the old version:
GET Orders(4711)/Customer -> navigates to Customer v2
GET Orders(4711)/Customer;v1 -> navigates to Customer v1
Ralf Handl (SAP): Postponed to V4.02 Ralf Handl (SAP): 6.Next meeting [9:50am PT] a.Thursday September 15, 2016 during 8-10 am PT?
Ralf Handl (SAP): b.Thursday September 15, 2016 during 6-10 am PT? Ralf Handl (SAP): Mike favors 6 am Ralf Handl (SAP): Stefan also favors longer meetings Ralf Handl (SAP): It is b) Thursday September 15, 2016 during 6-10 am PT Ralf Handl (SAP): 1.AOB and wrap up [9:55am PT] Ralf Handl (SAP): 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 September 08, 2016 during 8-10am 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:00am PT]
a.
Self-registration link:
https://www.oasis-open.org/apps/org/workgroup/odata/event.php?event_id=41479
2.
Approve agenda [8:05am PT]
3.
Approve minutes from previous meeting(s) [8:10am PT]
a.
Minutes from August 18, 2016 TC meeting:
https://www.oasis-open.org/committees/download.php/58746/odata-meeting-142_on-20160818-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]
a.
Action items due
i. 0036
Register the OData-
headers and preferences with IANA
5.
V4.01 [9:20am PT]
a.
Issues
for V4.01_WD01 in New or Open state
i. New Query Capabilities
1.
ODATA-827
introduce $compute query option
2.
ODATA-933
Allow using instance annotations in $filter
3.
ODATA-953
Consider deprecating structural casting
4.
ODATA-954
Key-As-Segment for multi-part keys
5.
ODATA-963
Make query options case insensitivite
ii. Set Operations
1.
ODATA-836 Allow applying
actions to a filtered collection of entities
iii. OData Protocol
1.
ODATA-854
Consider use of OPTIONS for discovering formats, other capabilities and features
2.
ODATA-900
Cross-service naviation and service versioning
3.
ODATA-965
UpdateGeoJSON Reference to RFC7946
4.
ODATA-970
11.5.2: also mention advertising operations on collections
iv. Enumerations
1.
ODATA-494
Define inheritance for enumeration types
2.
ODATA-849
Add possibility for enumeration types to "extend" another enumeration type
3.
ODATA-874
Allow Edm.String as underlying type for enumeration types
v. Annotations
1.
ODATA-811
Define propagation and (partial) overriding of annotations
2.
ODATA-817 Add client-side
function odata.matchesRegularExpression
vi. OData CSDL
1.
ODATA-618
Allow using term names in positions that allow type names
2.
ODATA-674
Specify navigation property binding combined with containment
3.
ODATA-879
Support Arrays of Arrays
4.
ODATA-929
Nullable facet should default to false for collection types, rather than being unspecified
5.
ODATA-935
Allow singletons to be members of an entity set
6.
ODATA-959
Allow path in an edm:key to also use a primitive property of a non null-able navigation property (recursively) of the entity type.
7.
ODATA-966
13.4 Add example for navigation property bindings for containment navigation property
8.
ODATA-973
Should we relax prohibiting Collection(Edm.ComplexType) and Collection(Edm.Untyped)
vii. OData JSON Format
1.
ODATA-557
Allow exponential notation for Edm.Decimal
2.
ODATA-868
Describe HTTP encoding for streamed requests and responses
3.
ODATA-969
Chapter 15, Example 32: syntax of "target" URL
viii. Interfaces
1.
ODATA-619
Attach action and function signatures to terms, i.e. make a term definition an interface definition
ix. Waiting for refined proposal
1.
ODATA-735
Enhance the CSDL for instance annotations
2.
ODATA-760
Add to depth restrictions to Capabilities Vocabulary
3.
ODATA-884
Add term ErrorCodes to describe possible codes in error messages (public comment c201510e00019)
4.
ODATA-919
Specify the result type for each operation based on operator types
5.
ODATA-923
$expand (or $include) for $metadata to include referenced schemas
6.
ODATA-950
Clarify what requests can be delta enabled
7.
ODATA-964
Need to clarify nested delta representation
6.
Next meeting [9:50am PT]
a.
Thursday September 15, 2016 during 8-10 am PT?
7.
AOB and wrap up [9:55am PT] [2]
References ·
Conference call details:
https://www.oasis-open.org/apps/org/workgroup/odata/download.php/56760/TC%20meeting%20dial-in%20details.htm
·
Chat room:
http://webconf.soaphub.org/conf/room/odatatc
[3]
Timeline ·
https://www.oasis-open.org/committees/document.php?document_id=56024&wg_abbrev=odata
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]