Skip to content

Commit 000f6ba

Browse files
authored
Merge branch 'live' into fix--MD038/no-space-in-code
2 parents cee54e7 + fcdefac commit 000f6ba

File tree

357 files changed

+3284
-1061
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

357 files changed

+3284
-1061
lines changed

.openpublishing.redirection.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "powerapps-docs/developer/component-framework/updating-tooling.md",
5+
"redirect_url": "get-powerapps-cli#update-microsoft-powerapps-cli-to-the-latest-version",
6+
"redirect_document_id": "false"
7+
},
38
{
49
"source_path": "powerapps-docs/maker/canvas-apps/scan-barcode.md",
510
"redirect_url": "controls/control-new-barcode-scanner",
611
"redirect_document_id": "false"
7-
}, {
12+
},
13+
{
814
"source_path": "powerapps-docs/maker/canvas-apps/connect-to-sharepoint.md",
915
"redirect_url": "connections/connection-sharepoint-online",
1016
"redirect_document_id": "false"

pending-deleted-files.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ This file tracks files marked for deletion. Localization requirements mean that
77
These files have been redirected, but the actual .md topic files can't been removed yet.
88

99
powerapps-docs\maker\canvas-apps\working-with-experimental.md
10+
powerapps-docs/maker/common-data-service/entity-relationship-behavior.md
1011

1112
These files have been redirected, and the .md topic files have been deleted. This list hasn't been provided to loc yet.
1213

powerapps-docs/developer/common-data-service/azure-integration.md

Lines changed: 51 additions & 41 deletions
Large diffs are not rendered by default.

powerapps-docs/developer/common-data-service/define-alternate-keys-entity.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Work with alternate keys (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "The topic explains about how to create alternate keys for an entity. Alternate keys can be created programmatically or by using the customization tools" # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 10/31/2018
5+
ms.date: 06/04/2019
66
ms.reviewer: ""
77
ms.service: powerapps
88
ms.topic: "article"
@@ -39,6 +39,9 @@ You should be aware of the following constraints when creating alternate keys:
3939
| DecimalAttributeMetadata | Decimal Number |
4040
| IntegerAttributeMetadata | Whole Number |
4141
| StringAttributeMetadata | Single line of text |
42+
| DateTimeAttributeMetadata | Date Time |
43+
| LookupAttributeMetadata | Lookup |
44+
| PicklistAttributeMetadata | Option Set |
4245

4346

4447
- **Valid key size**
@@ -85,4 +88,4 @@ If the alternate key is deleted while an index creation job is still pending or
8588
[Using alternate keys](use-alternate-key-create-record.md)<br />
8689
[Use change tracking to synchronize data with external systems](use-change-tracking-synchronize-data-external-systems.md)<br />
8790
[Use Upsert to insert or update a record](use-upsert-insert-update-record.md)
88-
[Define alternate keys to reference records](../../maker/common-data-service/define-alternate-keys-reference-records.md)
91+
[Define alternate keys to reference records](../../maker/common-data-service/define-alternate-keys-reference-records.md)

powerapps-docs/developer/common-data-service/developer-tools.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The following tools are distributed in NuGet packages. The [Developer Guide: Dow
2626

2727
|Tool |Description |
2828
|---------|---------|
29-
|Code generation tool `CrmSvcUtil.exe`|A command-line code generation tool that generates early-bound .NET Framework classes that represent the entity data model used by the organization service. <br />More information: <br />[Organization Service](work-with-data-cds.md#organization-service)<br />[Create early bound entity classes with the code generation tool ](/dynamics365/customer-engagement/developer/org-service/create-early-bound-entity-classes-code-generation-tool)|
29+
|Code generation tool `CrmSvcUtil.exe`|A command-line code generation tool that generates early-bound .NET Framework classes that represent the entity data model used by the organization service. <br />More information: <br />[Organization Service](work-with-data-cds.md#organization-service)<br />[Create early bound entity classes with the code generation tool](/dynamics365/customer-engagement/developer/org-service/create-early-bound-entity-classes-code-generation-tool)|
3030
|Configuration Migration tool `DataMigrationUtility.exe`|Used to move configuration data across environments. Configuration data is used to define custom functionality and is typically stored in custom entities. This tool is not designed to move business data. <br /> More information: [Common Data Service Administrator Guide: Move configuration data across instances and organizations with the Configuration Migration tool](/dynamics365/customer-engagement/admin/manage-configuration-data)|
3131
|Package Deployer `PackageDeployer.exe`|Used to deploy packages on Common Data Service instances. A package is an installable unit that includes solutions. <br /> More information: <br />[Deploy Solution Packages](introduction-solutions.md#deploy-solution-packages)<br />[Create packages for the Common Data Service Package Deployer](/dynamics365/customer-engagement/developer/create-packages-package-deployer)|
3232
|Plug-in Registration Tool `PluginRegistration.exe`|A tool used to subscribe .NET assembly plug-in classes to server events. <br />More information: <br />[Create a plug-in](apply-business-logic-with-code.md#create-a-plug-in)<br />[Register a plug-in](register-plug-in.md)|

powerapps-docs/developer/common-data-service/entity-attribute-metadata.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ In the following table:
8282
|Collection|`CalendarRulesType`|No|Contains a collection of `CalendarRules` entity records.<br />There are no attributes that use this type. When generating a proxy, the code generation tool will create two simulated attributes that are not present in the metadata. These attributes represent a view of the calendar rules records associated in a one-to-many relationship to the entity record.|
8383
|Collection|`PartyListType`|No|Contains a collection of `ActivityParty` entity records.<br />More information: [ActivityParty entity](reference/entities/activityparty.md)|
8484
|Date and Time|`DateTimeType`<br />[DateTimeAttributeMetadata](/dotnet/api/microsoft.xrm.sdk.metadata.datetimeattributemetadata)|Yes<br />**Date and Time**|Contains a date and time value.<br />All date and time attributes support values as early as 1/1/1753 12:00 AM.|
85-
|Image|`ImageType`<br />[ImageAttributeMetadata]()|Yes<br />**Image**|Contains data to support retrieving image data for an entity record.<br />More information: [Entity Images](entity-metadata.md#entity-images)|
86-
|Managed Property|`ManagedPropertyType`<br />[ManagedPropertyAttributeMetadata](/dotnet/api/microsoft.xrm.sdk.metadata.imageattributemetadata)|No|Contains data that describe whether the solution component stored in the entity record can be customized when included in a managed solution.<br />More information: [Managed Properties](introduction-solutions.md#managed-properties)|
85+
|Image|`ImageType`<br />[ImageAttributeMetadata](/dotnet/api/microsoft.xrm.sdk.metadata.imageattributemetadata)|Yes<br />**Image**|Contains data to support retrieving image data for an entity record.<br />More information: [Entity Images](entity-metadata.md#entity-images)|
86+
|Managed Property|`ManagedPropertyType`<br />[ManagedPropertyAttributeMetadata](/dotnet/api/microsoft.xrm.sdk.metadata.managedpropertyattributemetadata)|No|Contains data that describe whether the solution component stored in the entity record can be customized when included in a managed solution.<br />More information: [Managed Properties](introduction-solutions.md#managed-properties)|
8787
|Quantity|`BigIntType`<br />[BigIntAttributeMetadata](/dotnet/api/microsoft.xrm.sdk.metadata.bigintattributemetadata)|No|Contains a `BigInt` value. For internal use only.|
8888
|Quantity|`DecimalType`<br />[DecimalAttributeMetadata](/dotnet/api/microsoft.xrm.sdk.metadata.decimalattributemetadata)|Yes<br />**Decimal Number**|Contains a `Decimal` value. The `Precision` property sets the level of precision.|
8989
|Quantity|`DoubleType`<br />[DoubleAttributeMetadata](/dotnet/api/microsoft.xrm.sdk.metadata.doubleattributemetadata)|Yes<br />**Floating Point Number**|Contains a `Double` value. The `Precision` property sets the level of precision.|

powerapps-docs/developer/common-data-service/event-framework.md

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
title: " Event Framework (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "Describes the event framework and information developers should know when working with it." # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 10/31/2018
5+
ms.date: 05/25/2019
66
ms.reviewer: ""
77
ms.service: powerapps
88
ms.topic: "article"
9-
author: "brandonsimons" # GitHub ID
9+
author: "JimDaly" # GitHub ID
1010
ms.author: "jdaly" # MSFT alias of Microsoft employees only
1111
manager: "ryjones" # MSFT alias of manager or PM counterpart
1212
search.audienceType:
@@ -17,23 +17,6 @@ search.app:
1717
---
1818
# Event Framework
1919

20-
<!-- Re-write from
21-
https://docs.microsoft.com/dynamics365/customer-engagement/developer/introduction-event-framework
22-
https://docs.microsoft.com/dynamics365/customer-engagement/developer/event-execution-pipeline
23-
24-
See notes at https://microsoft-my.sharepoint.com/:w:/p/jdaly/EfmTW7DQXNREuqj1s7tBtIIB4VZmvasZ1Nsbl4F5zlD1ZQ?e=FNlBmr
25-
26-
27-
Make sure to call out the changes due to the legacy update messages. That information was moved.
28-
29-
See
30-
https://docs.microsoft.com/dynamics365/customer-engagement/developer/org-service/perform-specialized-operations-using-update#impact-of-this-change-on-plug-ins
31-
32-
https://docs.microsoft.com/dynamics365/customer-engagement/developer/org-service/perform-specialized-operations-using-update#impact-of-this-change-on-workflows
33-
34-
35-
-->
36-
3720
The capability to extend the default behavior of Common Data Service depends on detecting when events occur on the server. The *Event Framework* provides the capability to register custom code to be run in response to specific events.
3821

3922
All capabilities to extend the default behavior of the platform depend on the event framework. When you configure a workflow to respond to an event using the workflow designer without writing code, that event is provided by the event framework.
@@ -81,7 +64,7 @@ To verify if a message and entity combination supports execution of plug-ins usi
8164
<value>SetStateDynamicEntity</value>
8265
<value>RemoveRelated</value>
8366
<value>SetRelated</value>
84-
<value>Execute</value>
67+
<value>Execute</value>
8568
</condition>
8669
</filter>
8770
<order attribute='name' />
@@ -90,7 +73,7 @@ To verify if a message and entity combination supports execution of plug-ins usi
9073
```
9174

9275
> [!CAUTION]
93-
> The `Execute` message is available, but you should typically not register extensions for it since it is called by every operation.
76+
> The `Execute` message is available, but you should not register extensions for it since it is called by every operation.
9477
9578
> [!NOTE]
9679
> There are certain cases where plug-ins and workflows that are registed for the Update event can be called twice. More information: [Behavior of specialized update operations](special-update-operation-behavior.md)
@@ -101,10 +84,10 @@ When you register a step using the Plug-in registration tool you must also choos
10184

10285
|Name|Description|
10386
|--|--|
104-
|**PreValidation**<br />Stage: 10|[!INCLUDE [cc-prevalidation-description](../../includes/cc-prevalidation-description.md)]|
105-
|**PreOperation**<br />Stage: 20|[!INCLUDE [cc-preoperation-description](../../includes/cc-preoperation-description.md)]|
106-
|**MainOperation**<br />Stage: 30|For internal use only.|
107-
|**PostOperation**<br />Stage: 40|[!INCLUDE [cc-postoperation-description](../../includes/cc-postoperation-description.md)]|
87+
|**PreValidation**|[!INCLUDE [cc-prevalidation-description](../../includes/cc-prevalidation-description.md)]|
88+
|**PreOperation**|[!INCLUDE [cc-preoperation-description](../../includes/cc-preoperation-description.md)]|
89+
|**MainOperation**|For internal use only.|
90+
|**PostOperation**|[!INCLUDE [cc-postoperation-description](../../includes/cc-postoperation-description.md)]|
10891

10992
The stage you should choose depends on the purpose of the extension. You don't need to apply all your business logic within a single step. You can apply multiple steps so that your logic about whether to allow a operation to proceed can be in the **PreValidation** stage and your logic to make modifications to the message properties can occur in the **PostOperation** stage.
11093

powerapps-docs/developer/common-data-service/handle-exceptions.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ When you throw an <xref:Microsoft.Xrm.Sdk.InvalidPluginExecutionException> excep
3838
The exception message for asynchronous registered plug-ins is written to a System Job [AsyncOperation Entity](reference/entities/asyncoperation.md) record which can be viewed in the **System Jobs** area of the web application. No dialog will be displayed to the user. Async plug-ins do not participate in the database transaction that queued them, therefore they cannot cancel the transaction.
3939

4040
> [!NOTE]
41-
> For on-premise plug-ins not registered in the sandbox, the exception information is written to the Application event log on the D365 server that executes the plug-in. The event log can be viewed by using the Event Viewer administrative tool.
41+
> - For on-premise plug-ins not registered in the sandbox, the exception information is written to the Application event log on the Dynamics 365 Server that executes the plug-in. The event log can be viewed by using the Event Viewer administrative tool.
42+
> - In the Unified Interface, the error dialog does not support HTML encoded content or messaging.

powerapps-docs/developer/common-data-service/org-service/use-executeAsync.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Use ExecuteAsync to execute messages asynchronously (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "You can use the ExecuteAsync message to import solutions asynchronously" # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 10/31/2018
5+
ms.date: 06/08/2019
66
ms.reviewer: ""
77
ms.service: powerapps
88
ms.topic: "article"
@@ -15,20 +15,22 @@ search.app:
1515
- PowerApps
1616
- D365CE
1717
---
18-
# Use ExecuteAsync to execute messages asynchronously
18+
# Use ExecuteAsync to execute messages asynchronously
1919

20-
Except for one, all data operations using the SDK assemblies are synchronous. Importing a solution is one operation which can require considerable resources, so there is an option to execute this operation asynchronously using the <xref:Microsoft.Xrm.Sdk.Messages.ExecuteAsyncRequest> class.
20+
Except for two, all data operations using the SDK assembly request classes are synchronous.
21+
22+
Importing a solution is one operation which can require considerable resources, so there is an option to execute this operation asynchronously using the <xref:Microsoft.Xrm.Sdk.Messages.ExecuteAsyncRequest> request class. The <xref:Microsoft.Crm.Sdk.Messages.DeleteAndPromoteRequest> request class performs similar resource intensive operations.
2123

2224
Importing a solution asynchronously improves system performance by postponing message execution until some later time when the server load may be less. Interactive users do not have to wait for the target message to execute before they can continue. This is especially useful when importing solutions which may take a few minutes or more to execute.
2325

2426
> [!NOTE]
25-
> <xref:Microsoft.Crm.Sdk.Messages.ImportSolutionRequest> is the only message can be used with the `ExecuteAsync` message.
27+
> <xref:Microsoft.Crm.Sdk.Messages.ImportSolutionRequest> and <xref:Microsoft.Crm.Sdk.Messages.DeleteAndPromoteRequest> are the only request classes that can be used with the `ExecuteAsync` message.
2628
27-
Use the <xref:Microsoft.Xrm.Sdk.Messages.ExecuteAsyncRequest> message to execute a message asynchronously. You configure the request and pass the request instance as an argument to <xref:Microsoft.Xrm.Sdk.IOrganizationService>.<xref:Microsoft.Xrm.Sdk.IOrganizationService.Execute*>. <xref:Microsoft.Xrm.Sdk.Messages.ExecuteAsyncResponse> returns with the ID of the asynchronous job. You can (optionally) query the job using the ID to find out its current state.
29+
Use the <xref:Microsoft.Xrm.Sdk.Messages.ExecuteAsyncRequest> request class to execute a message asynchronously. You configure the request and pass the request instance as an argument to <xref:Microsoft.Xrm.Sdk.IOrganizationService>.<xref:Microsoft.Xrm.Sdk.IOrganizationService.Execute*>. <xref:Microsoft.Xrm.Sdk.Messages.ExecuteAsyncResponse> returns with the ID of the asynchronous job. You can (optionally) query the job using the ID to find out its current state.
2830

29-
You can use the <xref:Microsoft.Xrm.Sdk.Messages.ExecuteMultipleRequest> message queue multiple solutions to be imported asynchronously.To do this, add one or more `ExecuteAsync` message requests to an `ExecuteMultiple` message request. Due to throttling restrictions that improve overall system performance, only one message running asynchronously is allowed to execute at a time for each organization.
31+
You can use the <xref:Microsoft.Xrm.Sdk.Messages.ExecuteMultipleRequest> request class to queue multiple solutions to be imported asynchronously.To do this, add one or more `ExecuteAsync` message requests to an `ExecuteMultiple` message request. Due to throttling restrictions that improve overall system performance, only one message running asynchronously is allowed to execute at a time for each organization.
3032

31-
For more information about the `ExecuteMultiple` message request, see [Execute multiple requests using the Organization service](execute-multiple-requests.md).
33+
For more information about the `ExecuteMultiple` message, see [Execute multiple requests using the Organization service](execute-multiple-requests.md).
3234

3335
## Example
3436

0 commit comments

Comments
 (0)