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: [OASIS Issue Tracker] (ODATA-846) Add version 4.01


     [ https://issues.oasis-open.org/browse/ODATA-846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Pizzo updated ODATA-846:
--------------------------------

    Proposal: 
1) Define an OData-Versions annotation that specifies the OData version(s) supported by the service:

<Term Name="ODataVersions" Type="Edm.String" AppliesTo="EntityContainer">
  <Annotation Term="Core.Description" String="A space-separated list of supported versions of the OData Protocol." />
</Term>

2) For new 4.01 features, we should:
    a) define behavior/compatibility for 4.0 clients, and
    b) define vocabularies to test the presence of the new feature

3) The features required for a service to be 4.01 compliant should be minimal beyond 4.0 in order to allow services to incrementally opt into 4.01

Conformance Rules:

Compliant 4.01 Services:
-MUST return 4.0-compliant JSON payloads with OData-Version=4.0 header for clients specifying OData-MaxVersion=4.0 request header
-MUST support 4.0-compliant JSON request payloads with OData-Version=4.0 request header
-MAY support 4.01 syntax regardless of version; does not necessitate a change in OData-Version of response
-MUST not return new CSDL elements/attributes/values for existing elements/attributes if the client specifies OData-MaxVersion=4.0
-MAY return new CSDL annotations regardless of the version; does not necessitate a change in OData-Version of response
-MAY support 4.01 behavior, including returning 4.01 content and payloads, if the client does not specify the OData-MaxVersion=4.0 request header
-MUST follow OData semantics for any 4.01 syntax
-MUST return 4.0 for the Edmx:Version attribute (we are not defining a new version of Edmx)
-SHOULD return the new ODataVersions annotation. MUST include 4.0 if 4.01 is included.

Compliant 4.01 Clients:
-MUST only send payloads containing 4.01 structure to a service that advertises support for 4.01 or greater
-SHOULD use capabilities to determine if a 4.01 feature is supported but MAY attempt syntax (and receive either 501 not implemented or 400 bad request)


Areas of the spec that talk about versioning:
Part 1: Protocol
- Section 5.1 Protocol Versioning
- Chapter 12 Security Considerations

Part 3: CSDL
- Section 3.1.1 Attribute Version
- Sections 2.1 and 2.2 XML Namespaces

JSON Format
- Chapter 21 Security Considerations



  was:
1) Define an OData-Versions annotation that specifies the OData version(s) supported by the service
  <Term Name="ODataVersions" Type="Edm.String" AppliesTo="EntityContainer">
    <Annotation Term="Core.Description" String="A space-separated list of supported versions of the OData Protocol." />
  </Term>
2) For new 4.01 features, we should define vocabularies to test the presence and expected behavior for 4.0 clients.
3) Allow services to incrementally opt into 4.01

Conformance Rules:

Compliant 4.01 Services:
-MUST return 4.0-compliant JSON payloads with OData-Version=4.0 header for clients specifying OData-MaxVersion=4.0 request header
-MUST support 4.0-compliant JSON request payloads with OData-Version=4.0 request header
-MAY support 4.01 syntax regardless of version; does not necessitate a change in OData-Version of response
-MUST not return new CSDL elements/attributes/values for existing elements/attributes if the client specifies OData-MaxVersion=4.0
-MAY return new CSDL annotations regardless of the version; does not necessitate a change in OData-Version of response
-MAY support 4.01 behavior, including returning 4.01 content and payloads, if the client does not specify the OData-MaxVersion=4.0 request header
-MUST follow OData semantics for any 4.01 syntax
-MUST return 4.0 for the Edmx:Version attribute (we are not defining a new version of Edmx)
-SHOULD return the new ODataVersions annotation. MUST include 4.0 if 4.01 is included.

Compliant 4.01 Clients:
-MUST only send payloads containing 4.01 structure to a service that advertises support for 4.01 or greater
-SHOULD use capabilities to determine if a 4.01 feature is supported but MAY attempt syntax (and receive either 501 not implemented or 400 bad request)


Areas of the spec that talk about versioning:
Part 1: Protocol
- Section 5.1 Protocol Versioning
- Chapter 12 Security Considerations

Part 3: CSDL
- Section 3.1.1 Attribute Version
- Sections 2.1 and 2.2 XML Namespaces

JSON Format
- Chapter 21 Security Considerations




> Add version 4.01
> ----------------
>
>                 Key: ODATA-846
>                 URL: https://issues.oasis-open.org/browse/ODATA-846
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData Protocol
>    Affects Versions: V4.0_ERRATA02
>            Reporter: Ralf Handl
>            Assignee: Michael Pizzo
>             Fix For: V4.01_WD01
>
>
> This issue tracks all places that need to reflect the new version number in the  prose text.
> We will also use this issue to track how we do version negotiation between a 4.0 and a 4.01 client and service.



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]