From 1c4d95fa628ec5cd9632be4dc79a5ef68a457f49 Mon Sep 17 00:00:00 2001
From: Paul Liew <37346562+paulliew@users.noreply.github.com>
Date: Fri, 11 Aug 2023 10:10:12 -0700
Subject: [PATCH 1/5] Update cc-postoperation-description.md
---
powerapps-docs/includes/cc-postoperation-description.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/powerapps-docs/includes/cc-postoperation-description.md b/powerapps-docs/includes/cc-postoperation-description.md
index 486cc07c14..d002c52f2a 100644
--- a/powerapps-docs/includes/cc-postoperation-description.md
+++ b/powerapps-docs/includes/cc-postoperation-description.md
@@ -1 +1 @@
-Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
More information [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).
+Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
Must use asynchronous mode if your plug-in is designed to perform an update API and registered on Create API of systemuser entity.
More information [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).
From 366a819e02479d0d45452e00663b0e6849a74ac0 Mon Sep 17 00:00:00 2001
From: Jim Daly
Date: Mon, 14 Aug 2023 11:32:24 -0700
Subject: [PATCH 2/5] add note about encoding characters
---
.../webapi/query-data-web-api.md | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/powerapps-docs/developer/data-platform/webapi/query-data-web-api.md b/powerapps-docs/developer/data-platform/webapi/query-data-web-api.md
index 479c1650d8..692b881a54 100644
--- a/powerapps-docs/developer/data-platform/webapi/query-data-web-api.md
+++ b/powerapps-docs/developer/data-platform/webapi/query-data-web-api.md
@@ -896,10 +896,31 @@ GET [Organization URI]/api/data/v9.2/accounts?$select=name,numberofemployees
Keep the following points in mind when you filter on string values:
- All filters using string values are case insensitive.
+- You must URL encode special characters in filter criteria. More information: [URL encode special characters](#url-encode-special-characters)
- You may use wildcard characters, but avoid trailing wildcards. More information: [Use wildcard characters](#use-wildcard-characters)
- You can use OData query functions: `contains`, `startswith`, and `endswith`. More information: [Use OData query functions](#use-odata-query-functions)
- You must manage single quotes when you use filters that accept an array of string values. More information: [Manage single quotes](#manage-single-quotes)
+#### URL encode special characters
+
+If the string you are using as a value in a filter function includes a special character, you need to URL encode it. For example, if you use this function: `contains(name,'+123')`, it will not work because `+` is a character that can't be included in a URL. If you URL encode the string, it will become `contains(name,'%2B123')` and you will get results where the column value contains `+123`.
+
+The following table shows the URL encoded values for common special characters.
+
+|Special
character|URL encoded
character|
+|---|---|
+|`$`|`%24`|
+|`&`|`%26`|
+|`+`|`%2B`|
+|`,`|`%2C`|
+|`/`|`%2F`|
+|`:`|`%3A`|
+|`;`|`%3B`|
+|`=`|`%3D`|
+|`?`|`%3F`|
+|`@`|`%40`|
+
+
#### Use wildcard characters
When composing filters using strings, you can apply the following wildcard characters:
From 759ab6ecc23c1ebbda715cc433cfa77e41dadd10 Mon Sep 17 00:00:00 2001
From: Peter Hecke
Date: Mon, 14 Aug 2023 16:49:45 -0700
Subject: [PATCH 3/5] Updated the suggested text
Per recent review by Paul L.
---
powerapps-docs/includes/cc-postoperation-description.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/powerapps-docs/includes/cc-postoperation-description.md b/powerapps-docs/includes/cc-postoperation-description.md
index d002c52f2a..ba2e21e97f 100644
--- a/powerapps-docs/includes/cc-postoperation-description.md
+++ b/powerapps-docs/includes/cc-postoperation-description.md
@@ -1 +1 @@
-Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
Must use asynchronous mode if your plug-in is designed to perform an update API and registered on Create API of systemuser entity.
More information [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).
+Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
You must use asynchronous mode when registering your plug-in if the plug-in is designed to perform an update operation and is registered on the Create message of the [User (SystemUser)](/power-apps/developer/data-platform/reference/entities/systemuser.md) entity.
More information: [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).
From 1a5a395d43901d12e43c274c5388090a2454a90c Mon Sep 17 00:00:00 2001
From: Peter Hecke
Date: Mon, 14 Aug 2023 16:55:46 -0700
Subject: [PATCH 4/5] Link URL change
---
powerapps-docs/includes/cc-postoperation-description.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/powerapps-docs/includes/cc-postoperation-description.md b/powerapps-docs/includes/cc-postoperation-description.md
index ba2e21e97f..6b29e6a6bf 100644
--- a/powerapps-docs/includes/cc-postoperation-description.md
+++ b/powerapps-docs/includes/cc-postoperation-description.md
@@ -1 +1 @@
-Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
You must use asynchronous mode when registering your plug-in if the plug-in is designed to perform an update operation and is registered on the Create message of the [User (SystemUser)](/power-apps/developer/data-platform/reference/entities/systemuser.md) entity.
More information: [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).
+Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
You must use asynchronous mode when registering your plug-in if the plug-in is designed to perform an update operation and is registered on the Create message of the [User (SystemUser)](/power-apps/developer/data-platform/reference/entities/systemuser) entity.
More information: [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).
From 776de8d812fa767942e02d65c82546e27807148a Mon Sep 17 00:00:00 2001
From: Peter Hecke
Date: Mon, 14 Aug 2023 17:01:49 -0700
Subject: [PATCH 5/5] Added extra line break
---
powerapps-docs/includes/cc-postoperation-description.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/powerapps-docs/includes/cc-postoperation-description.md b/powerapps-docs/includes/cc-postoperation-description.md
index 6b29e6a6bf..04ae9fd727 100644
--- a/powerapps-docs/includes/cc-postoperation-description.md
+++ b/powerapps-docs/includes/cc-postoperation-description.md
@@ -1 +1 @@
-Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
You must use asynchronous mode when registering your plug-in if the plug-in is designed to perform an update operation and is registered on the Create message of the [User (SystemUser)](/power-apps/developer/data-platform/reference/entities/systemuser) entity.
More information: [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).
+Occurs after the main system operation and within the database transaction.
Use this stage to modify any properties of the message before it is returned to the caller.
Avoid applying changes to an entity included in the message because this will trigger a new Update event.
Within the PostOperation stage you can register steps to use the asynchronous execution mode. These steps will run outside of the database transaction using the asynchronous service.
You must use asynchronous mode when registering your plug-in if the plug-in is designed to perform an update operation and is registered on the Create message of the [User (SystemUser)](/power-apps/developer/data-platform/reference/entities/systemuser) entity. More information: [Asynchronous service](/powerapps/developer/data-platform/asynchronous-service).