diff --git a/package-lock.json b/package-lock.json index 4b341412..97731fa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1394,7 +1394,7 @@ }, "node_modules/odata-vocabularies": { "version": "0.5.2", - "resolved": "git+ssh://git@github.com/oasis-tcs/odata-vocabularies.git#e1d14a5ff30d08ffaf712eb260318d2831d8be91", + "resolved": "git+ssh://git@github.com/oasis-tcs/odata-vocabularies.git#14647cd43105a7d01af98776efe2cc30ee062689", "dependencies": { "colors": "^1.4.0", "odata-csdl": "^0.9.5", diff --git a/vocabularies/Common.md b/vocabularies/Common.md index b30c547f..01529047 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: +[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: [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: +[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](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

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) 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 674e07b3..64115b2d 100644 --- a/vocabularies/PersonalData.md +++ b/vocabularies/PersonalData.md @@ -31,7 +31,7 @@ Term|Type|Description [DataSubjectRole](PersonalData.xml#L61)|String?|Role of the data subjects in this set (e.g. employee, customer)
Values are application-specific. Can be a static value or a `Path` expression If the role varies per entity [DataSubjectRoleDescription](PersonalData.xml#L68)|String?|Language-dependent description of the role of the data subjects in this set (e.g. employee, customer)
Values are application-specific. Can be a static value or a `Path` expression If the role varies per entity [FieldSemantics](PersonalData.xml#L111)|[FieldSemanticsType](#FieldSemanticsType)|Primary meaning of the personal data contained in the annotated property
Changes to values of annotated properties are tracked in the audit log. Use this annotation also on fields that are already marked as contact or address data. -[IsPotentiallyPersonal](PersonalData.xml#L195)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Property contains potentially personal data
Personal data is information relating to an identified or identifiable natural person (data subject).
Note: properties annotated with [`FieldSemantics`](#FieldSemantics) need not be additionally annotated with this term.
See also: [What is personal data?](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en) +[IsPotentiallyPersonal](PersonalData.xml#L195)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Property contains potentially personal data
Personal data is information relating to an identified or identifiable natural person (data subject).
Note: properties annotated with [`FieldSemantics`](#FieldSemantics) need not be additionally annotated with this term.
See also: [What is personal data?](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en) [IsPotentiallySensitive](PersonalData.xml#L206)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|Property contains potentially sensitive personal data

Sensitive data is a colloquial term usually including the following data:

See also: What personal data is considered sensitive?

@@ -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 consent
The purpose of a consent is the information that specifies the reason and the goal for the processing of a specific set of personal data. As a rule, the purpose references the relevant legal basis for the processing of personal data. -[ContractRelatedID](PersonalData.xml#L150)|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#L150)|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#L164) *([Experimental](Common.md#Experimental))*|The unique identifier of a legal entity
A legal entity is a corporation, an association, or any other organization of legal capacity, which has statutory rights and responsibilities. [UserID](PersonalData.xml#L172) *([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#L180) *([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 fc97606b..02165df5 100644 --- a/vocabularies/UI.md +++ b/vocabularies/UI.md @@ -50,13 +50,13 @@ Term|Type|Description [PartOfPreview](UI.xml#L1363)|[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#L1367)|[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#L1371)|[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#L1376)|[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#L1386) *([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: +[IsImageURL](UI.xml#L1376)|[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#L1386) *([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: [MultiLineText](UI.xml#L1397)|[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#L1402)|String|A short, human-readable text that gives a hint or an example to help the user with data entry [InputMask](UI.xml#L1407) *([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#L1441)|[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#L1464) *([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#L1473)
7/25/24, 1:11 PM
[medium](UI.xml#L1477)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1481)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1485)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
+[DateTimeStyle](UI.xml#L1464) *([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#L1473)
7/25/24, 1:11 PM
[medium](UI.xml#L1477)
Jul 25, 2024, 1:11:51 PM
[long](UI.xml#L1481)
July 25, 2024 at 1:11:51 PM GMT+2
[full](UI.xml#L1485)
Thursday, July 25, 2024 at 1:11:51 PM Central European Summer Time
[Note](UI.xml#L1493) *([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#L1546)|[ImportanceType](#ImportanceType)|Expresses the importance of e.g. a DataField or an annotation [Hidden](UI.xml#L1561)|[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#L1864)|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#L1870)|[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#L1900)|[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#L1932) *([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#L1932) *([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#L1978)|[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#L1982) *([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#L1982) *([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#L1992) *([Experimental](Common.md#Experimental))*|String|The referenced entity set is the preferred starting point for UIs using this service @@ -144,8 +144,8 @@ Property|Type|Description Property|Type|Description :-------|:---|:---------- -[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: +[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: [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: +[Stream](UI.xml#L322) *([Experimental](Common.md#Experimental))*|Stream?|Stream of image
Applicable Annotation Terms: [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) @@ -626,7 +626,7 @@ Property|Type|Description :-------|:---|:---------- [*Label*](UI.xml#L998)|String?|Facet label [*ID*](UI.xml#L1002)|String?|Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged. -[Url](UI.xml#L1043)|URL|URL of referenced information
Can be annotated with: +[Url](UI.xml#L1043)|URL|URL of referenced information
Applicable Annotation Terms: [UrlContentType](UI.xml#L1052)|MediaType?|Media type of referenced information **Applicable Annotation Terms:** @@ -791,8 +791,8 @@ Member|Value|Description Property|Type|Description :-------|:---|:---------- -[Title](UI.xml#L1507)|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#L1519)|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: +[Title](UI.xml#L1507)|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#L1519)|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: [Type](UI.xml#L1535)|String|A type used for grouping notes [MaximalLength](UI.xml#L1538)|Int32?|Type-specific maximal length of the content of the note [MultipleNotes](UI.xml#L1541)|Boolean|Whether the type allows multiple notes for one object @@ -1105,7 +1105,7 @@ Property|Type|Description [*CriticalityRepresentation*](UI.xml#L1647)|[CriticalityRepresentationType?](#CriticalityRepresentationType)|Decides if criticality is visualized in addition by means of an icon [*IconUrl*](UI.xml#L1650)|URL?|Optional icon [Value](UI.xml#L1819)|PrimitiveType|The data field's value -[Url](UI.xml#L1820)|URL|Target of the hyperlink
Can be annotated with: +[Url](UI.xml#L1820)|URL|Target of the hyperlink
Applicable Annotation Terms: [UrlContentType](UI.xml#L1829)|MediaType?|Media type of the hyperlink target, e.g. `video/mp4` **Applicable Annotation Terms:**