Skip to content

Commit 9b64e26

Browse files
Live publish for 29 May 2024.
2 parents 7687469 + d34dedc commit 9b64e26

File tree

7 files changed

+427
-29
lines changed

7 files changed

+427
-29
lines changed

powerapps-docs/developer/data-platform/bypass-custom-business-logic-preview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ Use this FetchXml query to return `step.sdkmessageprocessingstepid` values you c
287287

288288
### Limit to the number of steps
289289

290-
To ensure that the parameter size isn't too large, the default limit on the number of steps you can pass is three. The limit is controlled using data in the [Organization table OrgDbOrgSettings column](reference/entities/organization.md#BKMK_OrgDbOrgSettings). Don't try to edit this value yourself. Use the [OrgDBOrgSettings tool for Microsoft Dynamics CRM](https://support.microsoft.com/topic/orgdborgsettings-tool-for-microsoft-dynamics-crm-20a10f46-2a24-a156-7144-365d49b842ba) or [OrgDbOrgSettings app](https://github.com/seanmcne/OrgDbOrgSettings?tab=readme-ov-file#where-to-find-the-releases) to change the `BypassBusinessLogicExecutionStepIdsLimit` value.
290+
To ensure that the parameter size isn't too large, the default limit on the number of steps you can pass is three. The limit is controlled using data in the [Organization table OrgDbOrgSettings column](reference/entities/organization.md#BKMK_OrgDbOrgSettings). Use the [OrgDBOrgSettings tool for Microsoft Dynamics CRM](https://support.microsoft.com/topic/orgdborgsettings-tool-for-microsoft-dynamics-crm-20a10f46-2a24-a156-7144-365d49b842ba) or [OrgDbOrgSettings app](https://github.com/seanmcne/OrgDbOrgSettings?tab=readme-ov-file#where-to-find-the-releases) to change the `BypassBusinessLogicExecutionStepIdsLimit` value.
291291

292292
The maximum recommended size for this limit is 10 steps.
293293

powerapps-docs/developer/data-platform/media/whentousewebapi.svg

Lines changed: 359 additions & 0 deletions
Loading
Lines changed: 47 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Work with data using code in Microsoft Dataverse (PowerApps) | Microsoft Docs"
3-
description: "Microsoft Dataverse provides web services and APIs that you can use to interact with your data." # 115-145 characters including spaces. This abstract displays in the search result.
4-
ms.date: 03/24/2023
3+
description: "Microsoft Dataverse provides web services and APIs that you can use to interact with your data."
4+
ms.date: 05/20/2024
55
ms.reviewer: pehecke
66
ms.topic: article
77
author: divkamath # GitHub ID Temp owner
@@ -15,45 +15,70 @@ contributors:
1515
---
1616
# Work with data using code in Microsoft Dataverse
1717

18-
[!INCLUDE[cc-terminology](includes/cc-terminology.md)]
18+
There are several different ways to access Dataverse data using code.
1919

20-
Dataverse has [tables](entities.md) that are used to model and manage business data. You can use the stock provided tables or define your own custom tables to store data.
20+
- Use the Dataverse [SDK for .NET](#sdk-for-net) or [Web API](#web-api) to retrieve, add, and modify data.
21+
- Use [Dataverse search](#search-dataverse-data) search Dataverse data.
22+
- Use the Dataverse Tabular Data Stream (TDS) endpoint to [query data with SQL](#query-data-with-sql).
2123

22-
Dataverse also has APIs known as *messages*. Messages define a set of input parameters and output properties to encapsulate logic that executes on the server. Each message has a name. If you come from a SQL database background, you can think of these like SQL stored procedures. You can use messages that Dataverse provides or you can create your own messages.
24+
This article introduces the options you have to work with Dataverse data using code.
2325

24-
## Use web services to work with data
26+
<!--
27+
Use Dataverse tables to model and manage business data. You can use [existing tables](reference/about-entity-reference.md) and customize them, or [create your own custom tables](../../maker/data-platform/create-edit-entities-portal.md) to store data.
2528
26-
Dataverse provides two ways to work with data: Web API & SDK for .NET. Choose the one that best matches the requirement and your skills.
29+
Dataverse also has APIs known as *messages*. Each message has a name like `Create`, `Delete`, or `WhoAmI`. Messages define a set of input parameters and output properties to encapsulate logic that executes on the server. If you come from a SQL database background, you can think of these like SQL stored procedures. You can use messages that Dataverse provides or you can [create your own messages](custom-actions.md).
30+
-->
2731

28-
<!--![Flow diagram to choose web service.](media/whentousewebapi.png)-->
32+
## Retrieve, add, and modify data
2933

30-
### Web API
31-
32-
The Web API is an OData v4 RESTful endpoint. Use the Web API for any programming language that supports HTTP requests and authentication using OAuth 2.0.
34+
Dataverse provides two ways to retrieve, add, and modify data: SDK for .NET & Web API. Choose the one that best matches the requirements, your skills, and preferences.
3335

34-
More information: [Use the Dataverse Web API](webapi/overview.md)
36+
:::image type="content" source="media/whentousewebapi.svg" alt-text="Flow diagram to choose programming style":::
3537

3638
### SDK for .NET
3739

38-
Use classes provided in the Dataverse SDK for .NET assemblies for custom apps, or for extending Dataverse operations using custom plug-ins and workflow activities. The Dataverse SDK for .NET supports build targets for both .NET Framework and .NET 6+. However, plug-in and custom workflow activities must be coded using .NET Framework.
40+
If you are working with .NET, we recommend using our [SDK for .NET](org-service/overview.md).
3941

40-
More information: [Use the Dataverse SDK for .NET](org-service/overview.md)
42+
- Use the [ServiceClient class](/dotnet/api/microsoft.powerplatform.dataverse.client.serviceclient) in the [DataverseServiceClient NuGet package](https://www.nuget.org/packages/Microsoft.PowerPlatform.Dataverse.Client/) if you have a client application.
43+
- Use the [Microsoft.CrmSdk.CoreAssemblies NuGet package](https://www.nuget.org/packages/Microsoft.CrmSdk.CoreAssemblies/) when you are writing a plug-in or custom workflow activity.
4144

42-
> [!NOTE]
43-
> Use the Xrm.Tooling assemblies if you want to use the SDK for .NET using our PowerShell module or are creating a Windows client application and you want to use our custom login control. More information: [Build Windows client applications using the XRM tools](xrm-tooling/build-windows-client-applications-xrm-tools.md)
45+
The Dataverse SDK for .NET supports build targets for both .NET Framework and .NET 6+. However, plug-in and custom workflow activities must use .NET Framework.
4446

45-
## Limitations
47+
If you are using our [PowerShell module](https://www.powershellgallery.com/packages/Microsoft.Xrm.Tooling.CrmConnector.PowerShell/) or using our [custom log-in control](xrm-tooling/use-xrm-tooling-common-login-control-client-applications.md) with a Windows client application, use the [the Xrm.Tooling](xrm-tooling/build-windows-client-applications-xrm-tools.md)
4648

47-
There's a 1-GB size limitation on the size of a response that Dataverse returns. Few APIs or queries are capable of returning this much data. If you encounter this limit, you should consider what other options are available to get the data in multiple, smaller requests.
49+
- [Use the SDK for .NET](org-service/overview.md)
50+
- [Quickstart: Execute an SDK for .NET request (C#)](org-service/quick-start-org-service-console-app.md)
4851

49-
The deprecated SOAP endpoint returns serialized XML data that is much more verbose than the serialized JSON data returned by the Web API. If you're using the deprecated SOAP endpoint, you should use the Web API equivalent operation. More information: [About the legacy SOAP endpoint](org-service/overview.md#about-the-legacy-soap-endpoint)
52+
### Web API
53+
54+
The Dataverse Web API is an OData v4 RESTful endpoint. Use the Web API for any programming language that supports HTTP requests and authentication using OAuth 2.0, including .NET.
55+
56+
- [Learn to use the Dataverse Web API](webapi/overview.md)
57+
- [Quick Start: Web API with PowerShell and Visual Studio Code](webapi/quick-start-ps.md)
58+
- [Quick Start: Web API sample (C#)](webapi/quick-start-console-app-csharp.md)
5059

51-
### Search
60+
61+
## Search Dataverse data
5262

5363
Dataverse search delivers fast and comprehensive search results across multiple tables, in a single list, sorted by relevance. It also provides capabilities to support suggestions and autocompletion experiences in apps.
5464

55-
Search has a native endpoint and there are Dataverse messages that you can use from the Web API or Organization service.
65+
Search has a native endpoint and there are Dataverse messages that you can use from the Web API or SDK for .NET.
66+
67+
[Learn to search for Dataverse records](search/overview.md)
5668

57-
More information: [Search for Dataverse records](search/overview.md)
69+
## Query data with SQL
70+
71+
The [Power Query Dataverse connector](/power-query/connectors/dataverse) uses the Dataverse Tabular Data Stream (TDS) endpoint to retrieve data using [Dataverse SQL](how-dataverse-sql-differs-from-transact-sql.md), a subset of Transact-SQL.
72+
73+
[Retrieving data using SQL Management Studio (SSMS)](dataverse-sql-query.md#sql-server-management-studio-preview) is a preview feature.
74+
75+
[Learn to use SQL to query data](dataverse-sql-query.md)
76+
77+
78+
## Limitations
79+
80+
There's a 1-GB size limitation on the size of a response that Dataverse returns. Few APIs or queries are capable of returning this much data. If you encounter this limit, you should consider what other options are available to get the data in multiple, smaller requests.
81+
82+
The deprecated SOAP endpoint returns serialized XML data that is much more verbose than the serialized JSON data returned by the Web API. If you're using the deprecated SOAP endpoint, you should use the Web API equivalent operation. More information: [About the legacy SOAP endpoint](org-service/overview.md#about-the-legacy-soap-endpoint)
5883

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

powerapps-docs/maker/data-platform/behavior-format-date-time-field.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Behavior and format of the Date and Time column in Microsoft Dataverse | MicrosoftDocs"
33
description: Understand the format of date and time columns.
44
ms.custom: ""
5-
ms.date: 11/07/2023
5+
ms.date: 05/28/2024
66
ms.reviewer: ""
77
ms.suite: ""
88
ms.tgt_pltfrm: ""
@@ -56,6 +56,9 @@ Use **Date only** behavior when information about the time of the day and the ti
5656

5757
**Time zone independent** behavior with **Date only** format is practically the same as **Date only** behavior. Use the former if you aren't sure whether you need the time portion in the future.
5858

59+
> [!IMPORTANT]
60+
> Avoid **Date only** format with **User local** behavior. Users in different time zones might see a different date, which is not intended in most scenarios. When a user sets a date in a model-driven app, the time portion will automatically be set to midnight of their time zone. This might cause the date to appear a day earlier or later for other users.
61+
5962
## Examples
6063

6164
### Display values

powerapps-docs/maker/data-platform/update-solutions.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ The procedure to import the updated solution is similar to installing a new mana
6767
**Completing Solution Upgrade**
6868
If you chose to stage for upgrade, or if the system had an issue completing an upgrade, you'll see that you have the original solution still installed in your system as well as a new solution that has the same solution name as the base solution suffixed with \_Upgrade. To complete the upgrade, select the base solution in the solution list and select **Apply Solution Upgrade**. This uninstalls all previous patches and the base solution then rename the \_Upgrade solution to be the same name as the previous base solution. Any components that were in the original solution and patches that aren't present in the \_Upgrade solution will be deleted as part of this process.
6969

70+
> [!NOTE]
71+
> Recent changes in the platform have optimized the single step upgrade process to no longer use a temporary _Upgrade solution or use an uninstall operation on the original solution.
72+
7073
## Understanding version numbers for updates
7174

7275
A solution's version has the following format: major.minor.build.revision. An update must have a higher major, minor, build, or revision number than the parent solution. For example, for a base solution version 3.1.5.7, a small update could be a version 3.1.5.8 or a slightly more significant update could have version 3.1.7.0. A substantially more significant update could be version 3.2.0.0.

powerapps-docs/maker/model-driven-apps/channel-change.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.service: powerapps
66
ms.subservice: mda-maker
77
ms.author: aorth
88
ms.reviewer: matp
9-
ms.date: 04/03/2024
9+
ms.date: 05/29/2024
1010
ms.topic: how-to
1111
applies_to:
1212
- "powerapps"
@@ -23,13 +23,13 @@ The release channel affects the features that impact users. When the monthly cha
2323

2424
The release channel for model-driven apps can be changed in two primary ways.
2525

26-
- App channel (starting with build 23111)
26+
- App channel
2727
- Environment channel
2828

2929
In addition, the release channel can be overridden with either of these options.
3030

31-
- [User channel override](/power-platform/admin/user-channel-override) (starting with build 23111)
32-
- Browser session channel
31+
- [User channel override](/power-platform/admin/user-channel-override)
32+
- [Browser session channel override](#changing-the-browser-session-channel)
3333

3434
> [!NOTE]
3535
> When the release channel is changed on the environment level, a user must refresh the browser tab twice to update the release channel information. The first refresh triggers a background update of feature configuration to a local cache. The second refresh uses the feature configuration local cache.
@@ -38,6 +38,12 @@ In addition, the release channel can be overridden with either of these options.
3838

3939
The environment channel can be set using the Power Platform admin center or with code.
4040

41+
| Environment release channel | Environment setting value | Behavior |
42+
|--|--|--|
43+
| Auto | 0 | Environment default value is currently **Semi-annual**, but will change to **Monthly** with 2024 release wave 2. |
44+
| Monthly | 1 | Environment explicitly set to **Monthly Channel**. |
45+
| Semi-annual | 3 | Environment explicitly set to **Semi-Annual Channel**. |
46+
4147
Power Platform admins can change the release channel using the environment's behavior settings. More information: [Manage behavior settings](/power-platform/admin/settings-behavior).
4248

4349
Developers can change the environment channel by updating the [ReleaseChannel](/power-apps/developer/data-platform/reference/entities/organization#BKMK_ReleaseChannel) column value for the row in the [Organization](/power-apps/developer/data-platform/reference/entities/organization) table. There's always a single row in the organization table.
@@ -52,7 +58,7 @@ The app channel can be used to override the release channel for a model-driven a
5258

5359
| App release channel | App setting value | Behavior |
5460
|--|--|--|
55-
| Auto | 0 | App default value is **Semi-annual**, but will later change to **Monthly** in a future release wave. |
61+
| Auto | 0 | App default value is **Semi-annual** for Dynamics 365 orgs and **Monthly** for Power Apps orgs. With 2024 release wave 2 the default will change to **Monthly**. |
5662
| Monthly | 1 | App explicitly set to **Monthly Channel**. |
5763
| Semi-annual | 3 | App explicitly set to **Semi-Annual Channel**. |
5864

@@ -104,6 +110,8 @@ A maker can use the **Solutions** area to explicitly set the release channel for
104110

105111
As part of the gradual migration to default all apps to use monthly channel, newly created model-driven apps will gradually start seeing the app channel defaulted. Admins or makers can control the release channel default for new apps using an app setting. The app setting **Allow new app channel default** defaults to **Yes**, which means a newly created app is set to **Monthly**.
106112

113+
To override this behavior, change the app setting to **No** in the environment or apply to multiple environments by including in a solution that is imported into the environments.
114+
107115
### Prevent new app default to monthly channel
108116

109117
The new app default can be prevented by switching **Allow new app channel default** to **No**. This causes the new app to be created with release channel **Auto** value.

0 commit comments

Comments
 (0)