From 4c5de099837821e2a9b205c8493bad7fd43a294c Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Mon, 29 Jul 2024 15:30:55 +0200 Subject: [PATCH 1/4] Common.ApplyMultiUnitBehaviorForSortingAndFiltering no longer experimental --- vocabularies/Common.json | 1 - vocabularies/Common.md | 8 ++++---- vocabularies/Common.xml | 1 - 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/vocabularies/Common.json b/vocabularies/Common.json index 548852c0..ef7b80e4 100644 --- a/vocabularies/Common.json +++ b/vocabularies/Common.json @@ -1288,7 +1288,6 @@ "$Type": "Core.Tag", "$DefaultValue": true, "$AppliesTo": ["EntityContainer"], - "@Common.Experimental": true, "@Core.Description": "Sorting and filtering of amounts in multiple currencies needs special consideration", "@Core.LongDescription": "TODO: add link to UX documentation on https://experience.sap.com/fiori-design/" }, diff --git a/vocabularies/Common.md b/vocabularies/Common.md index c2469172..d905b29a 100644 --- a/vocabularies/Common.md +++ b/vocabularies/Common.md @@ -107,10 +107,10 @@ Term|Type|Description [ChangedAt](Common.xml#L1430)|DateTimeOffset?|Last modification timestamp [ChangedBy](Common.xml#L1434)|[UserID?](#UserID)|Last editor [OriginalProtocolVersion](Common.xml#L1446)|String|Original protocol version of a converted (V4) CSDL document, allowed values `2.0` and `3.0` -[ApplyMultiUnitBehaviorForSortingAndFiltering](Common.xml#L1451) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Sorting and filtering of amounts in multiple currencies needs special consideration
TODO: add link to UX documentation on https://experience.sap.com/fiori-design/ -[mediaUploadLink](Common.xml#L1457) *([Experimental](Common.md#Experimental))*|URL|URL for uploading new media content to a Document Management Service
In contrast to the `@odata.mediaEditLink` this URL allows to upload new media content without directly changing a stream property or media resource. The upload request typically uses HTTP POST with `Content-Type: multipart/form-data` following RFC 7578. The upload request must contain one multipart representing the content of the file. The `name` parameter in the `Content-Disposition` header (as described in RFC 7578) is irrelevant, but the `filename` parameter is expected. If the request succeeds the response will contain a JSON body of `Content-Type: application/json` with a JSON property `readLink`. The newly uploaded media resource can be linked to the stream property by changing the `@odata.mediaReadLink` to the value of this `readLink` in a subsequent PATCH request to the OData entity. -[PrimitivePropertyPath](Common.xml#L1472) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|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#L1477) *([Experimental](Common.md#Experimental))*|URL|Base URL for WebSocket connections +[ApplyMultiUnitBehaviorForSortingAndFiltering](Common.xml#L1451)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Sorting and filtering of amounts in multiple currencies needs special consideration
TODO: add link to UX documentation on https://experience.sap.com/fiori-design/ +[mediaUploadLink](Common.xml#L1456) *([Experimental](Common.md#Experimental))*|URL|URL for uploading new media content to a Document Management Service
In contrast to the `@odata.mediaEditLink` this URL allows to upload new media content without directly changing a stream property or media resource. The upload request typically uses HTTP POST with `Content-Type: multipart/form-data` following RFC 7578. The upload request must contain one multipart representing the content of the file. The `name` parameter in the `Content-Disposition` header (as described in RFC 7578) is irrelevant, but the `filename` parameter is expected. If the request succeeds the response will contain a JSON body of `Content-Type: application/json` with a JSON property `readLink`. The newly uploaded media resource can be linked to the stream property by changing the `@odata.mediaReadLink` to the value of this `readLink` in a subsequent PATCH request to the OData entity. +[PrimitivePropertyPath](Common.xml#L1471) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|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#L1476) *([Experimental](Common.md#Experimental))*|URL|Base URL for WebSocket connections ## [TextFormatType](Common.xml#L120) diff --git a/vocabularies/Common.xml b/vocabularies/Common.xml index e5253471..916b474c 100644 --- a/vocabularies/Common.xml +++ b/vocabularies/Common.xml @@ -1449,7 +1449,6 @@ Upon modification field control logic is invoked so that meta-information like h - From 6a0b5e1420dab604151c92c0bca40cec7a43507f Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Wed, 30 Oct 2024 14:55:24 +0100 Subject: [PATCH 2/4] Rebuilt --- vocabularies/Analytics.md | 2 +- vocabularies/Hierarchy.md | 2 +- vocabularies/PersonalData.md | 2 +- vocabularies/UI.md | 54 ++++++++++++++++++------------------ 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/vocabularies/Analytics.md b/vocabularies/Analytics.md index ffa0ab80..757ca5b5 100644 --- a/vocabularies/Analytics.md +++ b/vocabularies/Analytics.md @@ -39,7 +39,7 @@ Exactly one of `Property` and `DynamicProperty` must be present Property|Type|Description :-------|:---|:---------- [Property](Analytics.xml#L147)|PropertyPath?|Property that is part of the analytical context -[DynamicProperty](Analytics.xml#L150)|AnnotationPath?|Dynamic property introduced by annotations that is part of the analytical context
Allowed Terms: +[DynamicProperty](Analytics.xml#L150)|AnnotationPath?|Dynamic property introduced by annotations that is part of the analytical context
Allowed terms: [Dimension](Analytics.xml#L159)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The property holds the key of a dimension [Measure](Analytics.xml#L162)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The property holds the numeric value of a measure [AccumulativeMeasure](Analytics.xml#L165)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The measure has non-negative and additive values; it can be used in whole-part charts, e.g. the Donut diff --git a/vocabularies/Hierarchy.md b/vocabularies/Hierarchy.md index b1b047b2..3824a443 100644 --- a/vocabularies/Hierarchy.md +++ b/vocabularies/Hierarchy.md @@ -10,7 +10,7 @@ Term|Type|Description :---|:---|:---------- [RecursiveHierarchy](Hierarchy.xml#L41) *([Experimental](Common.md#Experimental))*|[RecursiveHierarchyType](#RecursiveHierarchyType)|Hierarchy-specific information in the result set of a hierarchical request
The [base term](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchy) governs what are the nodes and parents in the hierarchy, whereas this term defines derived information. [RecursiveHierarchyActions](Hierarchy.xml#L155) *([Experimental](Common.md#Experimental))*|[RecursiveHierarchyActionsType](#RecursiveHierarchyActionsType)|Actions for maintaining the recursive hierarchy defined by the [base term](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchy)
When an annotation with this term is present, the [`ParentNavigationProperty`](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchyType) in the base term must not have a collection-valued segment prior to its last segment. -[MatchCount](Hierarchy.xml#L209) *([Experimental](Common.md#Experimental))*|Int64|Instance annotation on the result of an `$apply` query option containing the number of matching nodes after hierarchical transformations
The service MAY designate a subset of the `$apply` result as "matching nodes". For requests following the pattern described [here](#RecursiveHierarchyType), this subset is the output set of the `filter` or `search` transformation that occurs as the fourth parameter of the last `ancestors` transformation or occurs nested into it.
For requests not following this pattern, the subset NEED NOT be defined.
This instance annotation is available if [`RecursiveHierarchy/Matched`](#RecursiveHierarchyType) and [`RecursiveHierarchy/MatchedDescendantCount`](#RecursiveHierarchyType) are also available. +[MatchCount](Hierarchy.xml#L209) *([Experimental](Common.md#Experimental))*|Int64|Instance annotation on the result of an `$apply` query option containing the number of matching nodes after hierarchical transformations
The service MAY designate a subset of the `$apply` result as "matching nodes". For requests following the pattern described [here](#RecursiveHierarchyType), this subset is the output set of the `filter` or `search` transformation that occurs as the fourth parameter of the last `ancestors` transformation or occurs nested into it.
For requests not following this pattern, the subset NEED NOT be defined.
This instance annotation is available if [`RecursiveHierarchy/Matched`](#RecursiveHierarchyType) and [`RecursiveHierarchy/MatchedDescendantCount`](#RecursiveHierarchyType) are also available. [RecursiveHierarchySupported](Hierarchy.xml#L293) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Whether the annotated collection acts as a [`RecursiveHierarchy`](#RecursiveHierarchy) with the given qualifier
This tag is applied to a collection with the same qualifier as the [`RecursiveHierarchy`](#RecursiveHierarchy) term which is applied to its entity type. The recursive hierarchy can then only be addressed through a collection where this tag is true. diff --git a/vocabularies/PersonalData.md b/vocabularies/PersonalData.md index 9dcdeef6..09cf8e90 100644 --- a/vocabularies/PersonalData.md +++ b/vocabularies/PersonalData.md @@ -58,7 +58,7 @@ Allowed Value|Description [DataSubjectIDType](PersonalData.xml#L123) *([Experimental](Common.md#Experimental))*|The type of ID identifying the data subject and which is allocated when creating a consent record, e.g. an e-mail address or a phone number. [ConsentID](PersonalData.xml#L128) *([Experimental](Common.md#Experimental))*|The unique identifier for a consent
A consent is the action of the data subject confirming that the usage of his or her personal data shall be allowed for a given purpose. A consent functionality allows the storage of a consent record in relation to a specific purpose and shows if a data subject has granted, withdrawn, or denied consent. [PurposeID](PersonalData.xml#L140) *([Experimental](Common.md#Experimental))*|The unique identifier for the purpose of a processing of personal data
Any processing of personal data is based on specified, explicit, and legitimate purposes, and data are not further processed in a manner that is incompatible with those purposes. The purposes are defined by the data controller or joint data controllers. -[ContractRelatedID](PersonalData.xml#L149)|The unique identifier for transactional data that is related to a contract that requires processing of personal data
Examples:
- Sales Contract ID
- Purchase Contract ID
- Service Contract ID +[ContractRelatedID](PersonalData.xml#L149)|The unique identifier for transactional data that is related to a contract that requires processing of personal data
Examples:
- Sales Contract ID
- Purchase Contract ID
- Service Contract ID [LegalEntityID](PersonalData.xml#L163) *(Deprecated)*|Deprecated in favor of [`DataControllerID`](#DataControllerID) [UserID](PersonalData.xml#L178) *([Experimental](Common.md#Experimental))*|The unique identifier of a user
A user is an individual who interacts with the services supplied by a system. [EndOfBusinessDate](PersonalData.xml#L186) *([Experimental](Common.md#Experimental))*|Defines the end of active business and the start of residence time and retention period
End of business is the point in time when the processing of a set of personal data is no longer required for the active business, for example, when a contract is fulfilled. After this has been reached and a customer-defined residence period has passed, the data is blocked and can only be accessed by users with special authorizations (for example, tax auditors). All fields of type `Edm.Date` or `Edm.DateTimeOffset` on which the end of business determination depends should be annotated. diff --git a/vocabularies/UI.md b/vocabularies/UI.md index 86e9b985..e77e6c4d 100644 --- a/vocabularies/UI.md +++ b/vocabularies/UI.md @@ -29,7 +29,7 @@ Term|Type|Description [ConnectedFields](UI.xml#L171)|[ConnectedFieldsType](#ConnectedFieldsType)|Group of semantically connected fields with a representation template and an optional label ([Example](UI.xml#L173)) [GeoLocations](UI.xml#L236)|\[[GeoLocationType](#GeoLocationType)\]|Collection of geographic locations [GeoLocation](UI.xml#L240)|[GeoLocationType](#GeoLocationType)|Geographic location -[Contacts](UI.xml#L260)|\[AnnotationPath\]|Collection of contacts
Each collection item MUST reference an annotation of a Communication.Contact
Allowed Terms: +[Contacts](UI.xml#L260)|\[AnnotationPath\]|Collection of contacts
Each collection item MUST reference an annotation of a Communication.Contact
Allowed terms: [MediaResource](UI.xml#L271)|[MediaResourceType](#MediaResourceType)|Properties that describe a media resource
Either `Url` or `Stream` MUST be present, and never both. [DataPoint](UI.xml#L351)|[DataPointType](#DataPointType)|Visualization of a single point of data, typically a number; may also be textual, e.g. a status value [KPI](UI.xml#L659)|[KPIType](#KPIType)|A Key Performance Indicator (KPI) bundles a SelectionVariant and a DataPoint, and provides details for progressive disclosure @@ -50,13 +50,13 @@ Term|Type|Description [PartOfPreview](UI.xml#L1369)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|This record and all included structural elements are part of the Thing preview
This term can be applied e.g. to UI.Facet and UI.DataField [Map](UI.xml#L1373)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Target MUST reference a UI.GeoLocation, Communication.Address or a collection of these [Gallery](UI.xml#L1377)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Target MUST reference a UI.MediaResource -[IsImageURL](UI.xml#L1382)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image
Applicable Annotation Terms: -[IsImage](UI.xml#L1392) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties annotated with this term MUST be a stream property annotated with a MIME type image. Entity types annotated with this term MUST be a media entity type annotated with a MIME type image.
Applicable Annotation Terms: +[IsImageURL](UI.xml#L1382)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image
Can be annotated with: +[IsImage](UI.xml#L1392) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties annotated with this term MUST be a stream property annotated with a MIME type image. Entity types annotated with this term MUST be a media entity type annotated with a MIME type image.
Can be annotated with: [MultiLineText](UI.xml#L1403)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and parameters annotated with this annotation should be rendered as multi-line text (e.g. text area) [Placeholder](UI.xml#L1408)|String|A short, human-readable text that gives a hint or an example to help the user with data entry [InputMask](UI.xml#L1413) *([Experimental](Common.md#Experimental))*|[InputMaskType](#InputMaskType)|Properties or parameters annotated with this term will get a mask in edit mode
Input masks improve readability and help to enter data correctly. So, masks can be especially useful for input fields that have a fixed pattern, e.g. DUNS numbers or similar. [Here](../examples/UI.InputMask-sample.xml) you can find an example for this annotation [TextArrangement](UI.xml#L1447)|[TextArrangementType](#TextArrangementType)|Describes the arrangement of a code or ID value and its text

This term annotates one of the following:

  1. a Common.Text annotation of the code or ID property where the annotation value is the text
  2. an entity type, this has the same effect as annotating all Common.Text annotations of properties of that entity type.
-[DateTimeStyle](UI.xml#L1470) *([Experimental](Common.md#Experimental))*|String?|The temporal value represented by the annotated property or parameter shall be shown on the UI in the given style
Requires type `Edm.Date`, `Edm.TimeOfDay`, or `Edm.DateTimeOffset`. If this annotation is absent or null or an empty string, temporal values are shown in a default style.
Allowed Values:
[short](UI.xml#L1479)
7/25/24, 1:11 PM
[medium](UI.xml#L1483)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1487)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1491)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
+[DateTimeStyle](UI.xml#L1470) *([Experimental](Common.md#Experimental))*|String?|The temporal value represented by the annotated property or parameter shall be shown on the UI in the given style
Requires type `Edm.Date`, `Edm.TimeOfDay`, or `Edm.DateTimeOffset`. If this annotation is absent or null or an empty string, temporal values are shown in a default style.
Allowed values:
[short](UI.xml#L1479)
7/25/24, 1:11 PM
[medium](UI.xml#L1483)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1487)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1491)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
[Note](UI.xml#L1499) *([Experimental](Common.md#Experimental))*|[NoteType](#NoteType)|Visualization of a note attached to an entity
Administrative data is given by the annotations [`Common.CreatedBy`](Common.md#CreatedBy), [`Common.CreatedAt`](Common.md#CreatedAt), [`Common.ChangedBy`](Common.md#ChangedBy), [`Common.ChangedAt`](Common.md#ChangedAt) on the same entity type. [Importance](UI.xml#L1552)|[ImportanceType](#ImportanceType)|Expresses the importance of e.g. a DataField or an annotation [Hidden](UI.xml#L1567)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties or facets (see UI.Facet) annotated with this term will not be rendered if the annotation evaluates to true.
Hidden properties usually carry technical information that is used for application control and is of no direct interest to end users. The annotation value may be an expression to dynamically hide or render the annotated feature. If a navigation property is annotated with `Hidden` true, all subsequent parts are hidden - independent of their own potential `Hidden` annotations. @@ -75,9 +75,9 @@ Term|Type|Description [ParameterDefaultValue](UI.xml#L1870)|PrimitiveType?|Define default values for action parameters
For unbound actions the default value can either be a constant expression, or a dynamic expression using absolute paths, e.g. singletons or function import results. Whereas for bound actions the bound entity and its properties and associated properties can be used as default values [RecommendationState](UI.xml#L1876)|[RecommendationStateType](#RecommendationStateType)|Indicates whether a field contains or has a recommended value
Intelligent systems can help users by recommending input the user may "prefer". [RecommendationList](UI.xml#L1906)|[RecommendationListType](#RecommendationListType)|Specifies how to get a list of recommended values for a property or parameter
Intelligent systems can help users by recommending input the user may "prefer". -[Recommendations](UI.xml#L1938) *([Experimental](Common.md#Experimental))*|ComplexType|Recommendations for an entity
This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of [`PropertyRecommendationType`](#PropertyRecommendationType). (The specializiations are called "informal" because they may omit the property `RecommendedFieldDescription`.)
Clients retrieve the recommendations with a GET request that includes this annotation in a `$select` clause. The recommendations MAY be computed asynchronously, see [this diagram](../docs/recommendations.md). +[Recommendations](UI.xml#L1938) *([Experimental](Common.md#Experimental))*|ComplexType|Recommendations for an entity
This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of [`PropertyRecommendationType`](#PropertyRecommendationType). (The specializiations are called "informal" because they may omit the property `RecommendedFieldDescription`.)
Clients retrieve the recommendations with a GET request that includes this annotation in a `$select` clause. The recommendations MAY be computed asynchronously, see [this diagram](../docs/recommendations.md). [ExcludeFromNavigationContext](UI.xml#L1984)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The contents of this property must not be propagated to the app-to-app navigation context -[DoNotCheckScaleOfMeasuredQuantity](UI.xml#L1988) *([Experimental](Common.md#Experimental))*|Boolean|Do not check the number of fractional digits of the annotated measured quantity
The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure.
This switches off the validation of user input with respect to decimals. +[DoNotCheckScaleOfMeasuredQuantity](UI.xml#L1988) *([Experimental](Common.md#Experimental))*|Boolean|Do not check the number of fractional digits of the annotated measured quantity
The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure.
This switches off the validation of user input with respect to decimals. [LeadingEntitySet](UI.xml#L1998) *([Experimental](Common.md#Experimental))*|String|The referenced entity set is the preferred starting point for UIs using this service @@ -88,8 +88,8 @@ Property|Type|Description :-------|:---|:---------- [TypeName](UI.xml#L69)|String|Name of the main entity type [TypeNamePlural](UI.xml#L73)|String|Plural form of the name of the main entity type -[Title](UI.xml#L77)|[DataFieldAbstract?](#DataFieldAbstract)
Allowed Derived Types:|Title, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). -[Description](UI.xml#L87)|[DataFieldAbstract?](#DataFieldAbstract)
Allowed Derived Types:|Description, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). +[Title](UI.xml#L77)|[DataFieldAbstract?](#DataFieldAbstract)|Title, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). +[Description](UI.xml#L87)|[DataFieldAbstract?](#DataFieldAbstract)|Description, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). [Image](UI.xml#L97) *([Experimental](Common.md#Experimental))*|Stream?|Image for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property `ImageUrl` can be used instead. [ImageUrl](UI.xml#L101)|URL?|Image URL for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property `TypeImageUrl` can be used instead. [TypeImageUrl](UI.xml#L105)|URL?|Image URL for the entity type @@ -144,8 +144,8 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[Url](UI.xml#L277)|URL?|URL of media resource
Applicable Annotation Terms: -[Stream](UI.xml#L286) *([Experimental](Common.md#Experimental))*|Stream?|Stream of media resource
Applicable Annotation Terms: +[Url](UI.xml#L277)|URL?|URL of media resource
Can be annotated with: +[Stream](UI.xml#L286) *([Experimental](Common.md#Experimental))*|Stream?|Stream of media resource
Can be annotated with: [ContentType](UI.xml#L295)|MediaType?|Content type, such as application/pdf, video/x-flv, image/jpeg [ByteSize](UI.xml#L299)|Int64?|Resource size in bytes [ChangedAt](UI.xml#L302)|DateTimeOffset?|Date of last change @@ -162,7 +162,7 @@ Either `Url` or `Stream` MUST be present, and never both. Property|Type|Description :-------|:---|:---------- [Url](UI.xml#L318)|URL|URL of image -[Stream](UI.xml#L322) *([Experimental](Common.md#Experimental))*|Stream?|Stream of image
Applicable Annotation Terms: +[Stream](UI.xml#L322) *([Experimental](Common.md#Experimental))*|Stream?|Stream of image
Can be annotated with: [Width](UI.xml#L331)|String?|Width of image [Height](UI.xml#L334)|String?|Height of image @@ -175,7 +175,7 @@ Property|Type|Description [Title](UI.xml#L356)|String?|Title of the data point [Description](UI.xml#L360)|String?|Short description [LongDescription](UI.xml#L364)|String?|Full description -[Value](UI.xml#L368)|PrimitiveType|Numeric value
The value is typically provided via a `Path` construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.
It could be annotated with either `UoM.ISOCurrency` or `UoM.Unit`. Percentage values are annotated with `UoM.Unit = '%'`. A renderer should take an optional `Common.Text` annotation into consideration. +[Value](UI.xml#L368)|PrimitiveType|Numeric value
The value is typically provided via a `Path` construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.
It could be annotated with either `UoM.ISOCurrency` or `UoM.Unit`. Percentage values are annotated with `UoM.Unit = '%'`. A renderer should take an optional `Common.Text` annotation into consideration. [TargetValue](UI.xml#L380)|PrimitiveType?|Target value [ForecastValue](UI.xml#L383)|PrimitiveType?|Forecast value [MinimumValue](UI.xml#L386)|Decimal?|Minimum value (for output rendering) @@ -185,7 +185,7 @@ Property|Type|Description [SampleSize](UI.xml#L398)|PrimitiveType?|Sample size used for the determination of the data point; should contain just integer value as Edm.Byte, Edm.SByte, Edm.Intxx, and Edm.Decimal with scale 0. [ReferencePeriod](UI.xml#L405)|[ReferencePeriod?](#ReferencePeriod)|Reference period [Criticality](UI.xml#L408)|[CriticalityType?](#CriticalityType)|Service-calculated criticality, alternative to CriticalityCalculation -[CriticalityLabels](UI.xml#L411)|AnnotationPath?|Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels
Allowed Terms: +[CriticalityLabels](UI.xml#L411)|AnnotationPath?|Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels
Allowed terms: [CriticalityRepresentation](UI.xml#L419) *([Experimental](Common.md#Experimental))*|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [CriticalityCalculation](UI.xml#L423)|[CriticalityCalculationType?](#CriticalityCalculationType)|Parameters for client-calculated criticality, alternative to Criticality [Trend](UI.xml#L426)|[TrendType?](#TrendType)|Service-calculated trend, alternative to TrendCalculation @@ -399,11 +399,11 @@ Property|Type|Description [ChartType](UI.xml#L718)|[ChartType](#ChartType)|Chart type [AxisScaling](UI.xml#L721)|[ChartAxisScalingType?](#ChartAxisScalingType)|Describes the scale of the chart value axes [Measures](UI.xml#L724)|\[PropertyPath\]|Measures of the chart, e.g. size and color in a bubble chart -[DynamicMeasures](UI.xml#L728)|\[AnnotationPath\]|Dynamic properties introduced by annotations and used as measures of the chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed Terms: +[DynamicMeasures](UI.xml#L728)|\[AnnotationPath\]|Dynamic properties introduced by annotations and used as measures of the chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed terms: [MeasureAttributes](UI.xml#L741)|\[[ChartMeasureAttributeType](#ChartMeasureAttributeType)\]|Describes Attributes for Measures. All Measures used in this collection must also be part of the Measures Property. [Dimensions](UI.xml#L746)|\[PropertyPath\]|Dimensions of the chart, e.g. x- and y-axis of a bubble chart [DimensionAttributes](UI.xml#L749)|\[[ChartDimensionAttributeType](#ChartDimensionAttributeType)\]|Describes Attributes for Dimensions. All Dimensions used in this collection must also be part of the Dimensions Property. -[Actions](UI.xml#L754)|\[[DataFieldAbstract](#DataFieldAbstract)\]
Allowed Derived Types:|Available actions and action groups +[Actions](UI.xml#L754)|\[[DataFieldAbstract](#DataFieldAbstract)\]|Available actions and action groups ## [ChartType](UI.xml#L765) @@ -517,9 +517,9 @@ Exactly one of `Measure` and `DynamicMeasure` must be present Property|Type|Description :-------|:---|:---------- [Measure](UI.xml#L885)|PropertyPath?| -[DynamicMeasure](UI.xml#L888)|AnnotationPath?|Dynamic property introduced by an annotation and used as a measure in a chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed Terms: +[DynamicMeasure](UI.xml#L888)|AnnotationPath?|Dynamic property introduced by an annotation and used as a measure in a chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed terms: [Role](UI.xml#L901)|[ChartMeasureRoleType?](#ChartMeasureRoleType)| -[DataPoint](UI.xml#L902)|AnnotationPath?|Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure
Allowed Terms: +[DataPoint](UI.xml#L902)|AnnotationPath?|Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure
Allowed terms: [UseSequentialColorLevels](UI.xml#L910) *([Experimental](Common.md#Experimental))*|Boolean|All measures for which this setting is true should be assigned to levels of the same color. @@ -611,7 +611,7 @@ Property|Type|Description :-------|:---|:---------- [*Label*](UI.xml#L1004)|String?|Facet label [*ID*](UI.xml#L1008)|String?|Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. -[Target](UI.xml#L1020)|AnnotationPath|Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge
Allowed Terms: +[Target](UI.xml#L1020)|AnnotationPath|Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge
Allowed terms: **Applicable Annotation Terms:** @@ -626,7 +626,7 @@ Property|Type|Description :-------|:---|:---------- [*Label*](UI.xml#L1004)|String?|Facet label [*ID*](UI.xml#L1008)|String?|Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. -[Url](UI.xml#L1049)|URL|URL of referenced information
Applicable Annotation Terms: +[Url](UI.xml#L1049)|URL|URL of referenced information
Can be annotated with: [UrlContentType](UI.xml#L1058)|MediaType?|Media type of referenced information **Applicable Annotation Terms:** @@ -658,10 +658,10 @@ Property|Type|Description [GroupBy](UI.xml#L1109)|\[PropertyPath\]|Sequence of groupable properties p1, p2, ... defining how the result is composed of instances representing groups, one for each combination of value properties in the queried collection. The sequence specifies a certain level of aggregation for the queried collection, and every group instance will provide aggregated values for properties that are aggregatable. Moreover, the series of sub-sequences (p1), (p1, p2), ... forms a leveled hierarchy, which may become relevant in combination with `InitialExpansionLevel`. [TotalBy](UI.xml#L1118)|\[PropertyPath\]|Sub-sequence q1, q2, ... of properties p1, p2, ... specified in GroupBy. With this, additional levels of aggregation are requested in addition to the most granular level defined by GroupBy: Every element in the series of sub-sequences (q1), (q1, q2), ... introduces an additional aggregation level included in the result. [Total](UI.xml#L1125)|\[PropertyPath\]|Aggregatable properties for which aggregated values should be provided for the additional aggregation levels specified in TotalBy. -[DynamicTotal](UI.xml#L1131)|\[AnnotationPath\]|Dynamic properties introduced by annotations for which aggregated values should be provided for the additional aggregation levels specified in TotalBy
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being presented according to the `UI.PresentationVariant` annotation, the annotation path MUST be silently ignored.
Allowed Terms: +[DynamicTotal](UI.xml#L1131)|\[AnnotationPath\]|Dynamic properties introduced by annotations for which aggregated values should be provided for the additional aggregation levels specified in TotalBy
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being presented according to the `UI.PresentationVariant` annotation, the annotation path MUST be silently ignored.
Allowed terms: [IncludeGrandTotal](UI.xml#L1144)|Boolean|Result should include a grand total for the properties specified in Total [InitialExpansionLevel](UI.xml#L1147)|Int32|Level up to which the hierarchy defined for the queried collection should be expanded initially. The hierarchy may be implicitly imposed by the sequence of the GroupBy, or by an explicit hierarchy annotation. -[Visualizations](UI.xml#L1153)|\[AnnotationPath\]|Lists available visualization types. Currently supported types are `UI.LineItem`, `UI.Chart`, and `UI.DataPoint`. For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to `UI.Lineitem` should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.
Allowed Terms: +[Visualizations](UI.xml#L1153)|\[AnnotationPath\]|Lists available visualization types. Currently supported types are `UI.LineItem`, `UI.Chart`, and `UI.DataPoint`. For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to `UI.Lineitem` should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.
Allowed terms: [RecursiveHierarchyQualifier](UI.xml#L1170) *([Experimental](Common.md#Experimental))*|[HierarchyQualifier?](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#HierarchyQualifier)|Qualifier of the recursive hierarchy that should be applied to the Visualization [RequestAtLeast](UI.xml#L1174)|\[PropertyPath\]|Properties that should always be included in the result of the queried collection
Properties in `RequestAtLeast` must occur either in the `$select` clause of an OData request or among the grouping properties in an `$apply=groupby((grouping properties),...)` clause of an aggregating OData request. [SelectionFields](UI.xml#L1197) *([Experimental](Common.md#Experimental))*|\[PropertyPath\]|Properties that should be presented for filtering a collection of entities. Can be provided inline or as a reference to a `UI.SelectionFields` annotation via Path. @@ -715,7 +715,7 @@ Exactly one of `PropertyName` and `DynamicPropertyName` must be present Property|Type|Description :-------|:---|:---------- [PropertyName](UI.xml#L1267)|PropertyPath?|Path to the property -[DynamicPropertyName](UI.xml#L1279)|AnnotationPath?|Dynamic property introduced by annotations for which value ranges are specified
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being filtered according to the `UI.SelectionVariant` annotation, this instance of `UI.SelectionVariant/SelectOptions` MUST be silently ignored. For an example, see the `UI.SelectionVariant` annotation in the [example](../examples/DynamicProperties-sample.xml).
Allowed Terms: +[DynamicPropertyName](UI.xml#L1279)|AnnotationPath?|Dynamic property introduced by annotations for which value ranges are specified
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being filtered according to the `UI.SelectionVariant` annotation, this instance of `UI.SelectionVariant/SelectOptions` MUST be silently ignored. For an example, see the `UI.SelectionVariant` annotation in the [example](../examples/DynamicProperties-sample.xml).
Allowed terms: [Ranges](UI.xml#L1293)|\[[SelectionRangeType](#SelectionRangeType)\]|List of value ranges @@ -791,8 +791,8 @@ Member|Value|Description Property|Type|Description :-------|:---|:---------- -[Title](UI.xml#L1513)|String?|Title of the note
The title of a note is hidden with an annotation `@UI.Note/Title/@UI.Hidden`, not with an annotation on the property targeted by `@UI.Note/Title`.
Applicable Annotation Terms: -[Content](UI.xml#L1525)|String|Content of the note, as a string
The property targeted by `@UI.Note/Content` must be annotated with `Core.MediaType` and may be annotated with `Common.SAPObjectNodeTypeReference`. When it is tagged with `Core.IsLanguageDependent`, another property of the same entity type that is tagged with [`Common.IsLanguageIdentifier`](Common.md#IsLanguageIdentifier) determines the language of the note.
Applicable Annotation Terms: +[Title](UI.xml#L1513)|String?|Title of the note
The title of a note is hidden with an annotation `@UI.Note/Title/@UI.Hidden`, not with an annotation on the property targeted by `@UI.Note/Title`.
Can be annotated with: +[Content](UI.xml#L1525)|String|Content of the note, as a string
The property targeted by `@UI.Note/Content` must be annotated with `Core.MediaType` and may be annotated with `Common.SAPObjectNodeTypeReference`. When it is tagged with `Core.IsLanguageDependent`, another property of the same entity type that is tagged with [`Common.IsLanguageIdentifier`](Common.md#IsLanguageIdentifier) determines the language of the note.
Can be annotated with: [Type](UI.xml#L1541)|String|A type used for grouping notes [MaximalLength](UI.xml#L1544)|Int32?|Type-specific maximal length of the content of the note [MultipleNotes](UI.xml#L1547)|Boolean|Whether the type allows multiple notes for one object @@ -863,7 +863,7 @@ Property|Type|Description [*Criticality*](UI.xml#L1650)|[CriticalityType?](#CriticalityType)|Criticality of the data field value [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon -[Target](UI.xml#L1677)|AnnotationPath|Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields
Allowed Terms: +[Target](UI.xml#L1677)|AnnotationPath|Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields
Allowed terms: **Applicable Annotation Terms:** @@ -1004,7 +1004,7 @@ Property|Type|Description [*Criticality*](UI.xml#L1650)|[CriticalityType?](#CriticalityType)|Criticality of the data field value [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon -[Value](UI.xml#L1755)|Untyped
Allowed Derived Types:|The data field's value +[Value](UI.xml#L1755)|Untyped|The data field's value **Applicable Annotation Terms:** @@ -1105,7 +1105,7 @@ Property|Type|Description [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon [Value](UI.xml#L1825)|PrimitiveType|The data field's value -[Url](UI.xml#L1826)|URL|Target of the hyperlink
Applicable Annotation Terms: +[Url](UI.xml#L1826)|URL|Target of the hyperlink
Can be annotated with: [UrlContentType](UI.xml#L1835)|MediaType?|Media type of the hyperlink target, e.g. `video/mp4` **Applicable Annotation Terms:** From 66396fcefd7133ecb036e80e0f0efd268d926d26 Mon Sep 17 00:00:00 2001 From: ralfhandl Date: Wed, 30 Oct 2024 13:55:45 +0000 Subject: [PATCH 3/4] auto-refreshed --- vocabularies/Analytics.md | 2 +- vocabularies/Common.md | 20 ++++++------- vocabularies/Hierarchy.md | 2 +- vocabularies/PersonalData.md | 2 +- vocabularies/UI.md | 54 ++++++++++++++++++------------------ 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/vocabularies/Analytics.md b/vocabularies/Analytics.md index 757ca5b5..ffa0ab80 100644 --- a/vocabularies/Analytics.md +++ b/vocabularies/Analytics.md @@ -39,7 +39,7 @@ Exactly one of `Property` and `DynamicProperty` must be present Property|Type|Description :-------|:---|:---------- [Property](Analytics.xml#L147)|PropertyPath?|Property that is part of the analytical context -[DynamicProperty](Analytics.xml#L150)|AnnotationPath?|Dynamic property introduced by annotations that is part of the analytical context
Allowed terms:
  • [AggregatedProperty](#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicProperty](Analytics.xml#L150)|AnnotationPath?|Dynamic property introduced by annotations that is part of the analytical context
Allowed Terms:
  • [AggregatedProperty](#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Dimension](Analytics.xml#L159)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The property holds the key of a dimension [Measure](Analytics.xml#L162)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The property holds the numeric value of a measure [AccumulativeMeasure](Analytics.xml#L165)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The measure has non-negative and additive values; it can be used in whole-part charts, e.g. the Donut diff --git a/vocabularies/Common.md b/vocabularies/Common.md index cf274971..49c38b23 100644 --- a/vocabularies/Common.md +++ b/vocabularies/Common.md @@ -15,7 +15,7 @@ Term|Type|Description [Heading](Common.xml#L67)|String|A short, human-readable text suitable for column headings in UIs [QuickInfo](Common.xml#L72)|String|A short, human-readable text suitable for tool tips in UIs [DocumentationRef](Common.xml#L77) *([Experimental](Common.md#Experimental))*|String|A URI referencing language-dependent documentation for the annotated model element ([Example](Common.xml#L80)) -[Text](Common.xml#L91)|String?|A descriptive text for values of the annotated property. Value MUST be a dynamic expression when used as metadata annotation.
Can be annotated with:
  • [TextArrangement](UI.md#TextArrangement)
+[Text](Common.xml#L91)|String?|A descriptive text for values of the annotated property. Value MUST be a dynamic expression when used as metadata annotation.
Applicable Annotation Terms:
  • [TextArrangement](UI.md#TextArrangement)
[TextFor](Common.xml#L101) *([Experimental](Common.md#Experimental))*|PropertyPath|The annotated property contains a descriptive text for values of the referenced property. [ExternalID](Common.xml#L107) *([Experimental](Common.md#Experimental))*|String?|A human readable identifier for values of the annotated property or parameter. Value MUST be a dynamic expression when used as metadata annotation.
If the annotated property is (part of) a foreign key of a resource, the external id is a human readable (part of an) identifier of this resource. There is a one-to-one relationship between each possible value of the annotated property and the corresponding external id. The annotation of a parameter refers to a property of the operation binding parameter. [IsLanguageIdentifier](Common.xml#L125) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|An identifier to distinguish multiple texts in different languages for the same entity @@ -41,7 +41,7 @@ Term|Type|Description [SemanticObjectUnavailableActions](Common.xml#L318)|\[String\]|List of actions that are not available in the current state of the instance of the Semantic Object [IsInstanceAnnotation](Common.xml#L322)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Term can also be used as instance annotation; AppliesTo of this term specifies where it can be applied [FilterExpressionRestrictions](Common.xml#L352) *(Deprecated)*|\[[FilterExpressionRestrictionType](#FilterExpressionRestrictionType)\]|Use term Capabilities.FilterRestrictions instead -[FieldControl](Common.xml#L395)|[FieldControlType?](#FieldControlType)|Control state of a property, parameter, or the media stream of a media entity
This term can be used for static field control, providing an enumeration member value in $metadata, as well as dynamically, providing a `Path` expression.
In the dynamic case the property referenced by the `Path` expression MUST be of type `Edm.Byte` to accommodate OData V2 services as well as V4 infrastructures that don't support enumeration types. +[FieldControl](Common.xml#L395)|[FieldControlType?](#FieldControlType)|Control state of a property, parameter, or the media stream of a media entity
This term can be used for static field control, providing an enumeration member value in $metadata, as well as dynamically, providing a `Path` expression.
In the dynamic case the property referenced by the `Path` expression MUST be of type `Edm.Byte` to accommodate OData V2 services as well as V4 infrastructures that don't support enumeration types. [ExceptionCategory](Common.xml#L452) *([Experimental](Common.md#Experimental))*|String|A machine-readable exception category [Application](Common.xml#L457) *([Experimental](Common.md#Experimental))*|[ApplicationType](#ApplicationType)|... [Timestamp](Common.xml#L477) *([Experimental](Common.md#Experimental))*|DateTimeOffset|... @@ -63,7 +63,7 @@ Term|Type|Description [IsNaturalPerson](Common.xml#L643)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The annotated entity type (e.g. `Employee`) or annotation (e.g. `IsImageUrl`) represents a natural person [ValueList](Common.xml#L649)|[ValueListType](#ValueListType)|Specifies how to get a list of acceptable values for a property or parameter
The value list can be based on user input that is passed in the value list request. The value list can be used for type-ahead and classical pick lists. [ValueListRelevantQualifiers](Common.xml#L723)|\[[SimpleIdentifier](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#SimpleIdentifier)\]|List of qualifiers of relevant ValueList annotations
The value of this annotation is a dynamic expression for calculating the qualifiers of relevant value lists depending on the values of one or more other properties. -[ValueListWithFixedValues](Common.xml#L728)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values
Can be annotated with:
  • [ValueListShowValuesImmediately](#ValueListShowValuesImmediately)
+[ValueListWithFixedValues](Common.xml#L728)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values
Applicable Annotation Terms:
  • [ValueListShowValuesImmediately](#ValueListShowValuesImmediately)
[ValueListShowValuesImmediately](Common.xml#L737) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|A value list with a very small number of fixed values, can decide to show all values immediately [ValueListForValidation](Common.xml#L742)|String|Contains the qualifier of the ValueList or ValueListMapping that should be used for validation
An empty string identifies the ValueList or ValueListMapping without a qualifier. [ValueListReferences](Common.xml#L747)|\[URL\]|A list of URLs of CSDL documents containing value list mappings for this parameter or property @@ -96,11 +96,11 @@ Term|Type|Description [EditableFieldFor](Common.xml#L1133)|PropertyPath|The annotated property is an editable field for the referenced key property [SemanticKey](Common.xml#L1163)|\[PropertyPath\]|The listed properties form the semantic key, i.e. they are unique modulo IsActiveEntity [SideEffects](Common.xml#L1167)|[SideEffectsType](#SideEffectsType)|Describes side-effects of modification operations -[DefaultValuesFunction](Common.xml#L1250)|[QualifiedName](#QualifiedName)|Function to calculate default values based on user input that is only known to the client and "context information" that is already available to the service
The default values function must have a bound overload whose binding parameter type matches the annotation target
- for an entity set: collection of entity type of entity set
- for a navigation property: identical to the type of the navigation property (single- or collection-valued)
- for a bound action/function: identical to the binding parameter type of the annotated action/function
In addition the overload can have non-binding parameters for values that the user has already entered:
- for an entity set or navigation property: each non-binding parameter name and type must match the name and type of a property of the entity to be created
- for an action or function: each non-binding parameter name and type must match the name and type of a non-binding parameter of the action or function to be called
The result type of the default values function is a complex type whose properties correspond in name and type to a subset of
- the properties of the entity to create, or
- the parameters of the action or function to call -[DerivedDefaultValue](Common.xml#L1279) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. +[DefaultValuesFunction](Common.xml#L1250)|[QualifiedName](#QualifiedName)|Function to calculate default values based on user input that is only known to the client and "context information" that is already available to the service
The default values function must have a bound overload whose binding parameter type matches the annotation target
- for an entity set: collection of entity type of entity set
- for a navigation property: identical to the type of the navigation property (single- or collection-valued)
- for a bound action/function: identical to the binding parameter type of the annotated action/function
In addition the overload can have non-binding parameters for values that the user has already entered:
- for an entity set or navigation property: each non-binding parameter name and type must match the name and type of a property of the entity to be created
- for an action or function: each non-binding parameter name and type must match the name and type of a non-binding parameter of the action or function to be called
The result type of the default values function is a complex type whose properties correspond in name and type to a subset of
- the properties of the entity to create, or
- the parameters of the action or function to call +[DerivedDefaultValue](Common.xml#L1279) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. [FilterDefaultValue](Common.xml#L1300)|PrimitiveType?|A default value for the property to be used in filter expressions. [FilterDefaultValueHigh](Common.xml#L1304) *([Experimental](Common.md#Experimental))*|PrimitiveType?|A default upper limit for the property to be used in 'less than or equal' filter expressions. -[DerivedFilterDefaultValue](Common.xml#L1309) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context in order to use it in filter expressions.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. +[DerivedFilterDefaultValue](Common.xml#L1309) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context in order to use it in filter expressions.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. [SortOrder](Common.xml#L1333)|\[[SortOrderType](#SortOrderType)\]|List of sort criteria
The items of the annotated entity set or the items of the collection of the annotated entity type are sorted by the first entry of the SortOrder collection. Items with same value for this first sort criteria are sorted by the second entry of the SortOrder collection, and so on. [RecursiveHierarchy](Common.xml#L1393) *(Deprecated)*|[RecursiveHierarchyType](#RecursiveHierarchyType)|Use terms [Aggregation.RecursiveHierarchy](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#RecursiveHierarchy) and [Hierarchy.RecursiveHierarchy](https://github.com/SAP/odata-vocabularies/blob/main/vocabularies/Hierarchy.md#RecursiveHierarchy) instead [CreatedAt](Common.xml#L1441)|DateTimeOffset?|Creation timestamp @@ -171,8 +171,8 @@ Member|Value|Description :-----|----:|:---------- [Mandatory](Common.xml#L406)|7|Property is mandatory from a business perspective

A request that

  • sets the property to null or an empty value or
  • creates a non-draft entity and omits the property or
  • activates a draft entity while the property is null or empty

fails entirely if this annotation is Mandatory in the after-image of the request. The empty string is an empty value. Service-specific rules may consider other values, also of non-string type, empty. Values in draft entities are never considered empty. Mandatory properties SHOULD be decorated in the UI with an asterisk. Null or empty values can also be disallowed by restricting the property value range with the standard type facet Nullable or terms from the Validation vocabulary.

[Optional](Common.xml#L422)|3|Property may have a value
This value does not make sense as a static annotation value. -[ReadOnly](Common.xml#L426)|1|Property value cannot be changed
A request to change the property to a value that differs from the before-image fails entirely according to [OData-Protocol, section 11.4.3](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateanEntity) if this annotation is given dynamically as `ReadOnly` in the before-image of the request.
To statically mark a property as read-only use term [Core.Computed](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Computed) instead. -[Inapplicable](Common.xml#L436)|0|Property has no meaning in the current entity state
A request that sets the property to a non-initial non-null value fails entirely if this annotation is `Inapplicable` in the after-image of the request.
This value does not make sense as a static annotation value.
Example for dynamic use: in a travel expense report the property `DestinationCountry` is inapplicable if trip type is domestic, and mandatory if trip type is international. +[ReadOnly](Common.xml#L426)|1|Property value cannot be changed
A request to change the property to a value that differs from the before-image fails entirely according to [OData-Protocol, section 11.4.3](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateanEntity) if this annotation is given dynamically as `ReadOnly` in the before-image of the request.
To statically mark a property as read-only use term [Core.Computed](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Computed) instead. +[Inapplicable](Common.xml#L436)|0|Property has no meaning in the current entity state
A request that sets the property to a non-initial non-null value fails entirely if this annotation is `Inapplicable` in the after-image of the request.
This value does not make sense as a static annotation value.
Example for dynamic use: in a travel expense report the property `DestinationCountry` is inapplicable if trip type is domestic, and mandatory if trip type is international. [Hidden](Common.xml#L446)|0|Deprecated synonym for Inapplicable, do not use
To statically hide a property on a UI use [UI.Hidden](UI.md#Hidden) instead @@ -380,7 +380,7 @@ Property|Type|Description [EditAction](Common.xml#L1079)|[QualifiedName?](#QualifiedName)|Action that creates an edit draft [NewAction](Common.xml#L1082)|[QualifiedName?](#QualifiedName)|Action that creates a new draft
New drafts may also be created by POSTing an empty entity without any properties to the entity set. [AdditionalNewActions](Common.xml#L1086) *([Experimental](Common.md#Experimental))*|\[[QualifiedName](#QualifiedName)\]|Additional actions that create a new draft
Additional actions beside the default POST or standard `NewAction` that create a new draft. -[ShareAction](Common.xml#L1091)|[QualifiedName?](#QualifiedName)|Action that shares a draft document with other users
The action is bound to the draft document root node and has the following signature:
- `Users`: collection of structure with properties
  - `UserID` of type `String` and
  - `UserAccessRole` of type `String` with possible values `O` (owner, can perform all draft actions), and `E` (editor, can change the draft)
It restricts access to the listed users in their specified roles. +[ShareAction](Common.xml#L1091)|[QualifiedName?](#QualifiedName)|Action that shares a draft document with other users
The action is bound to the draft document root node and has the following signature:
- `Users`: collection of structure with properties
  - `UserID` of type `String` and
  - `UserAccessRole` of type `String` with possible values `O` (owner, can perform all draft actions), and `E` (editor, can change the draft)
It restricts access to the listed users in their specified roles. ## [DraftNodeType](Common.xml#L1112) @@ -450,7 +450,7 @@ Exactly one of `Property`, `DynamicProperty` and `Expression` must be present Property|Type|Description :-------|:---|:---------- [Property](Common.xml#L1343)|PropertyPath?|Sort property -[DynamicProperty](Common.xml#L1355)|AnnotationPath?|Dynamic property introduced by an annotation and used as sort property
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being sorted according to the [`UI.PresentationVariant`](UI.md#PresentationVariant) or `Common.SortOrder` annotation, this instance of `UI.PresentationVariant/SortOrder` or `Common.SortOrder` MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicProperty](Common.xml#L1355)|AnnotationPath?|Dynamic property introduced by an annotation and used as sort property
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being sorted according to the [`UI.PresentationVariant`](UI.md#PresentationVariant) or `Common.SortOrder` annotation, this instance of `UI.PresentationVariant/SortOrder` or `Common.SortOrder` MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Expression](Common.xml#L1369) *([Experimental](Common.md#Experimental))*|PrimitiveType?|Dynamic expression whose primitive result value is used to sort the instances [Descending](Common.xml#L1373)|Boolean?|Sort direction, ascending if not specified otherwise diff --git a/vocabularies/Hierarchy.md b/vocabularies/Hierarchy.md index 3824a443..b1b047b2 100644 --- a/vocabularies/Hierarchy.md +++ b/vocabularies/Hierarchy.md @@ -10,7 +10,7 @@ Term|Type|Description :---|:---|:---------- [RecursiveHierarchy](Hierarchy.xml#L41) *([Experimental](Common.md#Experimental))*|[RecursiveHierarchyType](#RecursiveHierarchyType)|Hierarchy-specific information in the result set of a hierarchical request
The [base term](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchy) governs what are the nodes and parents in the hierarchy, whereas this term defines derived information. [RecursiveHierarchyActions](Hierarchy.xml#L155) *([Experimental](Common.md#Experimental))*|[RecursiveHierarchyActionsType](#RecursiveHierarchyActionsType)|Actions for maintaining the recursive hierarchy defined by the [base term](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchy)
When an annotation with this term is present, the [`ParentNavigationProperty`](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchyType) in the base term must not have a collection-valued segment prior to its last segment. -[MatchCount](Hierarchy.xml#L209) *([Experimental](Common.md#Experimental))*|Int64|Instance annotation on the result of an `$apply` query option containing the number of matching nodes after hierarchical transformations
The service MAY designate a subset of the `$apply` result as "matching nodes". For requests following the pattern described [here](#RecursiveHierarchyType), this subset is the output set of the `filter` or `search` transformation that occurs as the fourth parameter of the last `ancestors` transformation or occurs nested into it.
For requests not following this pattern, the subset NEED NOT be defined.
This instance annotation is available if [`RecursiveHierarchy/Matched`](#RecursiveHierarchyType) and [`RecursiveHierarchy/MatchedDescendantCount`](#RecursiveHierarchyType) are also available. +[MatchCount](Hierarchy.xml#L209) *([Experimental](Common.md#Experimental))*|Int64|Instance annotation on the result of an `$apply` query option containing the number of matching nodes after hierarchical transformations
The service MAY designate a subset of the `$apply` result as "matching nodes". For requests following the pattern described [here](#RecursiveHierarchyType), this subset is the output set of the `filter` or `search` transformation that occurs as the fourth parameter of the last `ancestors` transformation or occurs nested into it.
For requests not following this pattern, the subset NEED NOT be defined.
This instance annotation is available if [`RecursiveHierarchy/Matched`](#RecursiveHierarchyType) and [`RecursiveHierarchy/MatchedDescendantCount`](#RecursiveHierarchyType) are also available. [RecursiveHierarchySupported](Hierarchy.xml#L293) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Whether the annotated collection acts as a [`RecursiveHierarchy`](#RecursiveHierarchy) with the given qualifier
This tag is applied to a collection with the same qualifier as the [`RecursiveHierarchy`](#RecursiveHierarchy) term which is applied to its entity type. The recursive hierarchy can then only be addressed through a collection where this tag is true. diff --git a/vocabularies/PersonalData.md b/vocabularies/PersonalData.md index 09cf8e90..9dcdeef6 100644 --- a/vocabularies/PersonalData.md +++ b/vocabularies/PersonalData.md @@ -58,7 +58,7 @@ Allowed Value|Description [DataSubjectIDType](PersonalData.xml#L123) *([Experimental](Common.md#Experimental))*|The type of ID identifying the data subject and which is allocated when creating a consent record, e.g. an e-mail address or a phone number. [ConsentID](PersonalData.xml#L128) *([Experimental](Common.md#Experimental))*|The unique identifier for a consent
A consent is the action of the data subject confirming that the usage of his or her personal data shall be allowed for a given purpose. A consent functionality allows the storage of a consent record in relation to a specific purpose and shows if a data subject has granted, withdrawn, or denied consent. [PurposeID](PersonalData.xml#L140) *([Experimental](Common.md#Experimental))*|The unique identifier for the purpose of a processing of personal data
Any processing of personal data is based on specified, explicit, and legitimate purposes, and data are not further processed in a manner that is incompatible with those purposes. The purposes are defined by the data controller or joint data controllers. -[ContractRelatedID](PersonalData.xml#L149)|The unique identifier for transactional data that is related to a contract that requires processing of personal data
Examples:
- Sales Contract ID
- Purchase Contract ID
- Service Contract ID +[ContractRelatedID](PersonalData.xml#L149)|The unique identifier for transactional data that is related to a contract that requires processing of personal data
Examples:
- Sales Contract ID
- Purchase Contract ID
- Service Contract ID [LegalEntityID](PersonalData.xml#L163) *(Deprecated)*|Deprecated in favor of [`DataControllerID`](#DataControllerID) [UserID](PersonalData.xml#L178) *([Experimental](Common.md#Experimental))*|The unique identifier of a user
A user is an individual who interacts with the services supplied by a system. [EndOfBusinessDate](PersonalData.xml#L186) *([Experimental](Common.md#Experimental))*|Defines the end of active business and the start of residence time and retention period
End of business is the point in time when the processing of a set of personal data is no longer required for the active business, for example, when a contract is fulfilled. After this has been reached and a customer-defined residence period has passed, the data is blocked and can only be accessed by users with special authorizations (for example, tax auditors). All fields of type `Edm.Date` or `Edm.DateTimeOffset` on which the end of business determination depends should be annotated. diff --git a/vocabularies/UI.md b/vocabularies/UI.md index e77e6c4d..86e9b985 100644 --- a/vocabularies/UI.md +++ b/vocabularies/UI.md @@ -29,7 +29,7 @@ Term|Type|Description [ConnectedFields](UI.xml#L171)|[ConnectedFieldsType](#ConnectedFieldsType)|Group of semantically connected fields with a representation template and an optional label ([Example](UI.xml#L173)) [GeoLocations](UI.xml#L236)|\[[GeoLocationType](#GeoLocationType)\]|Collection of geographic locations [GeoLocation](UI.xml#L240)|[GeoLocationType](#GeoLocationType)|Geographic location -[Contacts](UI.xml#L260)|\[AnnotationPath\]|Collection of contacts
Each collection item MUST reference an annotation of a Communication.Contact
Allowed terms:
  • [Contact](Communication.md#Contact)
+[Contacts](UI.xml#L260)|\[AnnotationPath\]|Collection of contacts
Each collection item MUST reference an annotation of a Communication.Contact
Allowed Terms:
  • [Contact](Communication.md#Contact)
[MediaResource](UI.xml#L271)|[MediaResourceType](#MediaResourceType)|Properties that describe a media resource
Either `Url` or `Stream` MUST be present, and never both. [DataPoint](UI.xml#L351)|[DataPointType](#DataPointType)|Visualization of a single point of data, typically a number; may also be textual, e.g. a status value [KPI](UI.xml#L659)|[KPIType](#KPIType)|A Key Performance Indicator (KPI) bundles a SelectionVariant and a DataPoint, and provides details for progressive disclosure @@ -50,13 +50,13 @@ Term|Type|Description [PartOfPreview](UI.xml#L1369)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|This record and all included structural elements are part of the Thing preview
This term can be applied e.g. to UI.Facet and UI.DataField [Map](UI.xml#L1373)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Target MUST reference a UI.GeoLocation, Communication.Address or a collection of these [Gallery](UI.xml#L1377)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Target MUST reference a UI.MediaResource -[IsImageURL](UI.xml#L1382)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image
Can be annotated with:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
-[IsImage](UI.xml#L1392) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties annotated with this term MUST be a stream property annotated with a MIME type image. Entity types annotated with this term MUST be a media entity type annotated with a MIME type image.
Can be annotated with:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
+[IsImageURL](UI.xml#L1382)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image
Applicable Annotation Terms:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
+[IsImage](UI.xml#L1392) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties annotated with this term MUST be a stream property annotated with a MIME type image. Entity types annotated with this term MUST be a media entity type annotated with a MIME type image.
Applicable Annotation Terms:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
[MultiLineText](UI.xml#L1403)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and parameters annotated with this annotation should be rendered as multi-line text (e.g. text area) [Placeholder](UI.xml#L1408)|String|A short, human-readable text that gives a hint or an example to help the user with data entry [InputMask](UI.xml#L1413) *([Experimental](Common.md#Experimental))*|[InputMaskType](#InputMaskType)|Properties or parameters annotated with this term will get a mask in edit mode
Input masks improve readability and help to enter data correctly. So, masks can be especially useful for input fields that have a fixed pattern, e.g. DUNS numbers or similar. [Here](../examples/UI.InputMask-sample.xml) you can find an example for this annotation [TextArrangement](UI.xml#L1447)|[TextArrangementType](#TextArrangementType)|Describes the arrangement of a code or ID value and its text

This term annotates one of the following:

  1. a Common.Text annotation of the code or ID property where the annotation value is the text
  2. an entity type, this has the same effect as annotating all Common.Text annotations of properties of that entity type.
-[DateTimeStyle](UI.xml#L1470) *([Experimental](Common.md#Experimental))*|String?|The temporal value represented by the annotated property or parameter shall be shown on the UI in the given style
Requires type `Edm.Date`, `Edm.TimeOfDay`, or `Edm.DateTimeOffset`. If this annotation is absent or null or an empty string, temporal values are shown in a default style.
Allowed values:
[short](UI.xml#L1479)
7/25/24, 1:11 PM
[medium](UI.xml#L1483)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1487)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1491)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
+[DateTimeStyle](UI.xml#L1470) *([Experimental](Common.md#Experimental))*|String?|The temporal value represented by the annotated property or parameter shall be shown on the UI in the given style
Requires type `Edm.Date`, `Edm.TimeOfDay`, or `Edm.DateTimeOffset`. If this annotation is absent or null or an empty string, temporal values are shown in a default style.
Allowed Values:
[short](UI.xml#L1479)
7/25/24, 1:11 PM
[medium](UI.xml#L1483)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1487)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1491)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
[Note](UI.xml#L1499) *([Experimental](Common.md#Experimental))*|[NoteType](#NoteType)|Visualization of a note attached to an entity
Administrative data is given by the annotations [`Common.CreatedBy`](Common.md#CreatedBy), [`Common.CreatedAt`](Common.md#CreatedAt), [`Common.ChangedBy`](Common.md#ChangedBy), [`Common.ChangedAt`](Common.md#ChangedAt) on the same entity type. [Importance](UI.xml#L1552)|[ImportanceType](#ImportanceType)|Expresses the importance of e.g. a DataField or an annotation [Hidden](UI.xml#L1567)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties or facets (see UI.Facet) annotated with this term will not be rendered if the annotation evaluates to true.
Hidden properties usually carry technical information that is used for application control and is of no direct interest to end users. The annotation value may be an expression to dynamically hide or render the annotated feature. If a navigation property is annotated with `Hidden` true, all subsequent parts are hidden - independent of their own potential `Hidden` annotations. @@ -75,9 +75,9 @@ Term|Type|Description [ParameterDefaultValue](UI.xml#L1870)|PrimitiveType?|Define default values for action parameters
For unbound actions the default value can either be a constant expression, or a dynamic expression using absolute paths, e.g. singletons or function import results. Whereas for bound actions the bound entity and its properties and associated properties can be used as default values [RecommendationState](UI.xml#L1876)|[RecommendationStateType](#RecommendationStateType)|Indicates whether a field contains or has a recommended value
Intelligent systems can help users by recommending input the user may "prefer". [RecommendationList](UI.xml#L1906)|[RecommendationListType](#RecommendationListType)|Specifies how to get a list of recommended values for a property or parameter
Intelligent systems can help users by recommending input the user may "prefer". -[Recommendations](UI.xml#L1938) *([Experimental](Common.md#Experimental))*|ComplexType|Recommendations for an entity
This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of [`PropertyRecommendationType`](#PropertyRecommendationType). (The specializiations are called "informal" because they may omit the property `RecommendedFieldDescription`.)
Clients retrieve the recommendations with a GET request that includes this annotation in a `$select` clause. The recommendations MAY be computed asynchronously, see [this diagram](../docs/recommendations.md). +[Recommendations](UI.xml#L1938) *([Experimental](Common.md#Experimental))*|ComplexType|Recommendations for an entity
This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of [`PropertyRecommendationType`](#PropertyRecommendationType). (The specializiations are called "informal" because they may omit the property `RecommendedFieldDescription`.)
Clients retrieve the recommendations with a GET request that includes this annotation in a `$select` clause. The recommendations MAY be computed asynchronously, see [this diagram](../docs/recommendations.md). [ExcludeFromNavigationContext](UI.xml#L1984)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The contents of this property must not be propagated to the app-to-app navigation context -[DoNotCheckScaleOfMeasuredQuantity](UI.xml#L1988) *([Experimental](Common.md#Experimental))*|Boolean|Do not check the number of fractional digits of the annotated measured quantity
The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure.
This switches off the validation of user input with respect to decimals. +[DoNotCheckScaleOfMeasuredQuantity](UI.xml#L1988) *([Experimental](Common.md#Experimental))*|Boolean|Do not check the number of fractional digits of the annotated measured quantity
The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure.
This switches off the validation of user input with respect to decimals. [LeadingEntitySet](UI.xml#L1998) *([Experimental](Common.md#Experimental))*|String|The referenced entity set is the preferred starting point for UIs using this service @@ -88,8 +88,8 @@ Property|Type|Description :-------|:---|:---------- [TypeName](UI.xml#L69)|String|Name of the main entity type [TypeNamePlural](UI.xml#L73)|String|Plural form of the name of the main entity type -[Title](UI.xml#L77)|[DataFieldAbstract?](#DataFieldAbstract)|Title, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). -[Description](UI.xml#L87)|[DataFieldAbstract?](#DataFieldAbstract)|Description, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). +[Title](UI.xml#L77)|[DataFieldAbstract?](#DataFieldAbstract)
Allowed Derived Types:
  • [DataField](#DataField)
  • [DataFieldForAnnotation](#DataFieldForAnnotation)
|Title, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). +[Description](UI.xml#L87)|[DataFieldAbstract?](#DataFieldAbstract)
Allowed Derived Types:
  • [DataField](#DataField)
  • [DataFieldForAnnotation](#DataFieldForAnnotation)
|Description, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). [Image](UI.xml#L97) *([Experimental](Common.md#Experimental))*|Stream?|Image for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property `ImageUrl` can be used instead. [ImageUrl](UI.xml#L101)|URL?|Image URL for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property `TypeImageUrl` can be used instead. [TypeImageUrl](UI.xml#L105)|URL?|Image URL for the entity type @@ -144,8 +144,8 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[Url](UI.xml#L277)|URL?|URL of media resource
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
-[Stream](UI.xml#L286) *([Experimental](Common.md#Experimental))*|Stream?|Stream of media resource
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Url](UI.xml#L277)|URL?|URL of media resource
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Stream](UI.xml#L286) *([Experimental](Common.md#Experimental))*|Stream?|Stream of media resource
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[ContentType](UI.xml#L295)|MediaType?|Content type, such as application/pdf, video/x-flv, image/jpeg [ByteSize](UI.xml#L299)|Int64?|Resource size in bytes [ChangedAt](UI.xml#L302)|DateTimeOffset?|Date of last change @@ -162,7 +162,7 @@ Either `Url` or `Stream` MUST be present, and never both. Property|Type|Description :-------|:---|:---------- [Url](UI.xml#L318)|URL|URL of image -[Stream](UI.xml#L322) *([Experimental](Common.md#Experimental))*|Stream?|Stream of image
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Stream](UI.xml#L322) *([Experimental](Common.md#Experimental))*|Stream?|Stream of image
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[Width](UI.xml#L331)|String?|Width of image [Height](UI.xml#L334)|String?|Height of image @@ -175,7 +175,7 @@ Property|Type|Description [Title](UI.xml#L356)|String?|Title of the data point [Description](UI.xml#L360)|String?|Short description [LongDescription](UI.xml#L364)|String?|Full description -[Value](UI.xml#L368)|PrimitiveType|Numeric value
The value is typically provided via a `Path` construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.
It could be annotated with either `UoM.ISOCurrency` or `UoM.Unit`. Percentage values are annotated with `UoM.Unit = '%'`. A renderer should take an optional `Common.Text` annotation into consideration. +[Value](UI.xml#L368)|PrimitiveType|Numeric value
The value is typically provided via a `Path` construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.
It could be annotated with either `UoM.ISOCurrency` or `UoM.Unit`. Percentage values are annotated with `UoM.Unit = '%'`. A renderer should take an optional `Common.Text` annotation into consideration. [TargetValue](UI.xml#L380)|PrimitiveType?|Target value [ForecastValue](UI.xml#L383)|PrimitiveType?|Forecast value [MinimumValue](UI.xml#L386)|Decimal?|Minimum value (for output rendering) @@ -185,7 +185,7 @@ Property|Type|Description [SampleSize](UI.xml#L398)|PrimitiveType?|Sample size used for the determination of the data point; should contain just integer value as Edm.Byte, Edm.SByte, Edm.Intxx, and Edm.Decimal with scale 0. [ReferencePeriod](UI.xml#L405)|[ReferencePeriod?](#ReferencePeriod)|Reference period [Criticality](UI.xml#L408)|[CriticalityType?](#CriticalityType)|Service-calculated criticality, alternative to CriticalityCalculation -[CriticalityLabels](UI.xml#L411)|AnnotationPath?|Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels
Allowed terms:
  • [CriticalityLabels](#CriticalityLabels)
+[CriticalityLabels](UI.xml#L411)|AnnotationPath?|Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels
Allowed Terms:
  • [CriticalityLabels](#CriticalityLabels)
[CriticalityRepresentation](UI.xml#L419) *([Experimental](Common.md#Experimental))*|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [CriticalityCalculation](UI.xml#L423)|[CriticalityCalculationType?](#CriticalityCalculationType)|Parameters for client-calculated criticality, alternative to Criticality [Trend](UI.xml#L426)|[TrendType?](#TrendType)|Service-calculated trend, alternative to TrendCalculation @@ -399,11 +399,11 @@ Property|Type|Description [ChartType](UI.xml#L718)|[ChartType](#ChartType)|Chart type [AxisScaling](UI.xml#L721)|[ChartAxisScalingType?](#ChartAxisScalingType)|Describes the scale of the chart value axes [Measures](UI.xml#L724)|\[PropertyPath\]|Measures of the chart, e.g. size and color in a bubble chart -[DynamicMeasures](UI.xml#L728)|\[AnnotationPath\]|Dynamic properties introduced by annotations and used as measures of the chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicMeasures](UI.xml#L728)|\[AnnotationPath\]|Dynamic properties introduced by annotations and used as measures of the chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[MeasureAttributes](UI.xml#L741)|\[[ChartMeasureAttributeType](#ChartMeasureAttributeType)\]|Describes Attributes for Measures. All Measures used in this collection must also be part of the Measures Property. [Dimensions](UI.xml#L746)|\[PropertyPath\]|Dimensions of the chart, e.g. x- and y-axis of a bubble chart [DimensionAttributes](UI.xml#L749)|\[[ChartDimensionAttributeType](#ChartDimensionAttributeType)\]|Describes Attributes for Dimensions. All Dimensions used in this collection must also be part of the Dimensions Property. -[Actions](UI.xml#L754)|\[[DataFieldAbstract](#DataFieldAbstract)\]|Available actions and action groups +[Actions](UI.xml#L754)|\[[DataFieldAbstract](#DataFieldAbstract)\]
Allowed Derived Types:
  • [DataFieldForActionAbstract](#DataFieldForActionAbstract)
  • [DataFieldForActionGroup](#DataFieldForActionGroup)
|Available actions and action groups ## [ChartType](UI.xml#L765) @@ -517,9 +517,9 @@ Exactly one of `Measure` and `DynamicMeasure` must be present Property|Type|Description :-------|:---|:---------- [Measure](UI.xml#L885)|PropertyPath?| -[DynamicMeasure](UI.xml#L888)|AnnotationPath?|Dynamic property introduced by an annotation and used as a measure in a chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicMeasure](UI.xml#L888)|AnnotationPath?|Dynamic property introduced by an annotation and used as a measure in a chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Role](UI.xml#L901)|[ChartMeasureRoleType?](#ChartMeasureRoleType)| -[DataPoint](UI.xml#L902)|AnnotationPath?|Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure
Allowed terms:
  • [DataPoint](#DataPoint)
+[DataPoint](UI.xml#L902)|AnnotationPath?|Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure
Allowed Terms:
  • [DataPoint](#DataPoint)
[UseSequentialColorLevels](UI.xml#L910) *([Experimental](Common.md#Experimental))*|Boolean|All measures for which this setting is true should be assigned to levels of the same color. @@ -611,7 +611,7 @@ Property|Type|Description :-------|:---|:---------- [*Label*](UI.xml#L1004)|String?|Facet label [*ID*](UI.xml#L1008)|String?|Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. -[Target](UI.xml#L1020)|AnnotationPath|Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge
Allowed terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Badge](#Badge)
  • [Chart](#Chart)
  • [Contacts](#Contacts)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
  • [GeoLocation](#GeoLocation)
  • [GeoLocations](#GeoLocations)
  • [HeaderInfo](#HeaderInfo)
  • [Identification](#Identification)
  • [KPI](#KPI)
  • [LineItem](#LineItem)
  • [MediaResource](#MediaResource)
  • [Note](#Note)
  • [PresentationVariant](#PresentationVariant)
  • [SelectionFields](#SelectionFields)
  • [SelectionPresentationVariant](#SelectionPresentationVariant)
  • [StatusInfo](#StatusInfo)
+[Target](UI.xml#L1020)|AnnotationPath|Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge
Allowed Terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Badge](#Badge)
  • [Chart](#Chart)
  • [Contacts](#Contacts)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
  • [GeoLocation](#GeoLocation)
  • [GeoLocations](#GeoLocations)
  • [HeaderInfo](#HeaderInfo)
  • [Identification](#Identification)
  • [KPI](#KPI)
  • [LineItem](#LineItem)
  • [MediaResource](#MediaResource)
  • [Note](#Note)
  • [PresentationVariant](#PresentationVariant)
  • [SelectionFields](#SelectionFields)
  • [SelectionPresentationVariant](#SelectionPresentationVariant)
  • [StatusInfo](#StatusInfo)
**Applicable Annotation Terms:** @@ -626,7 +626,7 @@ Property|Type|Description :-------|:---|:---------- [*Label*](UI.xml#L1004)|String?|Facet label [*ID*](UI.xml#L1008)|String?|Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. -[Url](UI.xml#L1049)|URL|URL of referenced information
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Url](UI.xml#L1049)|URL|URL of referenced information
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[UrlContentType](UI.xml#L1058)|MediaType?|Media type of referenced information **Applicable Annotation Terms:** @@ -658,10 +658,10 @@ Property|Type|Description [GroupBy](UI.xml#L1109)|\[PropertyPath\]|Sequence of groupable properties p1, p2, ... defining how the result is composed of instances representing groups, one for each combination of value properties in the queried collection. The sequence specifies a certain level of aggregation for the queried collection, and every group instance will provide aggregated values for properties that are aggregatable. Moreover, the series of sub-sequences (p1), (p1, p2), ... forms a leveled hierarchy, which may become relevant in combination with `InitialExpansionLevel`. [TotalBy](UI.xml#L1118)|\[PropertyPath\]|Sub-sequence q1, q2, ... of properties p1, p2, ... specified in GroupBy. With this, additional levels of aggregation are requested in addition to the most granular level defined by GroupBy: Every element in the series of sub-sequences (q1), (q1, q2), ... introduces an additional aggregation level included in the result. [Total](UI.xml#L1125)|\[PropertyPath\]|Aggregatable properties for which aggregated values should be provided for the additional aggregation levels specified in TotalBy. -[DynamicTotal](UI.xml#L1131)|\[AnnotationPath\]|Dynamic properties introduced by annotations for which aggregated values should be provided for the additional aggregation levels specified in TotalBy
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being presented according to the `UI.PresentationVariant` annotation, the annotation path MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicTotal](UI.xml#L1131)|\[AnnotationPath\]|Dynamic properties introduced by annotations for which aggregated values should be provided for the additional aggregation levels specified in TotalBy
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being presented according to the `UI.PresentationVariant` annotation, the annotation path MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[IncludeGrandTotal](UI.xml#L1144)|Boolean|Result should include a grand total for the properties specified in Total [InitialExpansionLevel](UI.xml#L1147)|Int32|Level up to which the hierarchy defined for the queried collection should be expanded initially. The hierarchy may be implicitly imposed by the sequence of the GroupBy, or by an explicit hierarchy annotation. -[Visualizations](UI.xml#L1153)|\[AnnotationPath\]|Lists available visualization types. Currently supported types are `UI.LineItem`, `UI.Chart`, and `UI.DataPoint`. For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to `UI.Lineitem` should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.
Allowed terms:
  • [Chart](#Chart)
  • [DataPoint](#DataPoint)
  • [LineItem](#LineItem)
+[Visualizations](UI.xml#L1153)|\[AnnotationPath\]|Lists available visualization types. Currently supported types are `UI.LineItem`, `UI.Chart`, and `UI.DataPoint`. For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to `UI.Lineitem` should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.
Allowed Terms:
  • [Chart](#Chart)
  • [DataPoint](#DataPoint)
  • [LineItem](#LineItem)
[RecursiveHierarchyQualifier](UI.xml#L1170) *([Experimental](Common.md#Experimental))*|[HierarchyQualifier?](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#HierarchyQualifier)|Qualifier of the recursive hierarchy that should be applied to the Visualization [RequestAtLeast](UI.xml#L1174)|\[PropertyPath\]|Properties that should always be included in the result of the queried collection
Properties in `RequestAtLeast` must occur either in the `$select` clause of an OData request or among the grouping properties in an `$apply=groupby((grouping properties),...)` clause of an aggregating OData request. [SelectionFields](UI.xml#L1197) *([Experimental](Common.md#Experimental))*|\[PropertyPath\]|Properties that should be presented for filtering a collection of entities. Can be provided inline or as a reference to a `UI.SelectionFields` annotation via Path. @@ -715,7 +715,7 @@ Exactly one of `PropertyName` and `DynamicPropertyName` must be present Property|Type|Description :-------|:---|:---------- [PropertyName](UI.xml#L1267)|PropertyPath?|Path to the property -[DynamicPropertyName](UI.xml#L1279)|AnnotationPath?|Dynamic property introduced by annotations for which value ranges are specified
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being filtered according to the `UI.SelectionVariant` annotation, this instance of `UI.SelectionVariant/SelectOptions` MUST be silently ignored. For an example, see the `UI.SelectionVariant` annotation in the [example](../examples/DynamicProperties-sample.xml).
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicPropertyName](UI.xml#L1279)|AnnotationPath?|Dynamic property introduced by annotations for which value ranges are specified
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being filtered according to the `UI.SelectionVariant` annotation, this instance of `UI.SelectionVariant/SelectOptions` MUST be silently ignored. For an example, see the `UI.SelectionVariant` annotation in the [example](../examples/DynamicProperties-sample.xml).
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Ranges](UI.xml#L1293)|\[[SelectionRangeType](#SelectionRangeType)\]|List of value ranges @@ -791,8 +791,8 @@ Member|Value|Description Property|Type|Description :-------|:---|:---------- -[Title](UI.xml#L1513)|String?|Title of the note
The title of a note is hidden with an annotation `@UI.Note/Title/@UI.Hidden`, not with an annotation on the property targeted by `@UI.Note/Title`.
Can be annotated with:
  • [Hidden](#Hidden)
-[Content](UI.xml#L1525)|String|Content of the note, as a string
The property targeted by `@UI.Note/Content` must be annotated with `Core.MediaType` and may be annotated with `Common.SAPObjectNodeTypeReference`. When it is tagged with `Core.IsLanguageDependent`, another property of the same entity type that is tagged with [`Common.IsLanguageIdentifier`](Common.md#IsLanguageIdentifier) determines the language of the note.
Can be annotated with:
  • [MediaType](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#MediaType)
  • [IsLanguageDependent](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsLanguageDependent)
  • [SAPObjectNodeTypeReference](Common.md#SAPObjectNodeTypeReference)
+[Title](UI.xml#L1513)|String?|Title of the note
The title of a note is hidden with an annotation `@UI.Note/Title/@UI.Hidden`, not with an annotation on the property targeted by `@UI.Note/Title`.
Applicable Annotation Terms:
  • [Hidden](#Hidden)
+[Content](UI.xml#L1525)|String|Content of the note, as a string
The property targeted by `@UI.Note/Content` must be annotated with `Core.MediaType` and may be annotated with `Common.SAPObjectNodeTypeReference`. When it is tagged with `Core.IsLanguageDependent`, another property of the same entity type that is tagged with [`Common.IsLanguageIdentifier`](Common.md#IsLanguageIdentifier) determines the language of the note.
Applicable Annotation Terms:
  • [MediaType](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#MediaType)
  • [IsLanguageDependent](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsLanguageDependent)
  • [SAPObjectNodeTypeReference](Common.md#SAPObjectNodeTypeReference)
[Type](UI.xml#L1541)|String|A type used for grouping notes [MaximalLength](UI.xml#L1544)|Int32?|Type-specific maximal length of the content of the note [MultipleNotes](UI.xml#L1547)|Boolean|Whether the type allows multiple notes for one object @@ -863,7 +863,7 @@ Property|Type|Description [*Criticality*](UI.xml#L1650)|[CriticalityType?](#CriticalityType)|Criticality of the data field value [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon -[Target](UI.xml#L1677)|AnnotationPath|Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields
Allowed terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Chart](#Chart)
  • [ConnectedFields](#ConnectedFields)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
+[Target](UI.xml#L1677)|AnnotationPath|Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields
Allowed Terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Chart](#Chart)
  • [ConnectedFields](#ConnectedFields)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
**Applicable Annotation Terms:** @@ -1004,7 +1004,7 @@ Property|Type|Description [*Criticality*](UI.xml#L1650)|[CriticalityType?](#CriticalityType)|Criticality of the data field value [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon -[Value](UI.xml#L1755)|Untyped|The data field's value +[Value](UI.xml#L1755)|Untyped
Allowed Derived Types:
  • PrimitiveType
  • [Binary]
  • [Boolean]
  • [Byte]
  • [Date]
  • [DateTimeOffset]
  • [Decimal]
  • [Double]
  • [Duration]
  • [Guid]
  • [Int16]
  • [Int32]
  • [Int64]
  • [SByte]
  • [Single]
  • [String]
  • [TimeOfDay]
|The data field's value **Applicable Annotation Terms:** @@ -1105,7 +1105,7 @@ Property|Type|Description [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon [Value](UI.xml#L1825)|PrimitiveType|The data field's value -[Url](UI.xml#L1826)|URL|Target of the hyperlink
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Url](UI.xml#L1826)|URL|Target of the hyperlink
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[UrlContentType](UI.xml#L1835)|MediaType?|Media type of the hyperlink target, e.g. `video/mp4` **Applicable Annotation Terms:** From 1fff872f5a0abf7b7c56cdba6113adde69284572 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Wed, 30 Oct 2024 14:55:58 +0100 Subject: [PATCH 4/4] Rebuilt --- vocabularies/Analytics.md | 2 +- vocabularies/Common.md | 20 ++++++------- vocabularies/Hierarchy.md | 2 +- vocabularies/PersonalData.md | 2 +- vocabularies/UI.md | 54 ++++++++++++++++++------------------ 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/vocabularies/Analytics.md b/vocabularies/Analytics.md index 757ca5b5..ffa0ab80 100644 --- a/vocabularies/Analytics.md +++ b/vocabularies/Analytics.md @@ -39,7 +39,7 @@ Exactly one of `Property` and `DynamicProperty` must be present Property|Type|Description :-------|:---|:---------- [Property](Analytics.xml#L147)|PropertyPath?|Property that is part of the analytical context -[DynamicProperty](Analytics.xml#L150)|AnnotationPath?|Dynamic property introduced by annotations that is part of the analytical context
Allowed terms:
  • [AggregatedProperty](#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicProperty](Analytics.xml#L150)|AnnotationPath?|Dynamic property introduced by annotations that is part of the analytical context
Allowed Terms:
  • [AggregatedProperty](#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Dimension](Analytics.xml#L159)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The property holds the key of a dimension [Measure](Analytics.xml#L162)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The property holds the numeric value of a measure [AccumulativeMeasure](Analytics.xml#L165)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The measure has non-negative and additive values; it can be used in whole-part charts, e.g. the Donut diff --git a/vocabularies/Common.md b/vocabularies/Common.md index cf274971..49c38b23 100644 --- a/vocabularies/Common.md +++ b/vocabularies/Common.md @@ -15,7 +15,7 @@ Term|Type|Description [Heading](Common.xml#L67)|String|A short, human-readable text suitable for column headings in UIs [QuickInfo](Common.xml#L72)|String|A short, human-readable text suitable for tool tips in UIs [DocumentationRef](Common.xml#L77) *([Experimental](Common.md#Experimental))*|String|A URI referencing language-dependent documentation for the annotated model element ([Example](Common.xml#L80)) -[Text](Common.xml#L91)|String?|A descriptive text for values of the annotated property. Value MUST be a dynamic expression when used as metadata annotation.
Can be annotated with:
  • [TextArrangement](UI.md#TextArrangement)
+[Text](Common.xml#L91)|String?|A descriptive text for values of the annotated property. Value MUST be a dynamic expression when used as metadata annotation.
Applicable Annotation Terms:
  • [TextArrangement](UI.md#TextArrangement)
[TextFor](Common.xml#L101) *([Experimental](Common.md#Experimental))*|PropertyPath|The annotated property contains a descriptive text for values of the referenced property. [ExternalID](Common.xml#L107) *([Experimental](Common.md#Experimental))*|String?|A human readable identifier for values of the annotated property or parameter. Value MUST be a dynamic expression when used as metadata annotation.
If the annotated property is (part of) a foreign key of a resource, the external id is a human readable (part of an) identifier of this resource. There is a one-to-one relationship between each possible value of the annotated property and the corresponding external id. The annotation of a parameter refers to a property of the operation binding parameter. [IsLanguageIdentifier](Common.xml#L125) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|An identifier to distinguish multiple texts in different languages for the same entity @@ -41,7 +41,7 @@ Term|Type|Description [SemanticObjectUnavailableActions](Common.xml#L318)|\[String\]|List of actions that are not available in the current state of the instance of the Semantic Object [IsInstanceAnnotation](Common.xml#L322)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Term can also be used as instance annotation; AppliesTo of this term specifies where it can be applied [FilterExpressionRestrictions](Common.xml#L352) *(Deprecated)*|\[[FilterExpressionRestrictionType](#FilterExpressionRestrictionType)\]|Use term Capabilities.FilterRestrictions instead -[FieldControl](Common.xml#L395)|[FieldControlType?](#FieldControlType)|Control state of a property, parameter, or the media stream of a media entity
This term can be used for static field control, providing an enumeration member value in $metadata, as well as dynamically, providing a `Path` expression.
In the dynamic case the property referenced by the `Path` expression MUST be of type `Edm.Byte` to accommodate OData V2 services as well as V4 infrastructures that don't support enumeration types. +[FieldControl](Common.xml#L395)|[FieldControlType?](#FieldControlType)|Control state of a property, parameter, or the media stream of a media entity
This term can be used for static field control, providing an enumeration member value in $metadata, as well as dynamically, providing a `Path` expression.
In the dynamic case the property referenced by the `Path` expression MUST be of type `Edm.Byte` to accommodate OData V2 services as well as V4 infrastructures that don't support enumeration types. [ExceptionCategory](Common.xml#L452) *([Experimental](Common.md#Experimental))*|String|A machine-readable exception category [Application](Common.xml#L457) *([Experimental](Common.md#Experimental))*|[ApplicationType](#ApplicationType)|... [Timestamp](Common.xml#L477) *([Experimental](Common.md#Experimental))*|DateTimeOffset|... @@ -63,7 +63,7 @@ Term|Type|Description [IsNaturalPerson](Common.xml#L643)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The annotated entity type (e.g. `Employee`) or annotation (e.g. `IsImageUrl`) represents a natural person [ValueList](Common.xml#L649)|[ValueListType](#ValueListType)|Specifies how to get a list of acceptable values for a property or parameter
The value list can be based on user input that is passed in the value list request. The value list can be used for type-ahead and classical pick lists. [ValueListRelevantQualifiers](Common.xml#L723)|\[[SimpleIdentifier](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#SimpleIdentifier)\]|List of qualifiers of relevant ValueList annotations
The value of this annotation is a dynamic expression for calculating the qualifiers of relevant value lists depending on the values of one or more other properties. -[ValueListWithFixedValues](Common.xml#L728)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values
Can be annotated with:
  • [ValueListShowValuesImmediately](#ValueListShowValuesImmediately)
+[ValueListWithFixedValues](Common.xml#L728)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values
Applicable Annotation Terms:
  • [ValueListShowValuesImmediately](#ValueListShowValuesImmediately)
[ValueListShowValuesImmediately](Common.xml#L737) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|A value list with a very small number of fixed values, can decide to show all values immediately [ValueListForValidation](Common.xml#L742)|String|Contains the qualifier of the ValueList or ValueListMapping that should be used for validation
An empty string identifies the ValueList or ValueListMapping without a qualifier. [ValueListReferences](Common.xml#L747)|\[URL\]|A list of URLs of CSDL documents containing value list mappings for this parameter or property @@ -96,11 +96,11 @@ Term|Type|Description [EditableFieldFor](Common.xml#L1133)|PropertyPath|The annotated property is an editable field for the referenced key property [SemanticKey](Common.xml#L1163)|\[PropertyPath\]|The listed properties form the semantic key, i.e. they are unique modulo IsActiveEntity [SideEffects](Common.xml#L1167)|[SideEffectsType](#SideEffectsType)|Describes side-effects of modification operations -[DefaultValuesFunction](Common.xml#L1250)|[QualifiedName](#QualifiedName)|Function to calculate default values based on user input that is only known to the client and "context information" that is already available to the service
The default values function must have a bound overload whose binding parameter type matches the annotation target
- for an entity set: collection of entity type of entity set
- for a navigation property: identical to the type of the navigation property (single- or collection-valued)
- for a bound action/function: identical to the binding parameter type of the annotated action/function
In addition the overload can have non-binding parameters for values that the user has already entered:
- for an entity set or navigation property: each non-binding parameter name and type must match the name and type of a property of the entity to be created
- for an action or function: each non-binding parameter name and type must match the name and type of a non-binding parameter of the action or function to be called
The result type of the default values function is a complex type whose properties correspond in name and type to a subset of
- the properties of the entity to create, or
- the parameters of the action or function to call -[DerivedDefaultValue](Common.xml#L1279) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. +[DefaultValuesFunction](Common.xml#L1250)|[QualifiedName](#QualifiedName)|Function to calculate default values based on user input that is only known to the client and "context information" that is already available to the service
The default values function must have a bound overload whose binding parameter type matches the annotation target
- for an entity set: collection of entity type of entity set
- for a navigation property: identical to the type of the navigation property (single- or collection-valued)
- for a bound action/function: identical to the binding parameter type of the annotated action/function
In addition the overload can have non-binding parameters for values that the user has already entered:
- for an entity set or navigation property: each non-binding parameter name and type must match the name and type of a property of the entity to be created
- for an action or function: each non-binding parameter name and type must match the name and type of a non-binding parameter of the action or function to be called
The result type of the default values function is a complex type whose properties correspond in name and type to a subset of
- the properties of the entity to create, or
- the parameters of the action or function to call +[DerivedDefaultValue](Common.xml#L1279) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. [FilterDefaultValue](Common.xml#L1300)|PrimitiveType?|A default value for the property to be used in filter expressions. [FilterDefaultValueHigh](Common.xml#L1304) *([Experimental](Common.md#Experimental))*|PrimitiveType?|A default upper limit for the property to be used in 'less than or equal' filter expressions. -[DerivedFilterDefaultValue](Common.xml#L1309) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context in order to use it in filter expressions.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. +[DerivedFilterDefaultValue](Common.xml#L1309) *([Experimental](Common.md#Experimental))*|String|Function import to derive a default value for the property from a given context in order to use it in filter expressions.
Function import has two parameters of complex types:
- `parameters`, a structure resembling the entity type the parameter entity set related to the entity set of the annotated property
- `properties`, a structure resembling the type of the entity set of the annotated property
The return type must be of the same type as the annotated property.
Arguments passed to the function import are used as context for deriving the default value. The function import returns this default value, or null in case such a value could not be determined. [SortOrder](Common.xml#L1333)|\[[SortOrderType](#SortOrderType)\]|List of sort criteria
The items of the annotated entity set or the items of the collection of the annotated entity type are sorted by the first entry of the SortOrder collection. Items with same value for this first sort criteria are sorted by the second entry of the SortOrder collection, and so on. [RecursiveHierarchy](Common.xml#L1393) *(Deprecated)*|[RecursiveHierarchyType](#RecursiveHierarchyType)|Use terms [Aggregation.RecursiveHierarchy](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#RecursiveHierarchy) and [Hierarchy.RecursiveHierarchy](https://github.com/SAP/odata-vocabularies/blob/main/vocabularies/Hierarchy.md#RecursiveHierarchy) instead [CreatedAt](Common.xml#L1441)|DateTimeOffset?|Creation timestamp @@ -171,8 +171,8 @@ Member|Value|Description :-----|----:|:---------- [Mandatory](Common.xml#L406)|7|Property is mandatory from a business perspective

A request that

  • sets the property to null or an empty value or
  • creates a non-draft entity and omits the property or
  • activates a draft entity while the property is null or empty

fails entirely if this annotation is Mandatory in the after-image of the request. The empty string is an empty value. Service-specific rules may consider other values, also of non-string type, empty. Values in draft entities are never considered empty. Mandatory properties SHOULD be decorated in the UI with an asterisk. Null or empty values can also be disallowed by restricting the property value range with the standard type facet Nullable or terms from the Validation vocabulary.

[Optional](Common.xml#L422)|3|Property may have a value
This value does not make sense as a static annotation value. -[ReadOnly](Common.xml#L426)|1|Property value cannot be changed
A request to change the property to a value that differs from the before-image fails entirely according to [OData-Protocol, section 11.4.3](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateanEntity) if this annotation is given dynamically as `ReadOnly` in the before-image of the request.
To statically mark a property as read-only use term [Core.Computed](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Computed) instead. -[Inapplicable](Common.xml#L436)|0|Property has no meaning in the current entity state
A request that sets the property to a non-initial non-null value fails entirely if this annotation is `Inapplicable` in the after-image of the request.
This value does not make sense as a static annotation value.
Example for dynamic use: in a travel expense report the property `DestinationCountry` is inapplicable if trip type is domestic, and mandatory if trip type is international. +[ReadOnly](Common.xml#L426)|1|Property value cannot be changed
A request to change the property to a value that differs from the before-image fails entirely according to [OData-Protocol, section 11.4.3](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_UpdateanEntity) if this annotation is given dynamically as `ReadOnly` in the before-image of the request.
To statically mark a property as read-only use term [Core.Computed](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Computed) instead. +[Inapplicable](Common.xml#L436)|0|Property has no meaning in the current entity state
A request that sets the property to a non-initial non-null value fails entirely if this annotation is `Inapplicable` in the after-image of the request.
This value does not make sense as a static annotation value.
Example for dynamic use: in a travel expense report the property `DestinationCountry` is inapplicable if trip type is domestic, and mandatory if trip type is international. [Hidden](Common.xml#L446)|0|Deprecated synonym for Inapplicable, do not use
To statically hide a property on a UI use [UI.Hidden](UI.md#Hidden) instead @@ -380,7 +380,7 @@ Property|Type|Description [EditAction](Common.xml#L1079)|[QualifiedName?](#QualifiedName)|Action that creates an edit draft [NewAction](Common.xml#L1082)|[QualifiedName?](#QualifiedName)|Action that creates a new draft
New drafts may also be created by POSTing an empty entity without any properties to the entity set. [AdditionalNewActions](Common.xml#L1086) *([Experimental](Common.md#Experimental))*|\[[QualifiedName](#QualifiedName)\]|Additional actions that create a new draft
Additional actions beside the default POST or standard `NewAction` that create a new draft. -[ShareAction](Common.xml#L1091)|[QualifiedName?](#QualifiedName)|Action that shares a draft document with other users
The action is bound to the draft document root node and has the following signature:
- `Users`: collection of structure with properties
  - `UserID` of type `String` and
  - `UserAccessRole` of type `String` with possible values `O` (owner, can perform all draft actions), and `E` (editor, can change the draft)
It restricts access to the listed users in their specified roles. +[ShareAction](Common.xml#L1091)|[QualifiedName?](#QualifiedName)|Action that shares a draft document with other users
The action is bound to the draft document root node and has the following signature:
- `Users`: collection of structure with properties
  - `UserID` of type `String` and
  - `UserAccessRole` of type `String` with possible values `O` (owner, can perform all draft actions), and `E` (editor, can change the draft)
It restricts access to the listed users in their specified roles. ## [DraftNodeType](Common.xml#L1112) @@ -450,7 +450,7 @@ Exactly one of `Property`, `DynamicProperty` and `Expression` must be present Property|Type|Description :-------|:---|:---------- [Property](Common.xml#L1343)|PropertyPath?|Sort property -[DynamicProperty](Common.xml#L1355)|AnnotationPath?|Dynamic property introduced by an annotation and used as sort property
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being sorted according to the [`UI.PresentationVariant`](UI.md#PresentationVariant) or `Common.SortOrder` annotation, this instance of `UI.PresentationVariant/SortOrder` or `Common.SortOrder` MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicProperty](Common.xml#L1355)|AnnotationPath?|Dynamic property introduced by an annotation and used as sort property
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being sorted according to the [`UI.PresentationVariant`](UI.md#PresentationVariant) or `Common.SortOrder` annotation, this instance of `UI.PresentationVariant/SortOrder` or `Common.SortOrder` MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Expression](Common.xml#L1369) *([Experimental](Common.md#Experimental))*|PrimitiveType?|Dynamic expression whose primitive result value is used to sort the instances [Descending](Common.xml#L1373)|Boolean?|Sort direction, ascending if not specified otherwise diff --git a/vocabularies/Hierarchy.md b/vocabularies/Hierarchy.md index 3824a443..b1b047b2 100644 --- a/vocabularies/Hierarchy.md +++ b/vocabularies/Hierarchy.md @@ -10,7 +10,7 @@ Term|Type|Description :---|:---|:---------- [RecursiveHierarchy](Hierarchy.xml#L41) *([Experimental](Common.md#Experimental))*|[RecursiveHierarchyType](#RecursiveHierarchyType)|Hierarchy-specific information in the result set of a hierarchical request
The [base term](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchy) governs what are the nodes and parents in the hierarchy, whereas this term defines derived information. [RecursiveHierarchyActions](Hierarchy.xml#L155) *([Experimental](Common.md#Experimental))*|[RecursiveHierarchyActionsType](#RecursiveHierarchyActionsType)|Actions for maintaining the recursive hierarchy defined by the [base term](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchy)
When an annotation with this term is present, the [`ParentNavigationProperty`](https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Aggregation.V1.html#RecursiveHierarchyType) in the base term must not have a collection-valued segment prior to its last segment. -[MatchCount](Hierarchy.xml#L209) *([Experimental](Common.md#Experimental))*|Int64|Instance annotation on the result of an `$apply` query option containing the number of matching nodes after hierarchical transformations
The service MAY designate a subset of the `$apply` result as "matching nodes". For requests following the pattern described [here](#RecursiveHierarchyType), this subset is the output set of the `filter` or `search` transformation that occurs as the fourth parameter of the last `ancestors` transformation or occurs nested into it.
For requests not following this pattern, the subset NEED NOT be defined.
This instance annotation is available if [`RecursiveHierarchy/Matched`](#RecursiveHierarchyType) and [`RecursiveHierarchy/MatchedDescendantCount`](#RecursiveHierarchyType) are also available. +[MatchCount](Hierarchy.xml#L209) *([Experimental](Common.md#Experimental))*|Int64|Instance annotation on the result of an `$apply` query option containing the number of matching nodes after hierarchical transformations
The service MAY designate a subset of the `$apply` result as "matching nodes". For requests following the pattern described [here](#RecursiveHierarchyType), this subset is the output set of the `filter` or `search` transformation that occurs as the fourth parameter of the last `ancestors` transformation or occurs nested into it.
For requests not following this pattern, the subset NEED NOT be defined.
This instance annotation is available if [`RecursiveHierarchy/Matched`](#RecursiveHierarchyType) and [`RecursiveHierarchy/MatchedDescendantCount`](#RecursiveHierarchyType) are also available. [RecursiveHierarchySupported](Hierarchy.xml#L293) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Whether the annotated collection acts as a [`RecursiveHierarchy`](#RecursiveHierarchy) with the given qualifier
This tag is applied to a collection with the same qualifier as the [`RecursiveHierarchy`](#RecursiveHierarchy) term which is applied to its entity type. The recursive hierarchy can then only be addressed through a collection where this tag is true. diff --git a/vocabularies/PersonalData.md b/vocabularies/PersonalData.md index 09cf8e90..9dcdeef6 100644 --- a/vocabularies/PersonalData.md +++ b/vocabularies/PersonalData.md @@ -58,7 +58,7 @@ Allowed Value|Description [DataSubjectIDType](PersonalData.xml#L123) *([Experimental](Common.md#Experimental))*|The type of ID identifying the data subject and which is allocated when creating a consent record, e.g. an e-mail address or a phone number. [ConsentID](PersonalData.xml#L128) *([Experimental](Common.md#Experimental))*|The unique identifier for a consent
A consent is the action of the data subject confirming that the usage of his or her personal data shall be allowed for a given purpose. A consent functionality allows the storage of a consent record in relation to a specific purpose and shows if a data subject has granted, withdrawn, or denied consent. [PurposeID](PersonalData.xml#L140) *([Experimental](Common.md#Experimental))*|The unique identifier for the purpose of a processing of personal data
Any processing of personal data is based on specified, explicit, and legitimate purposes, and data are not further processed in a manner that is incompatible with those purposes. The purposes are defined by the data controller or joint data controllers. -[ContractRelatedID](PersonalData.xml#L149)|The unique identifier for transactional data that is related to a contract that requires processing of personal data
Examples:
- Sales Contract ID
- Purchase Contract ID
- Service Contract ID +[ContractRelatedID](PersonalData.xml#L149)|The unique identifier for transactional data that is related to a contract that requires processing of personal data
Examples:
- Sales Contract ID
- Purchase Contract ID
- Service Contract ID [LegalEntityID](PersonalData.xml#L163) *(Deprecated)*|Deprecated in favor of [`DataControllerID`](#DataControllerID) [UserID](PersonalData.xml#L178) *([Experimental](Common.md#Experimental))*|The unique identifier of a user
A user is an individual who interacts with the services supplied by a system. [EndOfBusinessDate](PersonalData.xml#L186) *([Experimental](Common.md#Experimental))*|Defines the end of active business and the start of residence time and retention period
End of business is the point in time when the processing of a set of personal data is no longer required for the active business, for example, when a contract is fulfilled. After this has been reached and a customer-defined residence period has passed, the data is blocked and can only be accessed by users with special authorizations (for example, tax auditors). All fields of type `Edm.Date` or `Edm.DateTimeOffset` on which the end of business determination depends should be annotated. diff --git a/vocabularies/UI.md b/vocabularies/UI.md index e77e6c4d..86e9b985 100644 --- a/vocabularies/UI.md +++ b/vocabularies/UI.md @@ -29,7 +29,7 @@ Term|Type|Description [ConnectedFields](UI.xml#L171)|[ConnectedFieldsType](#ConnectedFieldsType)|Group of semantically connected fields with a representation template and an optional label ([Example](UI.xml#L173)) [GeoLocations](UI.xml#L236)|\[[GeoLocationType](#GeoLocationType)\]|Collection of geographic locations [GeoLocation](UI.xml#L240)|[GeoLocationType](#GeoLocationType)|Geographic location -[Contacts](UI.xml#L260)|\[AnnotationPath\]|Collection of contacts
Each collection item MUST reference an annotation of a Communication.Contact
Allowed terms:
  • [Contact](Communication.md#Contact)
+[Contacts](UI.xml#L260)|\[AnnotationPath\]|Collection of contacts
Each collection item MUST reference an annotation of a Communication.Contact
Allowed Terms:
  • [Contact](Communication.md#Contact)
[MediaResource](UI.xml#L271)|[MediaResourceType](#MediaResourceType)|Properties that describe a media resource
Either `Url` or `Stream` MUST be present, and never both. [DataPoint](UI.xml#L351)|[DataPointType](#DataPointType)|Visualization of a single point of data, typically a number; may also be textual, e.g. a status value [KPI](UI.xml#L659)|[KPIType](#KPIType)|A Key Performance Indicator (KPI) bundles a SelectionVariant and a DataPoint, and provides details for progressive disclosure @@ -50,13 +50,13 @@ Term|Type|Description [PartOfPreview](UI.xml#L1369)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|This record and all included structural elements are part of the Thing preview
This term can be applied e.g. to UI.Facet and UI.DataField [Map](UI.xml#L1373)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Target MUST reference a UI.GeoLocation, Communication.Address or a collection of these [Gallery](UI.xml#L1377)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Target MUST reference a UI.MediaResource -[IsImageURL](UI.xml#L1382)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image
Can be annotated with:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
-[IsImage](UI.xml#L1392) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties annotated with this term MUST be a stream property annotated with a MIME type image. Entity types annotated with this term MUST be a media entity type annotated with a MIME type image.
Can be annotated with:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
+[IsImageURL](UI.xml#L1382)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image
Applicable Annotation Terms:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
+[IsImage](UI.xml#L1392) *([Experimental](Common.md#Experimental))*|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties annotated with this term MUST be a stream property annotated with a MIME type image. Entity types annotated with this term MUST be a media entity type annotated with a MIME type image.
Applicable Annotation Terms:
  • [IsNaturalPerson](Common.md#IsNaturalPerson)
[MultiLineText](UI.xml#L1403)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties and parameters annotated with this annotation should be rendered as multi-line text (e.g. text area) [Placeholder](UI.xml#L1408)|String|A short, human-readable text that gives a hint or an example to help the user with data entry [InputMask](UI.xml#L1413) *([Experimental](Common.md#Experimental))*|[InputMaskType](#InputMaskType)|Properties or parameters annotated with this term will get a mask in edit mode
Input masks improve readability and help to enter data correctly. So, masks can be especially useful for input fields that have a fixed pattern, e.g. DUNS numbers or similar. [Here](../examples/UI.InputMask-sample.xml) you can find an example for this annotation [TextArrangement](UI.xml#L1447)|[TextArrangementType](#TextArrangementType)|Describes the arrangement of a code or ID value and its text

This term annotates one of the following:

  1. a Common.Text annotation of the code or ID property where the annotation value is the text
  2. an entity type, this has the same effect as annotating all Common.Text annotations of properties of that entity type.
-[DateTimeStyle](UI.xml#L1470) *([Experimental](Common.md#Experimental))*|String?|The temporal value represented by the annotated property or parameter shall be shown on the UI in the given style
Requires type `Edm.Date`, `Edm.TimeOfDay`, or `Edm.DateTimeOffset`. If this annotation is absent or null or an empty string, temporal values are shown in a default style.
Allowed values:
[short](UI.xml#L1479)
7/25/24, 1:11 PM
[medium](UI.xml#L1483)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1487)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1491)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
+[DateTimeStyle](UI.xml#L1470) *([Experimental](Common.md#Experimental))*|String?|The temporal value represented by the annotated property or parameter shall be shown on the UI in the given style
Requires type `Edm.Date`, `Edm.TimeOfDay`, or `Edm.DateTimeOffset`. If this annotation is absent or null or an empty string, temporal values are shown in a default style.
Allowed Values:
[short](UI.xml#L1479)
7/25/24, 1:11 PM
[medium](UI.xml#L1483)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1487)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1491)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
[Note](UI.xml#L1499) *([Experimental](Common.md#Experimental))*|[NoteType](#NoteType)|Visualization of a note attached to an entity
Administrative data is given by the annotations [`Common.CreatedBy`](Common.md#CreatedBy), [`Common.CreatedAt`](Common.md#CreatedAt), [`Common.ChangedBy`](Common.md#ChangedBy), [`Common.ChangedAt`](Common.md#ChangedAt) on the same entity type. [Importance](UI.xml#L1552)|[ImportanceType](#ImportanceType)|Expresses the importance of e.g. a DataField or an annotation [Hidden](UI.xml#L1567)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Properties or facets (see UI.Facet) annotated with this term will not be rendered if the annotation evaluates to true.
Hidden properties usually carry technical information that is used for application control and is of no direct interest to end users. The annotation value may be an expression to dynamically hide or render the annotated feature. If a navigation property is annotated with `Hidden` true, all subsequent parts are hidden - independent of their own potential `Hidden` annotations. @@ -75,9 +75,9 @@ Term|Type|Description [ParameterDefaultValue](UI.xml#L1870)|PrimitiveType?|Define default values for action parameters
For unbound actions the default value can either be a constant expression, or a dynamic expression using absolute paths, e.g. singletons or function import results. Whereas for bound actions the bound entity and its properties and associated properties can be used as default values [RecommendationState](UI.xml#L1876)|[RecommendationStateType](#RecommendationStateType)|Indicates whether a field contains or has a recommended value
Intelligent systems can help users by recommending input the user may "prefer". [RecommendationList](UI.xml#L1906)|[RecommendationListType](#RecommendationListType)|Specifies how to get a list of recommended values for a property or parameter
Intelligent systems can help users by recommending input the user may "prefer". -[Recommendations](UI.xml#L1938) *([Experimental](Common.md#Experimental))*|ComplexType|Recommendations for an entity
This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of [`PropertyRecommendationType`](#PropertyRecommendationType). (The specializiations are called "informal" because they may omit the property `RecommendedFieldDescription`.)
Clients retrieve the recommendations with a GET request that includes this annotation in a `$select` clause. The recommendations MAY be computed asynchronously, see [this diagram](../docs/recommendations.md). +[Recommendations](UI.xml#L1938) *([Experimental](Common.md#Experimental))*|ComplexType|Recommendations for an entity
This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of [`PropertyRecommendationType`](#PropertyRecommendationType). (The specializiations are called "informal" because they may omit the property `RecommendedFieldDescription`.)
Clients retrieve the recommendations with a GET request that includes this annotation in a `$select` clause. The recommendations MAY be computed asynchronously, see [this diagram](../docs/recommendations.md). [ExcludeFromNavigationContext](UI.xml#L1984)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|The contents of this property must not be propagated to the app-to-app navigation context -[DoNotCheckScaleOfMeasuredQuantity](UI.xml#L1988) *([Experimental](Common.md#Experimental))*|Boolean|Do not check the number of fractional digits of the annotated measured quantity
The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure.
This switches off the validation of user input with respect to decimals. +[DoNotCheckScaleOfMeasuredQuantity](UI.xml#L1988) *([Experimental](Common.md#Experimental))*|Boolean|Do not check the number of fractional digits of the annotated measured quantity
The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure.
This switches off the validation of user input with respect to decimals. [LeadingEntitySet](UI.xml#L1998) *([Experimental](Common.md#Experimental))*|String|The referenced entity set is the preferred starting point for UIs using this service @@ -88,8 +88,8 @@ Property|Type|Description :-------|:---|:---------- [TypeName](UI.xml#L69)|String|Name of the main entity type [TypeNamePlural](UI.xml#L73)|String|Plural form of the name of the main entity type -[Title](UI.xml#L77)|[DataFieldAbstract?](#DataFieldAbstract)|Title, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). -[Description](UI.xml#L87)|[DataFieldAbstract?](#DataFieldAbstract)|Description, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). +[Title](UI.xml#L77)|[DataFieldAbstract?](#DataFieldAbstract)
Allowed Derived Types:
  • [DataField](#DataField)
  • [DataFieldForAnnotation](#DataFieldForAnnotation)
|Title, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). +[Description](UI.xml#L87)|[DataFieldAbstract?](#DataFieldAbstract)
Allowed Derived Types:
  • [DataField](#DataField)
  • [DataFieldForAnnotation](#DataFieldForAnnotation)
|Description, e.g. for overview pages
This can be a [DataField](#DataField) and any of its children, or a [DataFieldForAnnotation](#DataFieldForAnnotation) targeting [ConnectedFields](#ConnectedFields). [Image](UI.xml#L97) *([Experimental](Common.md#Experimental))*|Stream?|Image for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property `ImageUrl` can be used instead. [ImageUrl](UI.xml#L101)|URL?|Image URL for an instance of the entity type. If the property has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the value of the property `TypeImageUrl` can be used instead. [TypeImageUrl](UI.xml#L105)|URL?|Image URL for the entity type @@ -144,8 +144,8 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[Url](UI.xml#L277)|URL?|URL of media resource
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
-[Stream](UI.xml#L286) *([Experimental](Common.md#Experimental))*|Stream?|Stream of media resource
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Url](UI.xml#L277)|URL?|URL of media resource
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Stream](UI.xml#L286) *([Experimental](Common.md#Experimental))*|Stream?|Stream of media resource
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[ContentType](UI.xml#L295)|MediaType?|Content type, such as application/pdf, video/x-flv, image/jpeg [ByteSize](UI.xml#L299)|Int64?|Resource size in bytes [ChangedAt](UI.xml#L302)|DateTimeOffset?|Date of last change @@ -162,7 +162,7 @@ Either `Url` or `Stream` MUST be present, and never both. Property|Type|Description :-------|:---|:---------- [Url](UI.xml#L318)|URL|URL of image -[Stream](UI.xml#L322) *([Experimental](Common.md#Experimental))*|Stream?|Stream of image
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Stream](UI.xml#L322) *([Experimental](Common.md#Experimental))*|Stream?|Stream of image
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[Width](UI.xml#L331)|String?|Width of image [Height](UI.xml#L334)|String?|Height of image @@ -175,7 +175,7 @@ Property|Type|Description [Title](UI.xml#L356)|String?|Title of the data point [Description](UI.xml#L360)|String?|Short description [LongDescription](UI.xml#L364)|String?|Full description -[Value](UI.xml#L368)|PrimitiveType|Numeric value
The value is typically provided via a `Path` construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.
It could be annotated with either `UoM.ISOCurrency` or `UoM.Unit`. Percentage values are annotated with `UoM.Unit = '%'`. A renderer should take an optional `Common.Text` annotation into consideration. +[Value](UI.xml#L368)|PrimitiveType|Numeric value
The value is typically provided via a `Path` construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.
It could be annotated with either `UoM.ISOCurrency` or `UoM.Unit`. Percentage values are annotated with `UoM.Unit = '%'`. A renderer should take an optional `Common.Text` annotation into consideration. [TargetValue](UI.xml#L380)|PrimitiveType?|Target value [ForecastValue](UI.xml#L383)|PrimitiveType?|Forecast value [MinimumValue](UI.xml#L386)|Decimal?|Minimum value (for output rendering) @@ -185,7 +185,7 @@ Property|Type|Description [SampleSize](UI.xml#L398)|PrimitiveType?|Sample size used for the determination of the data point; should contain just integer value as Edm.Byte, Edm.SByte, Edm.Intxx, and Edm.Decimal with scale 0. [ReferencePeriod](UI.xml#L405)|[ReferencePeriod?](#ReferencePeriod)|Reference period [Criticality](UI.xml#L408)|[CriticalityType?](#CriticalityType)|Service-calculated criticality, alternative to CriticalityCalculation -[CriticalityLabels](UI.xml#L411)|AnnotationPath?|Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels
Allowed terms:
  • [CriticalityLabels](#CriticalityLabels)
+[CriticalityLabels](UI.xml#L411)|AnnotationPath?|Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels
Allowed Terms:
  • [CriticalityLabels](#CriticalityLabels)
[CriticalityRepresentation](UI.xml#L419) *([Experimental](Common.md#Experimental))*|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [CriticalityCalculation](UI.xml#L423)|[CriticalityCalculationType?](#CriticalityCalculationType)|Parameters for client-calculated criticality, alternative to Criticality [Trend](UI.xml#L426)|[TrendType?](#TrendType)|Service-calculated trend, alternative to TrendCalculation @@ -399,11 +399,11 @@ Property|Type|Description [ChartType](UI.xml#L718)|[ChartType](#ChartType)|Chart type [AxisScaling](UI.xml#L721)|[ChartAxisScalingType?](#ChartAxisScalingType)|Describes the scale of the chart value axes [Measures](UI.xml#L724)|\[PropertyPath\]|Measures of the chart, e.g. size and color in a bubble chart -[DynamicMeasures](UI.xml#L728)|\[AnnotationPath\]|Dynamic properties introduced by annotations and used as measures of the chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicMeasures](UI.xml#L728)|\[AnnotationPath\]|Dynamic properties introduced by annotations and used as measures of the chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[MeasureAttributes](UI.xml#L741)|\[[ChartMeasureAttributeType](#ChartMeasureAttributeType)\]|Describes Attributes for Measures. All Measures used in this collection must also be part of the Measures Property. [Dimensions](UI.xml#L746)|\[PropertyPath\]|Dimensions of the chart, e.g. x- and y-axis of a bubble chart [DimensionAttributes](UI.xml#L749)|\[[ChartDimensionAttributeType](#ChartDimensionAttributeType)\]|Describes Attributes for Dimensions. All Dimensions used in this collection must also be part of the Dimensions Property. -[Actions](UI.xml#L754)|\[[DataFieldAbstract](#DataFieldAbstract)\]|Available actions and action groups +[Actions](UI.xml#L754)|\[[DataFieldAbstract](#DataFieldAbstract)\]
Allowed Derived Types:
  • [DataFieldForActionAbstract](#DataFieldForActionAbstract)
  • [DataFieldForActionGroup](#DataFieldForActionGroup)
|Available actions and action groups ## [ChartType](UI.xml#L765) @@ -517,9 +517,9 @@ Exactly one of `Measure` and `DynamicMeasure` must be present Property|Type|Description :-------|:---|:---------- [Measure](UI.xml#L885)|PropertyPath?| -[DynamicMeasure](UI.xml#L888)|AnnotationPath?|Dynamic property introduced by an annotation and used as a measure in a chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicMeasure](UI.xml#L888)|AnnotationPath?|Dynamic property introduced by an annotation and used as a measure in a chart
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being visualized according to the `UI.Chart` annotation, the annotation path MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Role](UI.xml#L901)|[ChartMeasureRoleType?](#ChartMeasureRoleType)| -[DataPoint](UI.xml#L902)|AnnotationPath?|Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure
Allowed terms:
  • [DataPoint](#DataPoint)
+[DataPoint](UI.xml#L902)|AnnotationPath?|Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure
Allowed Terms:
  • [DataPoint](#DataPoint)
[UseSequentialColorLevels](UI.xml#L910) *([Experimental](Common.md#Experimental))*|Boolean|All measures for which this setting is true should be assigned to levels of the same color. @@ -611,7 +611,7 @@ Property|Type|Description :-------|:---|:---------- [*Label*](UI.xml#L1004)|String?|Facet label [*ID*](UI.xml#L1008)|String?|Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. -[Target](UI.xml#L1020)|AnnotationPath|Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge
Allowed terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Badge](#Badge)
  • [Chart](#Chart)
  • [Contacts](#Contacts)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
  • [GeoLocation](#GeoLocation)
  • [GeoLocations](#GeoLocations)
  • [HeaderInfo](#HeaderInfo)
  • [Identification](#Identification)
  • [KPI](#KPI)
  • [LineItem](#LineItem)
  • [MediaResource](#MediaResource)
  • [Note](#Note)
  • [PresentationVariant](#PresentationVariant)
  • [SelectionFields](#SelectionFields)
  • [SelectionPresentationVariant](#SelectionPresentationVariant)
  • [StatusInfo](#StatusInfo)
+[Target](UI.xml#L1020)|AnnotationPath|Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge
Allowed Terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Badge](#Badge)
  • [Chart](#Chart)
  • [Contacts](#Contacts)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
  • [GeoLocation](#GeoLocation)
  • [GeoLocations](#GeoLocations)
  • [HeaderInfo](#HeaderInfo)
  • [Identification](#Identification)
  • [KPI](#KPI)
  • [LineItem](#LineItem)
  • [MediaResource](#MediaResource)
  • [Note](#Note)
  • [PresentationVariant](#PresentationVariant)
  • [SelectionFields](#SelectionFields)
  • [SelectionPresentationVariant](#SelectionPresentationVariant)
  • [StatusInfo](#StatusInfo)
**Applicable Annotation Terms:** @@ -626,7 +626,7 @@ Property|Type|Description :-------|:---|:---------- [*Label*](UI.xml#L1004)|String?|Facet label [*ID*](UI.xml#L1008)|String?|Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. -[Url](UI.xml#L1049)|URL|URL of referenced information
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Url](UI.xml#L1049)|URL|URL of referenced information
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[UrlContentType](UI.xml#L1058)|MediaType?|Media type of referenced information **Applicable Annotation Terms:** @@ -658,10 +658,10 @@ Property|Type|Description [GroupBy](UI.xml#L1109)|\[PropertyPath\]|Sequence of groupable properties p1, p2, ... defining how the result is composed of instances representing groups, one for each combination of value properties in the queried collection. The sequence specifies a certain level of aggregation for the queried collection, and every group instance will provide aggregated values for properties that are aggregatable. Moreover, the series of sub-sequences (p1), (p1, p2), ... forms a leveled hierarchy, which may become relevant in combination with `InitialExpansionLevel`. [TotalBy](UI.xml#L1118)|\[PropertyPath\]|Sub-sequence q1, q2, ... of properties p1, p2, ... specified in GroupBy. With this, additional levels of aggregation are requested in addition to the most granular level defined by GroupBy: Every element in the series of sub-sequences (q1), (q1, q2), ... introduces an additional aggregation level included in the result. [Total](UI.xml#L1125)|\[PropertyPath\]|Aggregatable properties for which aggregated values should be provided for the additional aggregation levels specified in TotalBy. -[DynamicTotal](UI.xml#L1131)|\[AnnotationPath\]|Dynamic properties introduced by annotations for which aggregated values should be provided for the additional aggregation levels specified in TotalBy
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being presented according to the `UI.PresentationVariant` annotation, the annotation path MUST be silently ignored.
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicTotal](UI.xml#L1131)|\[AnnotationPath\]|Dynamic properties introduced by annotations for which aggregated values should be provided for the additional aggregation levels specified in TotalBy
If the annotation referenced by an annotation path does not apply to the same collection of entities as the one being presented according to the `UI.PresentationVariant` annotation, the annotation path MUST be silently ignored.
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[IncludeGrandTotal](UI.xml#L1144)|Boolean|Result should include a grand total for the properties specified in Total [InitialExpansionLevel](UI.xml#L1147)|Int32|Level up to which the hierarchy defined for the queried collection should be expanded initially. The hierarchy may be implicitly imposed by the sequence of the GroupBy, or by an explicit hierarchy annotation. -[Visualizations](UI.xml#L1153)|\[AnnotationPath\]|Lists available visualization types. Currently supported types are `UI.LineItem`, `UI.Chart`, and `UI.DataPoint`. For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to `UI.Lineitem` should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.
Allowed terms:
  • [Chart](#Chart)
  • [DataPoint](#DataPoint)
  • [LineItem](#LineItem)
+[Visualizations](UI.xml#L1153)|\[AnnotationPath\]|Lists available visualization types. Currently supported types are `UI.LineItem`, `UI.Chart`, and `UI.DataPoint`. For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to `UI.Lineitem` should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.
Allowed Terms:
  • [Chart](#Chart)
  • [DataPoint](#DataPoint)
  • [LineItem](#LineItem)
[RecursiveHierarchyQualifier](UI.xml#L1170) *([Experimental](Common.md#Experimental))*|[HierarchyQualifier?](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#HierarchyQualifier)|Qualifier of the recursive hierarchy that should be applied to the Visualization [RequestAtLeast](UI.xml#L1174)|\[PropertyPath\]|Properties that should always be included in the result of the queried collection
Properties in `RequestAtLeast` must occur either in the `$select` clause of an OData request or among the grouping properties in an `$apply=groupby((grouping properties),...)` clause of an aggregating OData request. [SelectionFields](UI.xml#L1197) *([Experimental](Common.md#Experimental))*|\[PropertyPath\]|Properties that should be presented for filtering a collection of entities. Can be provided inline or as a reference to a `UI.SelectionFields` annotation via Path. @@ -715,7 +715,7 @@ Exactly one of `PropertyName` and `DynamicPropertyName` must be present Property|Type|Description :-------|:---|:---------- [PropertyName](UI.xml#L1267)|PropertyPath?|Path to the property -[DynamicPropertyName](UI.xml#L1279)|AnnotationPath?|Dynamic property introduced by annotations for which value ranges are specified
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being filtered according to the `UI.SelectionVariant` annotation, this instance of `UI.SelectionVariant/SelectOptions` MUST be silently ignored. For an example, see the `UI.SelectionVariant` annotation in the [example](../examples/DynamicProperties-sample.xml).
Allowed terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
+[DynamicPropertyName](UI.xml#L1279)|AnnotationPath?|Dynamic property introduced by annotations for which value ranges are specified
If the annotation referenced by the annotation path does not apply to the same collection of entities as the one being filtered according to the `UI.SelectionVariant` annotation, this instance of `UI.SelectionVariant/SelectOptions` MUST be silently ignored. For an example, see the `UI.SelectionVariant` annotation in the [example](../examples/DynamicProperties-sample.xml).
Allowed Terms:
  • [AggregatedProperty](Analytics.md#AggregatedProperty)
  • [CustomAggregate](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Aggregation.V1.md#CustomAggregate)
[Ranges](UI.xml#L1293)|\[[SelectionRangeType](#SelectionRangeType)\]|List of value ranges @@ -791,8 +791,8 @@ Member|Value|Description Property|Type|Description :-------|:---|:---------- -[Title](UI.xml#L1513)|String?|Title of the note
The title of a note is hidden with an annotation `@UI.Note/Title/@UI.Hidden`, not with an annotation on the property targeted by `@UI.Note/Title`.
Can be annotated with:
  • [Hidden](#Hidden)
-[Content](UI.xml#L1525)|String|Content of the note, as a string
The property targeted by `@UI.Note/Content` must be annotated with `Core.MediaType` and may be annotated with `Common.SAPObjectNodeTypeReference`. When it is tagged with `Core.IsLanguageDependent`, another property of the same entity type that is tagged with [`Common.IsLanguageIdentifier`](Common.md#IsLanguageIdentifier) determines the language of the note.
Can be annotated with:
  • [MediaType](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#MediaType)
  • [IsLanguageDependent](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsLanguageDependent)
  • [SAPObjectNodeTypeReference](Common.md#SAPObjectNodeTypeReference)
+[Title](UI.xml#L1513)|String?|Title of the note
The title of a note is hidden with an annotation `@UI.Note/Title/@UI.Hidden`, not with an annotation on the property targeted by `@UI.Note/Title`.
Applicable Annotation Terms:
  • [Hidden](#Hidden)
+[Content](UI.xml#L1525)|String|Content of the note, as a string
The property targeted by `@UI.Note/Content` must be annotated with `Core.MediaType` and may be annotated with `Common.SAPObjectNodeTypeReference`. When it is tagged with `Core.IsLanguageDependent`, another property of the same entity type that is tagged with [`Common.IsLanguageIdentifier`](Common.md#IsLanguageIdentifier) determines the language of the note.
Applicable Annotation Terms:
  • [MediaType](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#MediaType)
  • [IsLanguageDependent](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#IsLanguageDependent)
  • [SAPObjectNodeTypeReference](Common.md#SAPObjectNodeTypeReference)
[Type](UI.xml#L1541)|String|A type used for grouping notes [MaximalLength](UI.xml#L1544)|Int32?|Type-specific maximal length of the content of the note [MultipleNotes](UI.xml#L1547)|Boolean|Whether the type allows multiple notes for one object @@ -863,7 +863,7 @@ Property|Type|Description [*Criticality*](UI.xml#L1650)|[CriticalityType?](#CriticalityType)|Criticality of the data field value [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon -[Target](UI.xml#L1677)|AnnotationPath|Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields
Allowed terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Chart](#Chart)
  • [ConnectedFields](#ConnectedFields)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
+[Target](UI.xml#L1677)|AnnotationPath|Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields
Allowed Terms:
  • [Address](Communication.md#Address)
  • [Contact](Communication.md#Contact)
  • [Chart](#Chart)
  • [ConnectedFields](#ConnectedFields)
  • [DataPoint](#DataPoint)
  • [FieldGroup](#FieldGroup)
**Applicable Annotation Terms:** @@ -1004,7 +1004,7 @@ Property|Type|Description [*Criticality*](UI.xml#L1650)|[CriticalityType?](#CriticalityType)|Criticality of the data field value [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon -[Value](UI.xml#L1755)|Untyped|The data field's value +[Value](UI.xml#L1755)|Untyped
Allowed Derived Types:
  • PrimitiveType
  • [Binary]
  • [Boolean]
  • [Byte]
  • [Date]
  • [DateTimeOffset]
  • [Decimal]
  • [Double]
  • [Duration]
  • [Guid]
  • [Int16]
  • [Int32]
  • [Int64]
  • [SByte]
  • [Single]
  • [String]
  • [TimeOfDay]
|The data field's value **Applicable Annotation Terms:** @@ -1105,7 +1105,7 @@ Property|Type|Description [*CriticalityRepresentation*](UI.xml#L1653)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1656)|URL?|Optional icon [Value](UI.xml#L1825)|PrimitiveType|The data field's value -[Url](UI.xml#L1826)|URL|Target of the hyperlink
Can be annotated with:
  • [LinkTarget](HTML5.md#LinkTarget)
+[Url](UI.xml#L1826)|URL|Target of the hyperlink
Applicable Annotation Terms:
  • [LinkTarget](HTML5.md#LinkTarget)
[UrlContentType](UI.xml#L1835)|MediaType?|Media type of the hyperlink target, e.g. `video/mp4` **Applicable Annotation Terms:**