Skip to content

Commit

Permalink
Prefer change requests via navigation paths (#365)
Browse files Browse the repository at this point in the history
  • Loading branch information
HeikoTheissen authored Feb 12, 2025
1 parent 9b9955c commit 5ea4750
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 0 deletions.
9 changes: 9 additions & 0 deletions vocabularies/Common.json
Original file line number Diff line number Diff line change
Expand Up @@ -1351,6 +1351,15 @@
"@Common.Experimental": true,
"@Core.Description": "Channel for WebSocket connections",
"@Core.LongDescription": "Messages sent over the channel follow the [ABAP Push Channel Protocol](https://community.sap.com/t5/application-development-blog-posts/specification-of-the-push-channel-protocol-pcp/ba-p/13137541).\nTo consume a channel, the client opens a web socket connection at the [`WebSocketBaseURL`](#WebSocketBaseURL)\nfollowed by URL parameters\n- parameter name = annotation qualifier, parameter value = channel ID (see below)\n- parameter name = `relatedService`, parameter value = base URL (relative to server root) of the OData service of the app\n\n<dl>Supported qualifiers and channel IDs:\n<dt>`sideEffects` <dd>Notifications about side effects to be triggered by the client (channel ID = non-null annotation value)\n</dl>"
},
"ChangeViaNavigationPath": {
"$Kind": "Term",
"$Type": "Core.Tag",
"$DefaultValue": true,
"$AppliesTo": ["EntityContainer"],
"@Common.Experimental": true,
"@Core.Description": "Service prefers change requests to use a resource path with navigation properties",
"@Core.LongDescription": "Use this tag on services that do not restrict update and delete operations to certain resource paths\n via `Capabilities` annotations, but that prefer update and delete operations on a resource path that\n contains the navigation properties reflecting the object composition."
}
}
}
1 change: 1 addition & 0 deletions vocabularies/Common.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ Term|Type|Description
[PrimitivePropertyPath](Common.xml#L1497) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|<a name="PrimitivePropertyPath"></a>A term or term property with this tag whose type is (a collection of) `Edm.PropertyPath` MUST resolve to a primitive structural property
[WebSocketBaseURL](Common.xml#L1502) *([Experimental](Common.md#Experimental))*|URL|<a name="WebSocketBaseURL"></a>Base URL for WebSocket connections<br>This annotation MUST be unqualified.
[WebSocketChannel](Common.xml#L1510) *([Experimental](Common.md#Experimental))*|String?|<a name="WebSocketChannel"></a>Channel for WebSocket connections<br><p>Messages sent over the channel follow the <a href="https://community.sap.com/t5/application-development-blog-posts/specification-of-the-push-channel-protocol-pcp/ba-p/13137541">ABAP Push Channel Protocol</a>. To consume a channel, the client opens a web socket connection at the <a href="#WebSocketBaseURL"><code>WebSocketBaseURL</code></a> followed by URL parameters</p> <ul> <li>parameter name = annotation qualifier, parameter value = channel ID (see below)</li> <li>parameter name = <code>relatedService</code>, parameter value = base URL (relative to server root) of the OData service of the app</li> </ul> <dl>Supported qualifiers and channel IDs: <dt>`sideEffects` <dd>Notifications about side effects to be triggered by the client (channel ID = non-null annotation value) </dl>
[ChangeViaNavigationPath](Common.xml#L1526) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|<a name="ChangeViaNavigationPath"></a>Service prefers change requests to use a resource path with navigation properties<br>Use this tag on services that do not restrict update and delete operations to certain resource paths via `Capabilities` annotations, but that prefer update and delete operations on a resource path that contains the navigation properties reflecting the object composition.

<a name="TextFormatType"></a>
## [TextFormatType](Common.xml#L134)
Expand Down
10 changes: 10 additions & 0 deletions vocabularies/Common.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1523,6 +1523,16 @@ followed by URL parameters
</Annotation>
</Term>

<Term Name="ChangeViaNavigationPath" Type="Core.Tag" Nullable="false" DefaultValue="true" AppliesTo="EntityContainer">
<Annotation Term="Common.Experimental" />
<Annotation Term="Core.Description" String="Service prefers change requests to use a resource path with navigation properties" />
<Annotation Term="Core.LongDescription">
<String>Use this tag on services that do not restrict update and delete operations to certain resource paths
via `Capabilities` annotations, but that prefer update and delete operations on a resource path that
contains the navigation properties reflecting the object composition.</String>
</Annotation>
</Term>

</Schema>
</edmx:DataServices>
</edmx:Edmx>

0 comments on commit 5ea4750

Please sign in to comment.