Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-873

Define ContentID annotation for deep inserted entities

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: V4.0_ERRATA02
    • Fix Version/s: V4.01_WD01
    • Component/s: Protocol
    • Labels:
      None
    • Proposal:
      Hide

      Introduce a new contentID annotation that the client can specify in the nested entities in the request. A server advertises support for the contentID instance annotation through the Capabilities.DeepInsertSupport annotation. Clients can specify the contentID instance annotation in the nested entities in the request. Services that support the contentID instance annotation MUST annotate the corresponding nested entities in the response when the return=representation preference is applied.

      Instance annotation definition:

      <Term Name=”contentID” Type=”Edm.String”>
      <Annotation Term="Core.Description" String=”A unique identifier for nested entities within a request."/>
      </Term>

      Introduce a new capabilities annotation for deep inserts:

      <Term Name="DeepInsertSupport" Type="Capabilities.DeepInsertSupportType" AppliesTo="EntityContainer">
      <Annotation Term="Core.Description" String=”Deep Insert Support for the service"/>
      </Term>

      <ComplexType Name="DeepInsertSupportType">
      <Property Name="Supported" Type="Edm.Boolean" DefaultValue="true">
      <Annotation Term="Core.Description" String="Service supports deep inserts" />
      </Property>
      <Property Name="ContentIDSupported" Type="Edm.Boolean" DefaultValue=”true”>
      <Annotation Term="Core.Description" String="Service supports accepting and returning nested entities annotated with the contentID instance annotation." />
      </Property>
      </ComplexType>

      Show
      Introduce a new contentID annotation that the client can specify in the nested entities in the request. A server advertises support for the contentID instance annotation through the Capabilities.DeepInsertSupport annotation. Clients can specify the contentID instance annotation in the nested entities in the request. Services that support the contentID instance annotation MUST annotate the corresponding nested entities in the response when the return=representation preference is applied. Instance annotation definition: <Term Name=”contentID” Type=”Edm.String”> <Annotation Term="Core.Description" String=”A unique identifier for nested entities within a request."/> </Term> Introduce a new capabilities annotation for deep inserts: <Term Name="DeepInsertSupport" Type="Capabilities.DeepInsertSupportType" AppliesTo="EntityContainer"> <Annotation Term="Core.Description" String=”Deep Insert Support for the service"/> </Term> <ComplexType Name="DeepInsertSupportType"> <Property Name="Supported" Type="Edm.Boolean" DefaultValue="true"> <Annotation Term="Core.Description" String="Service supports deep inserts" /> </Property> <Property Name="ContentIDSupported" Type="Edm.Boolean" DefaultValue=”true”> <Annotation Term="Core.Description" String="Service supports accepting and returning nested entities annotated with the contentID instance annotation." /> </Property> </ComplexType>
    • Resolution:
      Show
      https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/4.01%20spec/vocabularies/Org.OData.Core.V1.xml https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/4.01%20spec/vocabularies/Org.OData.Capabilities.V1.xml https://www.oasis-open.org/apps/org/workgroup/odata/download.php/59028/odata-v4.01-wd01-part1-protocol.docx

      Description

      There is no defined order for expanded nested entities in the response to a request (POST, PUT or PATCH) that creates new entities by a deep insert.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              matt.borges Matthew Borges
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: