Skip to content

Commit 7a65953

Browse files
Live publish for 08 August 2024.
2 parents 9e31377 + 14ec9f3 commit 7a65953

File tree

10 files changed

+85
-104
lines changed

10 files changed

+85
-104
lines changed

powerapps-docs/developer/data-platform/register-plug-in.md

Lines changed: 22 additions & 20 deletions
Large diffs are not rendered by default.

powerapps-docs/developer/data-platform/tutorial-write-plug-in.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Another alternative is to use the Power Platform Tools extension as described he
6565

6666
> [!NOTE]
6767
> Adding the `Microsoft.CrmSdk.CoreAssemblies` NuGet package will include these assemblies in the build folder for your assembly, but you will not upload these assemblies with the assembly that includes your logic. These assemblies are already present in the sandbox runtime.
68-
>
68+
>
6969
> Do not include any other NuGet packages or assemblies to the build folder of your project. You cannot include these assemblies when you register the assembly with your logic. You cannot assume that the assemblies other than those included in the `Microsoft.CrmSdk.CoreAssemblies` NuGet package will be present on the server and compatible with your code.
7070
7171
1. In **Solution Explorer**, right-click the `Class1.cs` file and choose **Rename** in the context menu.
@@ -266,7 +266,7 @@ To register a plug-in, you'll need the Plug-in Registration tool.
266266
![View the registered step.](media/tutorial-write-plug-in-view-registered-step.png)
267267

268268
> [!NOTE]
269-
> At this point the assembly and steps are part of the system **Default Solution**. When creating a production plug-in, you would add them to the unmanaged solution that you will distribute. These steps are not included in this tutorial. For more information, see [Add your assembly to a solution](register-plug-in.md#add-your-assembly-to-a-solution) and [Add step to solution](register-plug-in.md#add-step-to-solution) .
269+
> At this point the assembly and steps are part of the system **Default Solution**. When creating a production plug-in, you would add them to the unmanaged solution that you will distribute. These steps are not included in this tutorial. For more information, see [Add your assembly to a solution](register-plug-in.md#add-your-assembly-to-a-solution) and [Add step to solution](register-plug-in.md#add-a-step-to-a-solution) .
270270
271271
## Test plug-in
272272

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Get started with virtual tables (entities) (Microsoft Dataverse) | Microsoft Docs"
3-
description: "Virtual tables enable the integration of data residing in external systems by seamlessly representing that data as tables in Microsoft Dataverse, without replication of data and often without custom coding."
4-
ms.date: 04/01/2022
3+
description: "Virtual tables enable integration of data residing in external systems with Microsoft Dataverse."
4+
ms.date: 08/08/2024
55
author: mkannapiran
66
ms.author: kamanick
77
ms.reviewer: pehecke
@@ -12,69 +12,72 @@ applies_to:
1212
search.audienceType:
1313
- developer
1414
contributors:
15-
- PHecke
15+
- phecke
1616
- JimDaly
1717
---
1818

1919
# Get started with virtual tables (entities)
2020

2121
[!INCLUDE[cc-terminology](../includes/cc-terminology.md)]
2222

23-
*Virtual tables* (also known as *virtual entities*) enable the integration of data residing in external systems by seamlessly representing that data as tables in Microsoft Dataverse, without replication of data and often without custom coding.
23+
*Virtual tables*, also known as *virtual entities*, enable the integration of data residing in external systems with Microsoft Dataverse. This integration seamlessly represents that external data as tables in Dataverse, without replication of data and often without custom coding.
2424

25-
Virtual tables replace previous client-side and server-side approaches to integrating external data, which required customized code and suffered from numerous limitations, including imperfect integration, data duplication, or extensive commitment of development resources. In addition, for administrators and system customizers, the use of virtual tables greatly simplifies administration and configuration.
25+
Virtual tables replace previous client-side and server-side approaches to integrating external data, which required customized code and suffered from numerous limitations. These limitations include imperfect integration, data duplication, or extensive commitment of development resources. In addition, for administrators and system customizers, the use of virtual tables greatly simplifies administration and configuration.
2626

2727
> [!NOTE]
2828
> This section discusses the implications of virtual tables for developers. For more information about managing virtual tables from the user interface, see [Create and edit virtual tables that contain data from an external data source](../../../maker/data-platform/create-edit-virtual-entities.md).
2929
30-
## Virtual tables, data providers and data sources
30+
## Virtual tables, data providers, and data sources
3131

32-
A virtual table is a definition of a table in the Dataverse platform without the associated physical tables for records created in the Dataverse database. Instead during runtime, when a record is required, its state is dynamically retrieved from the associated external system. Each virtual table type is associated with a *virtual table data provider* and (optionally) some configuration information from an associated *virtual table data source*.
32+
A virtual table includes a definition of a table in Dataverse without the associated physical table for record storage in the Dataverse database. During runtime, when a record is required, its state is dynamically retrieved from the associated external system. Each virtual table type is associated with a *virtual table data provider* and (optionally) some configuration information from an associated *virtual table data source*.
3333

3434
<!-- TODO:
3535
A data provider is a particular type of Dataverse plug-in, which is registered against CRUD events that occur in the platform. More information: [Write a plug-in](../write-plugin.md) -->
3636

3737
The following data providers ship with Dataverse:
3838

39-
- An [OData v4](https://www.odata.org/documentation/) provider is included with the service and is installed by default. This provider supports create, read (retrieve, retrieve multiple), update and delete operations.
39+
- An [OData v4](https://www.odata.org/documentation/) provider is included with the service and is installed by default. This provider supports create, read (retrieve, retrieve multiple), update and delete (CRUD) operations.
4040
- An [Azure Cosmos DB](/azure/cosmos-db) (formerly *Microsoft Document DB*) provider is available from [AppSource](https://appsource.microsoft.com).
4141

42+
If a data provider can't be found for your external data source, you can develop a *custom virtual table data provider*. More information: [Virtual table data providers](custom-ve-data-providers.md)
4243

43-
If a data provider cannot be found for your external data source, you can develop a *custom virtual table data provider*; for more information, see [Virtual table data providers](custom-ve-data-providers.md). Full CRUD operation is now supported for custom virtual table data provider. Developers can implement plug-ins and register them using the Plug-in Registration tool for each of the CRUD operation supporting the virtual table.
44+
Full CRUD operation is now supported for custom virtual table data provider. Developers can implement plug-ins, and register them using the Plug-in Registration tool, for each of the CRUD operations supporting the virtual table.
4445

4546
## Virtual table creation and mapping
4647

47-
Initially, defining a virtual table is the same as defining a custom table: you specify the table, columns, and relationships for the new virtual table type. However, additionally, you then connect the virtual table to a data provider to manage data operations. The custom table type and its columns must be mapped to the corresponding data in the external data source. For example, a virtual table might be represented as a row in an external relational database, and each of its columns might correspond to a column in that row. (Note that these external data names are often different than their corresponding virtual table names.) A specific, required mapping occurs for the entity ID field: the data provider must be able to provide this GUID and associate it to the external record that represents this record. The most direct way to achieve this is to actually use GUIDs as primary keys in the external data source.
48+
Initially, defining a virtual table is the same as defining a custom table. You specify the table, columns, and relationships for the new virtual table type. You then connect the virtual table to a data provider to manage data operations.
49+
50+
The custom table type and its columns must be mapped to the corresponding data in the external data source. For example, a virtual table might be represented as a row in an external relational database, and each of its columns might correspond to a column in that row. These external data names are often different than their corresponding virtual table names. A specific and required mapping occurs for the entity ID field - the data provider must be able to provide this GUID and associate it to the external record that represents this record. The most direct way to achieve this result is to actually use GUIDs as primary keys in the external data source.
4851

4952
In this example, a corresponding virtual table data source would also be provided to supply user and connection information for the external database.
5053

5154
## Limitations of virtual tables
5255

53-
Following are the limitations in virtual tables that must be considered.
56+
The following are limitations of virtual tables that should be considered.
5457

55-
- Only organization-owned tables are supported. The security filtering applied to user-owned tables is not supported. Access to the virtual table data can be turned on or off for individual users based on their security role. Field-level security is not supported.
58+
- Only organization-owned tables are supported. The security filtering applied to user-owned tables isn't supported. Access to the virtual table data can be turned on or off for individual users based on their security role. Field-level security isn't supported.
5659
- It must be possible to model the external data as a Dataverse table. This means:
57-
- All tables in the external data source must have an associated GUID primary key.
58-
- All table properties must be represented as Dataverse table columns. You can use simple types representing text, numbers, choices, dates, images, and lookups.
59-
- You must be able to model any table relationships in Dataverse.
60-
- A column on a virtual table cannot be calculated or rollup.  Any desired calculations must be done on the external side, possibly within or directed by the data provider.
61-
- Although you can add virtual table columns as a lookup on a grid or other UI views, you cannot filter or sort based on this virtual table lookup column.
62-
- Auditing is not supported.
63-
- Search functionality is not supported for virtual tables as they do not persist data.
64-
- Charts and dashboards are not supported for virtual tables.
65-
- Virtual tables cannot be enabled for queues.
66-
- Offline caching of values is not supported for virtual tables.
67-
- A virtual table cannot represent an activity and do not support business process flows.
68-
- Once created, a virtual table cannot be changed to be a standard (non-virtual) table. The reverse is also true: a standard table cannot be converted into a virtual table.
69-
- Selecting attributes in Retrieve and RetrieveMultiple queries will not be applied since all attributes will be returned
60+
- All tables in the external data source must have an associated GUID primary key.
61+
- All table properties must be represented as Dataverse table columns. You can use simple types representing text, numbers, choices, dates, images, and lookups.
62+
- You must be able to model any table relationships in Dataverse.
63+
- A column on a virtual table can't be calculated or rollup.  Any desired calculations must be done on the external side, possibly within or directed by the data provider.
64+
- Although you can add virtual table columns as a lookup on a grid or other UI views, you can't filter or sort based on this virtual table lookup column.
65+
- Auditing isn't supported.
66+
- Search functionality isn't supported for virtual tables as they don't persist data.
67+
- Charts and dashboards aren't supported for virtual tables.
68+
- Virtual tables can't be enabled for queues.
69+
- Offline caching of values isn't supported for virtual tables.
70+
- A virtual table can't represent an activity and don't support business process flows.
71+
- Once created, a virtual table can't be changed to be a standard (nonvirtual) table. The reverse is also true whereas a standard table can't be converted into a virtual table.
72+
- Selecting attributes in Retrieve and RetrieveMultiple queries won't be applied since all attributes are returned
7073

7174
For more information about how these limitations are reflected in the Dataverse API, see [API considerations of virtual tables](api-considerations-ve.md).
7275

7376
### See also
77+
7478
[Virtual table walkthrough using the OData v4 Data Provider](../../../maker/data-platform/virtual-entity-walkthrough-using-odata-provider.md)<br/>
7579
[API considerations of virtual tables](api-considerations-ve.md)<br />
7680
[Custom virtual table data providers](custom-ve-data-providers.md)<br />
7781
[Sample: Generic virtual table data provider plug-in](sample-generic-ve-plugin.md)
7882

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

powerapps-docs/maker/canvas-apps/ai-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: mduelae
55
ms.topic: conceptual
66
ms.custom: canvas
77
ms.reviewer:
8-
ms.date: 06/11/2024
8+
ms.date: 08/08/2024
99
ms.subservice: canvas-maker
1010
ms.author: tapanm
1111
search.audienceType:
@@ -55,7 +55,7 @@ Learn how to use Copilot features in Power Apps.
5555
> [!IMPORTANT]
5656
>
5757
> - Preview features aren't meant for production use and may have restricted functionality. These features are available before an official release so that customers can get early access and provide feedback.
58-
> - For more information, go to the [preview terms](https://go.microsoft.com/fwlink/?linkid=2189520).
58+
> - For more information, go to the [preview terms](https://go.microsoft.com/fwlink/?linkid=2173149).
5959
> - This capability is powered by [Azure OpenAI Service](/azure/cognitive-services/openai/overview).
6060
> - This capability is in the process of rolling out, and may not be available in your region yet.
6161
> - This capability may be subject to usage limits or capacity throttling.

powerapps-docs/maker/canvas-apps/code-view.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.custom: canvas
77
ms.collection: get-started
88
ms.topic: conceptual
99
ms.reviewer: mkaur
10-
ms.date: 5/14/2024
10+
ms.date: 8/8/2024
1111
ms.subservice: canvas-maker
1212
ms.author: marcelbf
1313
search.audienceType:
@@ -63,6 +63,7 @@ Follow these steps to view, copy, and paste the code for a control:
6363
* You can't copy and paste and there’s no code view for the **App Object**.
6464
* You can’t edit the code in the code view.
6565
* You can only copy controls that are on a screen. Copying a screen isn't supported.
66+
* When pasting code, the new control is positioned at coordinates X=40, Y=40. In the future, the X and Y properties are respected.
6667

6768
This article provides an overview of working with formulas. For more detailed information about functions, operators, and other building blocks, see [Formula reference](formula-reference.md).
6869

0 commit comments

Comments
 (0)