From f3653b14d34e08a68e98fd2303048f19497268c4 Mon Sep 17 00:00:00 2001 From: Joost Verhoog Date: Thu, 29 Oct 2026 13:47:02 +0100 Subject: [PATCH 1/2] Add the GUID option to Exposed As in Published OData Attribute and an Edm.Guid row to OData Representation (refguide and refguide10), covering Studio Pro 10.12 --- .../odata-representation.md | 7 ++++--- .../published-odata-attribute.md | 14 +++++++++++++- .../odata-representation.md | 6 ++++-- .../published-odata-attribute.md | 14 +++++++++++++- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md index 6df015a1719..0186a036cc3 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md @@ -17,17 +17,18 @@ This document describes how entities are represented in a published OData servic | Binary (not supported) ² | | | | | Boolean | Edm.Boolean | true | true | | Date and time | Edm.DateTimeOffset | Fri, 19 Dec 2014 10:27:27 GMT | 2014-12-19T10:27:27.000Z | -| Enumeration | Enumeration⁴ (OData v4) or Edm.String (OData v3) | Color.Blue | Blue | +| Enumeration | Enumeration (OData v4) or Edm.String (OData v3) | Color.Blue | Blue | | Big decimal | Edm.Decimal | 0.3333333333333333333333333333333333 | 0.3333333333333333333333333333333333 | | Hashed string | Edm.String | HashPassword | HashPassword | | Integer | Edm.Int64 | 50 | 50 | | Long ¹ | Edm.Int64 | 3940649673954387 | 3940649673954387 | | String ³ | Edm.String | John | John | +| String exposed as GUID ⁴ | Edm.Guid | 1B4E28BA-2FA1-11D2-883F-0016D3CCA427 | 1b4e28ba-2fa1-11d2-883f-0016d3cca427 | ¹ When using Excel to import an OData source, long numbers may seem cut off. This is due to a restriction in the data type Microsoft uses. For more information, see [Last digits are changed to zeroes when you type long numbers in cells of Excel](https://support.microsoft.com/en-us/kb/269370).
² Even though the binary data type is not supported, the FileDocument and Image system entities are supported and represented as Base64-encoded strings with the `Edm.Binary` type.
-³ When the string attribute has a limited length, the `MaxLength` attribute is specified.
-⁴ In Studio Pro 9.23 and below, all enumeration attributes were published as strings. +³ When the string attribute has a limited length, the `MaxLength` attribute is specified.
+⁴ For more information, see [Exposed As](/refguide/published-odata-attribute/#exposed-as-guid). Additionally, the `updated` field for an entry in OData comes from the system changedDate attribute of an entity. If this attribute is not available (because it is not published, the user does not have access rights, or it is empty in database), the default date (1-1-1970) will be used. diff --git a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md index e95b6b5361d..2737cdd2d0f 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md @@ -37,7 +37,19 @@ The type of the attribute. ### Exposed As {#exposed-as} -This field is shown when the type is an enumeration that was previously exposed as a string, and only for OData v4. Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. +This field is shown in the following cases: + +* The type is an enumeration that was previously exposed as a string, and only for OData v4. Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. +* The type is a string, and only for OData v4. Change the value to **GUID** to publish the string attribute as a GUID. For more information, see [Exposing a String Attribute as a GUID](#exposed-as-guid). + +#### Exposing a String Attribute as a GUID {#exposed-as-guid} + +When you expose a string attribute as a GUID, the following applies: + +* The attribute must be a string with unlimited length or a maximum length of at least 36 characters, and store GUIDs in a format such as `1b4e28ba-2fa1-11d2-883f-0016d3cca427`. +* If the value stored at runtime cannot be parsed as a GUID, the runtime throws an error. +* Clients can specify GUIDs in uppercase or lowercase letters. The runtime always returns GUIDs in lowercase letters. +* If a `POST` or `PUT` request attempts to set a value that is not a GUID, the runtime returns a `422` status code. ### Capabilities diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md index d0b6a646a4d..7850dc744c9 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md @@ -23,11 +23,13 @@ This document describes how entities are represented in a published OData servic | Integer | Edm.Int64 | 50 | 50 | | Long ¹ | Edm.Int64 | 3940649673954387 | 3940649673954387 | | String ³ | Edm.String | John | John | +| String exposed as GUID ⁵ | Edm.Guid | 1B4E28BA-2FA1-11D2-883F-0016D3CCA427 | 1b4e28ba-2fa1-11d2-883f-0016d3cca427 | ¹ When using Excel to import an OData source, long numbers may seem cut off. This is due to a restriction in the data type Microsoft uses. For more information, see [Last digits are changed to zeroes when you type long numbers in cells of Excel](https://support.microsoft.com/en-us/kb/269370).
² Even though the binary data type is not supported, the FileDocument and Image system entities are supported and represented as Base64-encoded strings with the `Edm.Binary` type.
-³ When the string attribute has a limited length, the `MaxLength` attribute is specified.
-⁴ In Studio Pro 9.23 and below, all enumeration attributes were published as strings. +³ When the string attribute has a limited length, the `MaxLength` attribute is specified.
+⁴ In Studio Pro 9.23 and below, all enumeration attributes were published as strings.
+⁵ Available in Studio Pro 10.12 and above. For more information, see [Exposed As](/refguide10/published-odata-attribute/#exposed-as-guid). Additionally, the `updated` field for an entry in OData comes from the system changedDate attribute of an entity. If this attribute is not available (because it is not published, the user does not have access rights, or it is empty in database), the default date (1-1-1970) will be used. diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md index e84117d83df..40b3037fee9 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md @@ -37,7 +37,19 @@ The type of the attribute. ### Exposed As {#exposed-as} -This field is shown when the type is an enumeration that was previously exposed as a string, and only for OData v4. Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. +This field is shown in the following cases: + +* The type is an enumeration that was previously exposed as a string, and only for OData v4. Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. +* The type is a string, and only for OData v4. Change the value to **GUID** to publish the string attribute as a GUID. For more information, see [Exposing a String Attribute as a GUID](#exposed-as-guid). + +#### Exposing a String Attribute as a GUID {#exposed-as-guid} + +You can expose a string attribute as a GUID in Studio Pro 10.12 and above. The following applies: + +* The attribute must be a string with unlimited length or a maximum length of at least 36 characters, and store GUIDs in a format such as `1b4e28ba-2fa1-11d2-883f-0016d3cca427`. +* If the value stored at runtime cannot be parsed as a GUID, the runtime throws an error. +* Clients can specify GUIDs in uppercase or lowercase letters. The runtime always returns GUIDs in lowercase letters. +* If a `POST` or `PUT` request attempts to set a value that is not a GUID, the runtime returns a `422` status code. ### Capabilities From be936c02f7e3a3773a8bbe097edfc461c02641c1 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 29 Oct 2026 15:07:55 +0100 Subject: [PATCH 2/2] Review --- .../published-odata-services/odata-representation.md | 2 +- .../published-odata-services/published-odata-attribute.md | 4 ++-- .../published-odata-services/odata-representation.md | 2 +- .../published-odata-services/published-odata-attribute.md | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md index 0186a036cc3..9ffa862bfb9 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/odata-representation.md @@ -28,7 +28,7 @@ This document describes how entities are represented in a published OData servic ¹ When using Excel to import an OData source, long numbers may seem cut off. This is due to a restriction in the data type Microsoft uses. For more information, see [Last digits are changed to zeroes when you type long numbers in cells of Excel](https://support.microsoft.com/en-us/kb/269370).
² Even though the binary data type is not supported, the FileDocument and Image system entities are supported and represented as Base64-encoded strings with the `Edm.Binary` type.
³ When the string attribute has a limited length, the `MaxLength` attribute is specified.
-⁴ For more information, see [Exposed As](/refguide/published-odata-attribute/#exposed-as-guid).
+⁴ For more information, see the [Exposed As](/refguide/published-odata-attribute/#exposed-as-guid) section of *Published OData Attribute*. Additionally, the `updated` field for an entry in OData comes from the system changedDate attribute of an entity. If this attribute is not available (because it is not published, the user does not have access rights, or it is empty in database), the default date (1-1-1970) will be used. diff --git a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md index 2737cdd2d0f..163842e1c90 100644 --- a/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md +++ b/content/en/docs/refguide/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md @@ -39,8 +39,8 @@ The type of the attribute. This field is shown in the following cases: -* The type is an enumeration that was previously exposed as a string, and only for OData v4. Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. -* The type is a string, and only for OData v4. Change the value to **GUID** to publish the string attribute as a GUID. For more information, see [Exposing a String Attribute as a GUID](#exposed-as-guid). +* The type is an enumeration that was previously exposed as a string (only for OData v4). Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. +* The type is a string (only for OData v4). Change the value to **GUID** to publish the string attribute as a GUID. For more information, see the [Exposing a String Attribute as a GUID](#exposed-as-guid) section below. #### Exposing a String Attribute as a GUID {#exposed-as-guid} diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md index 7850dc744c9..70a59d66933 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/odata-representation.md @@ -29,7 +29,7 @@ This document describes how entities are represented in a published OData servic ² Even though the binary data type is not supported, the FileDocument and Image system entities are supported and represented as Base64-encoded strings with the `Edm.Binary` type.
³ When the string attribute has a limited length, the `MaxLength` attribute is specified.
⁴ In Studio Pro 9.23 and below, all enumeration attributes were published as strings.
-⁵ Available in Studio Pro 10.12 and above. For more information, see [Exposed As](/refguide10/published-odata-attribute/#exposed-as-guid). +⁵ Available in Studio Pro 10.12 and above. For more information, see the [Exposed As](/refguide10/published-odata-attribute/#exposed-as-guid) section of *Published OData Attribute*. Additionally, the `updated` field for an entry in OData comes from the system changedDate attribute of an entity. If this attribute is not available (because it is not published, the user does not have access rights, or it is empty in database), the default date (1-1-1970) will be used. diff --git a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md index 40b3037fee9..ec2c7573c67 100644 --- a/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md +++ b/content/en/docs/refguide10/modeling/integration/odata-services/published-odata-services/published-odata-attribute.md @@ -39,8 +39,8 @@ The type of the attribute. This field is shown in the following cases: -* The type is an enumeration that was previously exposed as a string, and only for OData v4. Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. -* The type is a string, and only for OData v4. Change the value to **GUID** to publish the string attribute as a GUID. For more information, see [Exposing a String Attribute as a GUID](#exposed-as-guid). +* The type is an enumeration that was previously exposed as a string (only for OData v4). Change the value to **Enumeration** to publish the enumeration. This informs clients of the possible values of this attribute. +* The type is a string (only for OData v4). Change the value to **GUID** to publish the string attribute as a GUID. For more information, see the [Exposing a String Attribute as a GUID](#exposed-as-guid) section below. #### Exposing a String Attribute as a GUID {#exposed-as-guid}