Skip to content

Commit 90d10da

Browse files
authored
Merge pull request #8360 from MicrosoftDocs/main
update working
2 parents 76f7ded + b8331c3 commit 90d10da

25 files changed

+164
-104
lines changed

powerapps-docs/developer/data-platform/bulk-operations-elastic-tables.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ contributors:
1414

1515
[!INCLUDE [cc-beta-prerelease-disclaimer](../../includes/cc-beta-prerelease-disclaimer.md)]
1616

17-
Often applications need to ingest large amount of data into Dataverse in a short amount of time. Dataverse has a group of messages that are designed to achieve high throughput. With elastic tables, the throughput can be much higher.
17+
Often applications need to ingest large amount of data into Dataverse in a short amount of time. Dataverse has a group of messages that are designed to achieve high throughput. With elastic tables, the throughput can be higher.
1818

19-
Bulk operations are optimized for performance when executing multiple write operations on the same table by taking a batch of rows as input in a single write operation. For elastic tables, we recommend sending 100 items in a batch. Multiple bulk operation can be run in parallel to achieve high throughput. More information [Send parallel requests](send-parallel-requests.md)
19+
Bulk operations are optimized for performance when executing multiple write operations on the same table by taking a batch of rows as input in a single write operation. For elastic tables, we recommend sending 100 items in a batch. Multiple bulk operations can be run in parallel to achieve high throughput. More information [Send parallel requests](send-parallel-requests.md)
2020

2121
Elastic tables currently support the following messages for bulk operations:
2222

@@ -183,6 +183,32 @@ public static OrganizationResponse DeleteMultiple(IOrganizationService service)
183183
}
184184
```
185185

186+
## Exception handling for elastic tables
187+
188+
Unlike standard tables, an error within a bulk operation with an elastic table doesn't roll back the entire request. It's possible for the operation to partially succeed and you can detect which records have failed from the ErrorDetails.
189+
190+
191+
When you use the SDK, a [FaultException](xref:System.ServiceModel.FaultException%601) of type [OrganizationServiceFault](xref:Microsoft.Xrm.Sdk.OrganizationServiceFault) is thrown if a failure occurs. You can get the status of each record using the following code.
192+
193+
```csharp
194+
if (ex.Detail.ErrorDetails.TryGetValue("Plugin.BulkApiErrorDetails", out object errorDetails))
195+
{
196+
List<BulkApiErrorDetail> bulkApiErrorDetails = JsonConvert.DeserializeObject<List<BulkApiErrorDetail>>(errorDetails.ToString());
197+
}
198+
199+
public class BulkApiErrorDetail
200+
{
201+
public int RequestIndex { get; set; }
202+
public string Id { get; set; }
203+
public int StatusCode { get; set; }
204+
}
205+
```
206+
207+
When using Web API, you need to pass the `Prefer` header with value `odata.include-annotations=*` or `odata.include-annotations=Microsoft.PowerApps.CDS.ErrorDetails.*`, which gives the status of each record. More information: [Include more details with errors](webapi/compose-http-requests-handle-errors.md#include-more-details-with-errors)
208+
209+
> [!NOTE]
210+
> You can see the errors in the above format only when the errors have occurred while writing data and cannot capture errors occurred in Pre and Post plugins. More information: [Handling Exceptions](write-plugin-multiple-operation.md#handling-exceptions).
211+
186212
### See also
187213

188214
[Use elastic tables](elastic-tables.md)<br />

powerapps-docs/developer/data-platform/files-images-overview.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Dataverse provides several different ways to save binary data representing files
3535

3636
## Block certain types of files
3737

38-
You can block the types of files that can be uploaded by the extension or mime type.
38+
You can block the types of files that can be uploaded by the extension or MIME type.
3939

4040
### Block files by extension
4141

@@ -111,9 +111,9 @@ When anyone tries to upload a file using one of the blocked types, the following
111111
> Number: `-2147205623`<br />
112112
> Message: `The attachment is either not a valid type or is too large. It cannot be uploaded or downloaded.`
113113
114-
### Block or allow certain mime types
114+
### Block or allow certain MIME types
115115

116-
You can block or allow upload of files based on mime types. More Information: [Mime Type Validation](/power-platform/admin/settings-privacy-security#mime-type-validation).
116+
You can block or allow upload of files based on MIME types. More Information: [Mime Type Validation](/power-platform/admin/settings-privacy-security#mime-type-validation).
117117

118118
You can also query and modify this data programmatically. It's stored in the [Organization.BlockedMimeTypes](reference/entities/organization.md#BKMK_BlockedMimeTypes) and [Organization.AllowedMimeTypes](reference/entities/organization.md#BKMK_AllowedMimeTypes) columns. There's only one row in the organization table. You can use the SDK or Web API to query this data:
119119

@@ -165,15 +165,15 @@ OData-Version: 4.0
165165
}
166166
```
167167

168-
If `allowedmimetypes` is set, `blockedmimetypes` is ignored. Only the mime types specified in `allowedmimetypes` are allowed.
168+
If `allowedmimetypes` is set, `blockedmimetypes` is ignored. Only the MIME types specified in `allowedmimetypes` are allowed.
169169

170-
If `blockedmimetypes` isn't empty and `allowedmimetypes` is empty, the following error occurs when someone tries to upload a mime type that is in blocked mime types:
170+
If `blockedmimetypes` isn't empty and `allowedmimetypes` is empty, the following error occurs when someone tries to upload a MIME type that is in blocked MIME types:
171171

172172
> Name: `MimeTypeBlocked`<br />
173173
> Code: `0x80072522`<br />
174174
> Message: `Operation not allowed as mime type image/svg+xml is blocked.`
175175
176-
If `allowedmimetypes` isn't empty, the following error occurs when someone tries to upload a mime type that isn't in `allowedmimetypes`:
176+
If `allowedmimetypes` isn't empty, the following error occurs when someone tries to upload a MIME type that isn't in `allowedmimetypes`:
177177

178178
> Name: `MimeTypeNotInAllowedList`<br />
179179
> Code: `0x80072521`<br />

powerapps-docs/developer/data-platform/org-service/samples/azure-aware-custom-plugin.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Azure aware custom plug-in (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "This sample plug-in can post the pipeline execution context to the Azure Service Bus." # 115-145 characters including spaces. This abstract displays in the search result.
4-
ms.date: 04/03/2022
4+
ms.date: 06/19/2023
55
author: jaredha
66
ms.author: jaredha
77
ms.reviewer: jdaly
@@ -20,10 +20,18 @@ The plug-in demonstrates how to obtain the execution context and the tracing ser
2020
## How to run this sample
2121

2222
1. Download or clone the [Samples](https://github.com/Microsoft/PowerApps-Samples) repo so that you have a local copy.
23-
2. Open the sample solution in Visual Studio and sign the assembly with a key.
24-
3. Register the plug-in using the **Plugin Registration Tool**.
23+
1. Open the `Azureplugin.sln` solution file located at `PowerApps-Samples\dataverse\orgsvc\C#\Azureplugin` with Visual Studio.
24+
1. Sign the assembly with a key.
25+
1. Register the plug-in using the **Plugin Registration Tool**.
2526

2627
> [!NOTE]
2728
> This sample requires a service endpoint to be created first, and its ID passed to the plug-in constructor through the unsecure configuration parameter when the plug-in step is registered.
2829
30+
More information:
31+
32+
[Write a custom Azure-aware plug-in](../../write-custom-azure-aware-plugin.md)
33+
[Register a plug-in](../../register-plug-in.md)
34+
35+
36+
2937
[!INCLUDE[footer-include](../../../../includes/footer-banner.md)]

powerapps-docs/developer/data-platform/write-custom-azure-aware-plugin.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Write a custom Azure-aware plug-in (Microsoft Dataverse) | Microsoft Docs"
33
description: "Learn how to write plug-in code that can post a message or the execution context of the current database transaction to the Azure Service Bus."
4-
ms.date: 04/03/2022
4+
ms.date: 06/19/2023
55
author: divkamath
66
ms.author: dikamath
77
ms.reviewer: pehecke
@@ -132,10 +132,11 @@ For a plug-in registered to execute asynchronously, the <xref:Microsoft.Xrm.Sdk.
132132

133133
### See also
134134

135-
[Azure extensions for Dynamics 365](azure-integration.md)<br />
136-
[Send Dynamics 365 data over the Microsoft Azure Service Bus](work-data-azure-solution.md)<br />
137-
[Write a plug-In](write-plug-in.md)<br />
138-
[Event execution pipeline](event-framework.md)<br />
135+
[Azure extensions for Dynamics 365](azure-integration.md)
136+
[Send Dynamics 365 data over the Microsoft Azure Service Bus](work-data-azure-solution.md)
137+
[Sample: Azure aware custom plug-in](org-service/samples/azure-aware-custom-plugin.md)
138+
[Write a plug-In](write-plug-in.md)
139+
[Event execution pipeline](event-framework.md)
139140
[Register and deploy plug-Ins](register-plug-in.md)
140141

141142
[!INCLUDE[footer-include](../../includes/footer-banner.md)]

powerapps-docs/limits-and-config.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ This list identifies all services to which Power Apps communicates and their usa
101101
| 127.0.0.1 | http | Power Apps Mobile|
102102
| ecs.office.com | https | Retrieve feature flags for Power Apps |
103103
| config.edge.skype.com | https | Retrieve feature flags for Power Apps (backup)|
104-
| \*.api.powerplatform.com | https | Required for Power Platform API connectivity used internally by Microsoft products, and Power Platform [programmability and extensibility](/power-platform/admin/programmability-extensibility-overview).|
104+
| api.powerplatform.com<br>\*.api.powerplatform.com | https | Required for Power Platform API connectivity used internally by Microsoft products, and Power Platform [programmability and extensibility](/power-platform/admin/programmability-extensibility-overview).|
105105
| *.sharepointonline.com| https | Retrieve assets for presenting the header that appears at the top of app playing experiences |
106106

107107

powerapps-docs/maker/TOC.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@
104104
- name: Use timeline
105105
href: ../user/add-activities.md
106106
- name: Create and join a Teams meeting from an appointment
107-
href: ../user/join-teams-meeting-from-appointments.md
107+
href: ../user/join-teams-meeting-from-appointments.md
108+
- name: Known issues about activities
109+
href: ../user/known-issues-activities.md
108110
- name: Work with email
109111
items:
110112
- name: Understand the email experience
@@ -2423,6 +2425,8 @@
24232425
href: ../cards/make-a-card/ui-elements/use-buttons.md
24242426
- name: Add and configure screens
24252427
href: ../cards/make-a-card/screens/use-screens.md
2428+
- name: Work with repeating controls in cards
2429+
href: ../cards/make-a-card/ui-elements/data-binding.md
24262430
- name: Control reference
24272431
items:
24282432
- name: List of controls and properties

powerapps-docs/maker/canvas-apps/connections-list.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -110,29 +110,33 @@ This type of connection isn't secure because it doesn't rely on end-user authent
110110

111111
In SQL Server, this type of connection is called **SQL Server Authentication**. Many other database data sources provide a similar capability. When you publish your application, your users don't need to supply a unique user name and password. They're using the user name and password you supply when you author the application. The connection authentication to the data source is **Implicitly Shared** with your users. Once the application is published, the connection is also published and available to your users. Your end users can also create applications using any connection using SQL Server authentication that is shared with them. Your users can't see the user name or password, but the connection will be available to them. **There are valid scenarios for this type of connection. For instance if you have a read-only database that is available to everyone in the company. Reference data scenarios (for example, a corporate calendar) can be useful for this kind of connection.** More information: [Use Microsoft SQL Server securely with Power Apps](connections/sql-server-security.md)
112112

113-
### Secure Implicit Connections (experimental)
114-
Power Apps now has support for **[Secure implicit connections (experimental)](working-with-experimental-preview.md)**. The secure implicit shared connections are more secure than the existing implicit connections. Power Apps implicitly shared connections are ones that use a fixed credential such as a SQL Server connection string rather than the end user's specific credentials such as AAD. With this feature, connections are no longer directly shared with the users of Power Apps. Instead, a proxy connection object that only grants access to the underlying resource such as a specific SQL server table is shared. End user authors can't create new applications with either the connection or the proxy connection. This feature also limits the end user to such actions as **get**, **put/patch**, and **delete** that are defined in the corresponding app. The result is that end users who are also authors can't create new applications with either the connection or the proxy connection object.
113+
### Secure Implicit Connections (preview)
115114

116-
While in preview, an app author must opt-in to use this feature. Eventually, this feature will be on for all apps. With the experimental preview switch turned on for a given Power Apps app, all implicit connections in the app will automatically use this feature.
115+
[This section is prerelease documentation and is subject to change.]
117116

118-
#### Enable secure implicit connections for new app
117+
Power Apps now has full preview support for **[Secure implicit connections](working-with-experimental-preview.md)**. The default setting for this feature is **On**. The secure implicit shared connections are more secure than the existing implicit connections. Power Apps implicitly shared connections are ones that use a fixed credential such as a SQL Server connection string rather than the end user's specific credentials such as AAD. With this feature, connections are no longer directly shared with the users of Power Apps. Instead, a proxy connection object that only grants access to the underlying resource such as a specific SQL server table is shared. End user authors can't create new applications with either the connection or the proxy connection. This feature also limits the end user to such actions as **get**, **put/patch**, and **delete** that are defined in the corresponding app. The result is that end users who are also authors can't create new applications with either the connection or the proxy connection object.
119118

120-
Sign in to [Power Apps](https://make.powerapps.com) and create a new app that uses an implicitly shared connection:
119+
> [!NOTE]
120+
> **Secure implicit connections** is now **On** by default for new apps.
121+
122+
#### Notification to update your apps
123+
If you have applications that may be upgraded to use this feature then you will see a message on the Apps page. It will indicate the number of apps that need your attention.
124+
125+
> [!div class="mx-imgBorder"]
126+
> ![Notification to update your apps.](./media/connections-list/attention-alert.png)
127+
128+
Select the link and it will open a side panel that will list all of the apps that need attention.
121129

122-
1. In Power Apps Studio, on the command bar, select **Settings** > **Upcoming features**.
123-
2. Select the **Experimental** tab.
124-
3. Set the toggle for **Secure implicit connections** to **On**
125130
> [!div class="mx-imgBorder"]
126-
> ![Secure implicit connections.](./media/connections-list/secure_implicit_connection_option.png)
127-
3. When you're done, publish the app.
131+
> ![Side panel.](./media/connections-list/app-needs-attention.png)
128132
129-
To share with different users, see [Sharing](connections-list.md#sharing).
133+
Select the *open* icon to the right of the app name to open and republish it. See the directions below.
130134

131135
#### Enable secure implicit connections for an existing app
132136

133137
Open an existing [app open for editing](../../edit-app.md) with implicitly shared connections that has previously been published:
134138
1. On the command bar, select **Settings** > **Upcoming features**.
135-
2. From the **Experimental** tab, set the toggle for **Secure implicit connections** to **On**.
139+
2. From the **Preview** tab, set the toggle for **Secure implicit connections** to **On**.
136140
3. Save and publish the app.
137141

138142
#### Sharing
@@ -142,7 +146,7 @@ Once the app is published follow these steps to verify that sharing works correc
142146
- Check if connections are shared with co-owners. If you don't want an end-user to get a connection, then uncheck the **Co-owner** checkbox.
143147

144148
> [!div class="mx-imgBorder"]
145-
> ![Co-owner property.](./media/connections-list/co-owner-property.png)
149+
> ![Uncheck co-owner.](./media/connections-list/co-owner-property.png)
146150
147151
- To verify the feature works correctly, share the app with a different user who isn't an owner. Once you have shared the app, check the **Connections** list in the **Dataverse** tab in [Power Apps](https://make.powerapps.com) for that user. Verify that the user doesn't have a connection available.
148152

@@ -157,7 +161,7 @@ When your app is republished and shared, then end-users won't have access to the
157161

158162
#### Limitations
159163

160-
1. All types of implicitly shared connection work such as action and tabular.
164+
1. All types of implicitly shared connections work such as action and tabular.
161165
2. Server and database names are hidden in network traces but visible in the consent dialog. Column names are not hidden.
162166
3. For tabular connectors, we only limit CRUD actions such as Get, Post, Put, or Delete. If you have permissions to **Put** then you have access to **Post**.
163167
4. Action based connectors limit based on the specific API being used in the application.

powerapps-docs/maker/canvas-apps/create-component.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ Components available inside the app are listed under the **Custom** category in
5252

5353
A component can receive input values and emit data if you create one or more custom properties. These scenarios are advanced and require you to understand [formulas](formula-reference.md) and binding contracts.
5454

55+
> [!NOTE]
56+
> An experimental feature for enhanced component properties provides even more options for properties, including functions and behavior functions. For more information, see [Canvas component properties (experimental)](./component-properties.md)
57+
5558
**Input property** is how a component receives data to be used in the component. Input properties appear in the **Properties** tab of the right-hand pane if an instance of the component is selected. You can configure input properties with expressions or formulas, just as you configure standard properties in other controls. Other controls have input properties, such as the **Default** property of a **Text input** control.
5659

5760
**Output property** is used to emit data or component state. For example, the **Selected** property on a **Gallery** control is an output property. When you create an output property, you can determine what other controls can refer to the component state.

powerapps-docs/maker/canvas-apps/intro-maker-portal.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Get started with Power Apps| MicrosoftDocs"
33
description: How to navigate the Power Apps home page.
44
ms.custom: ""
5-
ms.date: 11/28/2022
5+
ms.date: 06/15/2023
66
ms.reviewer: "mkaur"
77
ms.topic: overview
88
author: "mkaur"
@@ -134,6 +134,8 @@ For best results, start by ensuring that the home page is set to the right envir
134134
> [!div class="mx-imgBorder"]
135135
> ![Environment switcher.](media/intro-maker-portal/environment-switcher.png)
136136
137+
Environments can be managed using [Power Platform admin center](/power-platform/admin/environments-overview#manage-environments-in-the-power-platform-admin-center).
138+
137139
### Notifications
138140

139141
Select the bell icon to see notifications. Notifications are stored in the notification center until you dismiss them or when they expire.
21.6 KB
Loading

0 commit comments

Comments
 (0)