You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: powerapps-docs/developer/data-platform/register-plug-in.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -206,7 +206,7 @@ Similarly, you should note that removing the assembly from the solution won't re
206
206
207
207
### Set user impersonation for a step
208
208
209
-
With the Plug-in Registration tool running and logged into the target Dataverse environment, you can proceed to set or change a step registration. In this section, we will discuss changing the user on whos behalf the plug-in will perform its operations. Meaning, the effective user that is performing the data operations initiated by the plug-in. By default, the calling user (the user that invoked an operation in Dataverse) is the owner of said operations. However a different user can be specified in the step registration. You will need to have the System Administrator or System Customizer security role to perform this operation.
209
+
With the [Plug-in Registration tool](#about-the-plug-in-registration-tool) running and logged into the target Dataverse environment, you can proceed to set or change a step registration. In this section, we will discuss changing the user on whos behalf the plug-in will perform its operations. Meaning, the effective user that is performing the data operations initiated by the plug-in. By default, the calling user (the user that invoked an operation in Dataverse) is the owner of said operations. However a different user can be specified in the step registration. You will need to have the System Administrator or System Customizer security role to perform this operation.
210
210
211
211
To set the user in a plug-in step:
212
212
@@ -244,7 +244,7 @@ You can unregister or disable plug-ins and their components using the Plug-in Re
244
244
245
245
### Disable or enable a plug-in step
246
246
247
-
With the Plug-in Registration tool running and logged into the target Dataverse environment, you can proceed to disable or enable plug-in steps. Disabling a step effectively turns off the plug-in from executing when Dataverse processes the entity and message combination specified in the step registration.
247
+
With the [Plug-in Registration tool](#about-the-plug-in-registration-tool) running and logged into the target Dataverse environment, you can proceed to disable or enable plug-in steps. Disabling a step effectively turns off the plug-in from executing when Dataverse processes the entity and message combination specified in the step registration.
248
248
249
249
> [!IMPORTANT]
250
250
> Disabling a plug-in can negatively affect the functionality of your app, a solution, or the Dataverse system. Make sure you understand the implications before you proceed.
Copy file name to clipboardExpand all lines: powerapps-docs/developer/data-platform/scalable-customization-design/database-transactions.md
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -31,8 +31,6 @@ One of the most fundamental concepts behind many of the challenges faced here is
31
31
A common reason that problems can occur in this area is the lack of awareness of how customizations can affect transactions.
32
32
33
33
Although the details of how this is done is beyond the scope of this topic, the most simple element to consider is that as Dataverse interacts with data in its database. SQL Server determines the appropriate locks to be taken by transactions on that data such as:
34
-
- When retrieving a particular record, SQL Server takes a read lock on that record.
35
-
- When retrieving a range of records, in some scenarios it can take a read lock on that range of records or the entire table.
36
34
- When creating a record, it generates a write lock against that record.
37
35
- When updating a record, it takes a write lock against the record.
38
36
- When a lock is taken against a table or record, it’s also taken against any corresponding index records.
Copy file name to clipboardExpand all lines: powerapps-docs/developer/model-driven-apps/clientapi/send-in-app-notifications.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "Send in-app notifications within model-driven apps"
3
3
description: Learn how to configure notifications in model-driven apps by using a client API.
4
-
ms.date: 05/22/2023
4
+
ms.date: 06/23/2023
5
5
ms.reviewer: jdaly
6
6
ms.service: powerapps
7
7
ms.subservice: mda-developer
@@ -20,13 +20,13 @@ contributors:
20
20
21
21
Developers of model-driven apps can configure notifications to be displayed to app users as a toast or within the notification center. Your model-driven app automatically polls the system for new notifications and displays them to the user. The notification sender or your system administrator can configure how the notification is shown and how it can be dismissed. Notifications appear in the notification center until the recipient dismisses them or they expire. By default, a notification expires after 14 days but your administrator can override this setting.
22
22
23
-
Notifications are user-specific. Each notification is intended for a single user, identified as the recipient when the notification is sent. If a notification needs to be sent to multiple users, individual notifications must be created and sent for each recipient.
23
+
Notifications are user-specific. Each notification is intended for a single user, identified as the recipient when the notification is sent. Sending a notification to a team isn't supported. If you need to send notifications to multiple users, you must create notifications for each individual user.
24
24
25
25
This article outlines the steps for how to send in-app notifications to a specific user. To see how these notifications appear in applications, see [In-app notifications in model-driven apps](/powerapps/user/notifications).
26
26
27
27
## Enable the in-app notification feature
28
28
29
-
To use the in-app notification feature, you need to enable the **In-app notifications** setting. This setting is stored within the model-driven app.
29
+
To use the in-app notification feature, you need to enable the **In-app notifications** setting. This setting is stored within the model-driven app.
30
30
31
31
1. Sign in to [Power Apps](https://make.powerapps.com).
32
32
@@ -36,7 +36,7 @@ To use the in-app notification feature, you need to enable the **In-app notifica
36
36
37
37
1. Open **Settings** and switch to **Features**.
38
38
39
-
1. Enable "In-app notifications".
39
+
1. Enable **In-app notifications**.
40
40
41
41
> [!div class="mx-imgBorder"]
42
42
> 
@@ -162,7 +162,7 @@ Notifications sent using the `SendAppNotification` message are stored in the [No
162
162
|Display Name|Schema Name|Description|
163
163
|---|---|---|
164
164
|**Title**|`Title`|The title of the notification.|
165
-
|**Owner**|`OwnerId`|The user who receives the notification.|
165
+
|**Owner**|`OwnerId`|The *user* who receives the notification. While this column can be set to either a user or team, you must only set this to a user. The notification can't be set to a team.|
166
166
|**Body**|`Body`|Details about the notification.|
167
167
|IconType|`IconType`|The list of predefined icons. The default value is `Info`. For more information, go to [Changing the notification icon](#changing-the-notification-icon) later in this article.|
168
168
|**Toast Type**|`ToastType`|The list of notification behaviors. The default value is `Timed`. For more information, go to [Changing the notification behavior](#changing-the-notification-behavior) later in this article.|
@@ -1143,4 +1143,4 @@ The Power Apps Notification connector is for push notifications, which are separ
Copy file name to clipboardExpand all lines: powerapps-docs/maker/canvas-apps/connections-list.md
+14-13Lines changed: 14 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ contributors:
15
15
- lancedMicrosoft
16
16
- mduelae
17
17
- alaug
18
+
- ProfessorKendrick
18
19
---
19
20
# Overview of connectors for canvas apps
20
21
@@ -24,7 +25,7 @@ A connector may provide **tables** of data or **actions**. Some connectors provi
24
25
25
26
## Tables
26
27
27
-
If your connector provides tables, you add your data source and then select the table in the data source that you want to manage. Power Apps both retrieves table data into your app and updates data in your data source automatically for you. For example, you can add a data source that contains a table named **Lessons** and then set the **Items** property of a control, such as a gallery or a form, to this value in the formula bar:
28
+
If your connector provides tables, you add your data source, and then select the table in the data source that you want to manage. Power Apps both retrieve table data into your app and updates data in your data source automatically for you. For example, you can add a data source that contains a table named **Lessons** and then set the **Items** property of a control, such as a gallery or a form, to this value in the formula bar:
28
29
29
30

30
31
@@ -55,7 +56,7 @@ If you need to handle custom data updates for action connectors, build a formula
55
56
56
57
For more information about how to customize your formula for custom updates, see these articles:
> To work with dynamic schema, you can use an **experimental** feature called **Dynamic schema**. Dynamic schema refers to the possibility that the same action may return a different table with different columns. Conditions that may cause the columns in the tables to differ include the action input parameters, the user or role that's executing the action, and the group in which the user is working, among others. For example, SQL Server stored procedures may return different columns if run with different inputs, or an Azure DevOps instance may use custom fields that aren't available by default. For working with dynamic schema, the [connector documentation](/connectors) shows **The outputs of this operation are dynamic.** as the return value.
@@ -106,7 +107,7 @@ This type of connection is also secure. For example Twitter uses this type of a
106
107
107
108
### SQL User name and password authentication
108
109
109
-
This type of connection isn't secure because it doesn't rely on end-user authentication. **It should only be used in cases where you can safely assume that everyone who has access to this connection can see and use all of the data to which the connection provides access.** You can't reliably lock down portions of the data accessible within the connection. For instance, if the connection allows access to a single table, you can't rely on a userID to filter and only show data for that specific user within that table. For a reliable security, use more secure connection such as [Azure AD Integrated](connections-list.md#azure-active-directory-aad).
110
+
This type of connection isn't secure because it doesn't rely on end-user authentication. **It should only be used in cases where you can safely assume that everyone who has access to this connection can see and use all of the data to which the connection provides access.** You can't reliably lock down portions of the data accessible within the connection. For instance, if the connection allows access to a single table, you can't rely on a userID to filter and only show data for that specific user within that table. For reliable security, use a more secure connection such as [Azure AD Integrated](connections-list.md#azure-active-directory-aad).
110
111
111
112
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)
112
113
@@ -120,12 +121,12 @@ Power Apps now has full preview support for **[Secure implicit connections](work
120
121
> **Secure implicit connections** is now **On** by default for new apps.
121
122
122
123
#### 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
+
If you have applications that may be upgraded to use this feature then you'll see a message on the Apps page. It indicates the number of apps that need your attention.
124
125
125
126
> [!div class="mx-imgBorder"]
126
127
> 
127
128
128
-
Select the link and it will open a side panel that will list all of the apps that need attention.
129
+
Select the link and it opens a side panel that will list all of the apps that need attention.
@@ -162,8 +163,8 @@ When your app is republished and shared, then end-users won't have access to the
162
163
#### Limitations
163
164
164
165
1. All types of implicitly shared connections work such as action and tabular.
165
-
2. Server and database names are hidden in network traces but visible in the consent dialog. Column names are not hidden.
166
-
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**.
166
+
2. Server and database names are hidden in network traces but visible in the consent dialog. Column names aren't hidden.
167
+
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**.
167
168
4. Action based connectors limit based on the specific API being used in the application.
168
169
5. Warnings are still enabled in sharing. The warning around implicitly shared connections still warns while in private preview. However, your connection with this feature is secure – despite the warning.
169
170
6. Publishing to an entire tenant, as opposed to specific groups or individuals isn't supported.
@@ -174,21 +175,21 @@ This type of connection isn't secure because it doesn't rely on end-user authent
174
175
175
176
## Data sources in solutions
176
177
177
-
Solutions are used for [application lifecycle management](/power-platform/alm/overview-alm) and provide additional capabilities for managing the lifecycle of **data sources**. If a canvas app is in a solution, [connection references](../data-platform/create-connection-reference.md) and [environment variables](../data-platform/environmentvariables.md) may be created to store information about the data sources. This ensures data sources can be changed or re-established when solutions are migrated to different environments.
178
+
Solutions are used for [application lifecycle management](/power-platform/alm/overview-alm) and provide other capabilities for managing the lifecycle of **data sources**. If a canvas app is in a solution, [connection references](../data-platform/create-connection-reference.md) and [environment variables](../data-platform/environmentvariables.md) may be created to store information about the data sources. This ensures data sources can be changed or re-established when solutions are migrated to different environments.
178
179
179
180
## Rename data sources in apps
180
181
181
182
To learn about renaming data sources in an app, and the difference between tabular and action-based data sources, go to [Rename Power Apps action-based data sources](rename-data-source.md).
182
183
183
184
## Connection consent dialog
184
185
185
-
When users open an app that uses connectors for the first time, they'll see a "connection consent" dialog for the following purposes.
186
+
When users open an app that uses connectors for the first time, they see a "connection consent" dialog for the following purposes.
186
187
187
188
1. To inform users about the data sources accessed by the app.
188
189
189
190
1. To outline the actions a connector may, or may not perform in an app. For example, for apps using the **Office 365 Users** connector, this could be the following.
190
191
191
-
- This app will be able to:
192
+
- This app is able to:
192
193
- Read your full user profile
193
194
- Read the full profile of all users
194
195
- It won't be able to:
@@ -198,7 +199,7 @@ When users open an app that uses connectors for the first time, they'll see a "c
198
199
199
200
1. To facilitate manual end-user authentication, when needed.
200
201
201
-
For some connections, Power Platform can automatically authenticate a user to access a data source. However, if the automatic sign-in fails, this dialog prompts users to fix a connection by manually signing in. Power Platform can only attempt automatic sign-in for a connection when a data source pre-authorizes Microsoft’s Azure API connections service principal, granting it permission to perform single sign-on for a user when a connection is created. For more information on single sign-on, see [What is single sign-on (SSO)?](/azure/active-directory/manage-apps/what-is-single-sign-on)
202
+
For some connections, Power Platform can automatically authenticate a user to access a data source. However, if the automatic sign-in fails, this dialog prompts users to fix a connection by manually signing in. Power Platform can only attempt automatic sign-in for a connection when a data source preauthorizes Microsoft’s Azure API connections service principal, granting it permission to perform single sign-on for a user when a connection is created. For more information on single sign-on, see [What is single sign-on (SSO)?](/azure/active-directory/manage-apps/what-is-single-sign-on)
202
203
203
204
The following image is an example of the connection consent dialog for an app connecting to a SharePoint site.
204
205
@@ -218,10 +219,10 @@ For select connectors, admins can suppress this dialog, and consent on behalf of
218
219
Microsoft Power Platform is only able to suppress the consent dialog for connections to data sources where:
219
220
220
221
1. There isn’t an obligation by the data source to show an explicit consent UI.
221
-
1. The data source pre-authorizes Microsoft’s Azure API connections service principal to enable single-sign-on.
222
+
1. The data source preauthorizes Microsoft’s Azure API connections service principal to enable single-sign-on.
222
223
1. An admin configures an app to suppress the consent for the preceding connections.
223
224
224
-
The pre-authorization of Microsoft’s Azure API connections service principal exists for Microsoft's first-party data sources, and may be configured by custom applications registered in an Azure AD tenant that are used by custom connectors. An admin manages consent suppression on a per-app basis (as opposed to connector basis), so suppression is managed at the most granular app experience level—this level of granularity prevents consent suppression for an organization’s "approved apps" from inadvertently suppressing consent for apps that aren't approved or reviewed.
225
+
The preauthorization of Microsoft’s Azure API connections service principal exists for Microsoft's first-party data sources, and may be configured by custom applications registered in an Azure AD tenant that are used by custom connectors. An admin manages consent suppression on a per-app basis (as opposed to connector basis), so suppression is managed at the most granular app experience level—this level of granularity prevents consent suppression for an organization’s "approved apps" from inadvertently suppressing consent for apps that aren't approved or reviewed.
0 commit comments