Skip to content

Commit c2e4faf

Browse files
committed
Merge branch 'master' into portals-task1630039ICM-CDN
2 parents 2db6347 + 2b391f7 commit c2e4faf

File tree

246 files changed

+2587
-948
lines changed

Some content is hidden

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

246 files changed

+2587
-948
lines changed

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "powerapps-docs/maker/canvas-apps/add-images-to-excel.md",
5+
"redirect_url": "add-images-pictures-audio-video",
6+
"redirect_document_id": "false"
7+
},
8+
{
9+
"source_path": "powerapps-docs/maker/canvas-apps/tutorial-working-with-images-in-excel.md",
10+
"redirect_url": "add-images-pictures-audio-video",
11+
"redirect_document_id": "false"
12+
},
313
{
414
"source_path": "powerapps-docs/developer/common-data-service/fill-app-submission-form-appsource.md",
515
"redirect_url": "register-microsoft-partner-network",

powerapps-docs/developer/common-data-service/best-practices/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
href: business-logic/set-timeout-for-external-calls-from-plug-ins.md
2929
- name: Use InvalidPluginExecutionException in plug-ins and workflow activities
3030
href: business-logic/use-invalidpluginexecutionexception-plugin-workflow-activities.md
31+
- name: Verify certification dependencies for plug-ins making outbound calls
32+
href: business-logic/verify-certification-dependencies.md
3133
- name: Work with data using code
3234
href: work-with-data/index.md
3335
items:

powerapps-docs/developer/common-data-service/best-practices/business-logic/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ This list below contains all of the guidance and best practices regarding the pl
2727

2828
|Best Practice |Description |
2929
|---------|---------|
30-
|[Avoid usage of batch request types in plug-ins and workflow activities](avoid-batch-requests-plugin.md) |You shouldn't use ExecuteMultipleRequest or ExecuteTransactionRequest message request classes within the context of a plug-in or workflow activity. |
30+
|[Avoid usage of batch request types in plug-ins and workflow activities](avoid-batch-requests-plugin.md)|You shouldn't use ExecuteMultipleRequest or ExecuteTransactionRequest message request classes within the context of a plug-in or workflow activity.|
3131
|[Develop IPlugin implementations as stateless](develop-iplugin-implementations-stateless.md) |Members of classes that implement IPlugin are exposed to potential thread-safety issues which could lead to data inconsistency or performance problems. |
3232
|[Do not duplicate plug-in step registration](do-not-duplicate-plugin-step-registration.md) |Duplicate plug-in step registration will cause the plug-in to fire multiple times on the same message/event. |
3333
|[Do not use parallel execution within plug-ins and workflow activities](do-not-use-parallel-execution-in-plug-ins.md)|Multi or parallel threading within plug-ins or custom workflow activities is not supported.|
@@ -39,6 +39,7 @@ This list below contains all of the guidance and best practices regarding the pl
3939
|[Set KeepAlive to false when interacting with external hosts in a plug-in](set-keepalive-false-interacting-external-hosts-plugin.md) |KeepAlive property set to true in the HTTP request header or not explicitly defined as false can cause increased execution times of plug-ins. |
4040
|[Set Timeout when making external calls in a plug-in](set-timeout-for-external-calls-from-plug-ins.md) |Limit the time period that external calls will expect a response within plug-ins.|
4141
|[Use InvalidPluginExecutionException in plug-ins and workflow activities](use-invalidpluginexecutionexception-plugin-workflow-activities.md) |Use InvalidPluginExecutionException when raising errors within the context of a plug-in or workflow activity. |
42+
|[Verify certification dependencies for plug-ins making outbound calls](verify-certification-dependencies.md)|Ensure that any certificates that your code depends on for outbound calls has a valid chain of certificates.|
4243

4344
### See Also
4445

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: "Verify certification dependencies for plug-ins making outbound calls | MicrosoftDocs"
3+
description: "Ensure that any certificates that your code depends on for outbound calls has a valid chain of certificates."
4+
services: ''
5+
suite: powerapps
6+
documentationcenter: na
7+
author: JimDaly
8+
manager: ryjones
9+
editor: ''
10+
tags: ''
11+
ms.service: powerapps
12+
ms.devlang: na
13+
ms.topic: article
14+
ms.tgt_pltfrm: na
15+
ms.workload: na
16+
ms.date: 01/08/2020
17+
ms.author: jdaly
18+
search.audienceType:
19+
- developer
20+
search.app:
21+
- PowerApps
22+
- D365CE
23+
---
24+
# Verify certification dependencies for plug-ins making outbound calls
25+
26+
**Category**: Maintainability, Supportability
27+
28+
**Impact potential**: High
29+
30+
<a name='symptoms'></a>
31+
32+
## Symptoms
33+
34+
You may get this error when your plug-in makes an https call to an external resource:
35+
36+
`WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.`
37+
38+
39+
<a name='guidance'></a>
40+
41+
## Guidance
42+
43+
You should verify that the site you want to connect with has a valid chain of certificates. Use one of the online test tools such as [Qualys SSL Labs SSL Server Test](https://www.ssllabs.com/ssltest/analyze.html) to verify that the site provides a valid chain of certificates.
44+
45+
46+
<a name='additional'></a>
47+
48+
## Additional information
49+
50+
You may encounter this when connecting to a new endpoint for the first time or when something about the certificate has changed.
51+
52+
When the code in your plug-in running in the sandbox attempts to connect to an external endpoint using https, the CDS Sandbox will start SSL/TLS negotiation. The endpoint presents a certificate to use for encryption. If the certificate has one or more intermediate certificates it must present the entire chain to successfully complete SSL/TLS negotiation. If the complete chain is not presented SSL/TLS communication cannot be established.
53+
54+
55+
56+
57+
<a name='seealso'></a>
58+
59+
### See also
60+
61+
[Write a plug-in](../../write-plug-in.md) <br />
62+
[Set KeepAlive to false when interacting with external hosts in a plug-in](set-keepalive-false-interacting-external-hosts-plugin.md)<br />
63+
[Set Timeout when making external calls in a plug-in](set-timeout-for-external-calls-from-plug-ins.md)

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ search.app:
1717
---
1818
# Data export service
1919

20-
Data Export is an add-on service made available as a Common Data Service solution that adds the ability to replicate Common Data Service data to a Microsoft Azure SQL Database store in a customer-owned Microsoft Azure subscription. The supported target destinations are Microsoft Azure SQL Database and Microsoft Azure SQL Server on Microsoft Azure virtual machines. Data Export intelligently synchronizes the entire Dynamics 365 schema and data initially and thereafter synchronizes on a continuous basis as changes occur (delta changes) in the Dynamics 365 (online) system.
20+
Data Export is an add-on service made available as a Common Data Service solution that adds the ability to replicate Common Data Service data to a Microsoft Azure SQL Database store in a customer-owned Microsoft Azure subscription. The supported target destinations are Microsoft Azure SQL Database and Microsoft Azure SQL Server on Microsoft Azure virtual machines. Data Export intelligently synchronizes the entire Common Data Service schema and data initially and thereafter synchronizes on a continuous basis as changes occur (delta changes) in Common Data Service.
2121

22-
The Data Export service provides an interface for managing configuration and ongoing administration of this service from within Common Data Service. For more information, see [Data Export](https://technet.microsoft.com/library/a70feedc-12b9-4a2d-baf0-f489cdcc177d). This topic explains the corresponding programmatic interface and issues for this service.
22+
The Data Export service provides an interface for managing configuration and ongoing administration of this service from within Common Data Service. For more information, see [Replicate data to Azure SQL Database](https://docs.microsoft.com/power-platform/admin/replicate-data-microsoft-azure-sql-database). This topic explains the corresponding programmatic interface and issues for this service.
2323

2424
## Prerequisites for using the Data Export Service
25-
Because this service requires access to an external Microsoft Azure SQL Database from Common Data Service, a number of prerequisites must be satisfied before you can successfully access this service. The following perquisites are more fully explained from an administrator's perspective in the section [Prerequisites for using Data Export Service](https://technet.microsoft.com/library/mt744592.aspx).
25+
Because this service requires access to an external Microsoft Azure SQL Database from Common Data Service, a number of prerequisites must be satisfied before you can successfully access this service. The following perquisites are more fully explained from an administrator's perspective in the section [Prerequisites for using Data Export Service](/power-platform/admin/replicate-data-microsoft-azure-sql-database#prerequisites-for-using-).
2626

27-
Your Common Data Service service must be configured so that:
27+
Your Common Data Service environment must be configured so that:
2828

2929
- The entities that will be exported are enabled with change tracking. For more information, see [Use change tracking to synchronize data with external systems](use-change-tracking-synchronize-data-external-systems.md).
3030

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,33 @@
11
---
2-
title: "Discovery Services (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3-
description: "Common Data Service Discovery service is accessed through either the Web API or the Organization Service."
2+
title: "Discovery Service (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3+
description: "Learn about access to the Discovery Service for discovering business organization instance details."
44
ms.custom: ""
5-
ms.date: 10/31/2018
6-
ms.reviewer: ""
5+
ms.date: 1/16/2019
6+
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
99
author: "JimDaly" # GitHub ID
1010
ms.author: "jdaly" # MSFT alias of Microsoft employees only
11-
manager: "ryjones" # MSFT alias of manager or PM counterpart
11+
manager: "kvivek" # MSFT alias of manager or PM counterpart
1212
search.audienceType:
1313
- developer
1414
search.app:
1515
- PowerApps
1616
- D365CE
1717
---
18-
# Discovery Services
18+
# Discovery Service
1919

2020
[!INCLUDE [cc-discovery-service-description](includes/cc-discovery-service-description.md)]
2121

22+
The Discovery Service is accessed through two different APIs:
2223

23-
A Discovery service is accessed through either the Web API or the Organization Service.
24+
- For the OData V4 RESTful API: [Discover the URL for your organization](webapi/discover-url-organization-web-api.md)
25+
- For the discovery API available through the 2011 (SOAP) endpoint: [Use the Discovery Service with the Microsoft.Xrm.Sdk.Discovery NameSpace](org-service/discovery-service.md)
2426

25-
- For the Web API: [Discover the URL for your organization using the Web API](webapi/discover-url-organization-web-api.md)
26-
- For the Organization Service: [Use the Discovery Service with the Microsoft.Xrm.Sdk.Discovery NameSpace](org-service/discovery-service.md)
27+
> [!NOTE]
28+
> The *regional* Discovery Service is deprecated. More information: [Important changes (deprecations)](/power-platform/important-changes-coming.md).
2729
2830
### See Also
2931

3032
[Use the Common Data Service Web API](webapi/overview.md)<br />
31-
[Use the Common Data Service Organization Service](org-service/overview.md)
33+
[Modify your code to use global Discovery Service](webapi/discovery-orgsdk-to-webapi.md)

powerapps-docs/developer/common-data-service/image-attributes.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,7 @@ byte[]
256256
In the above request, the next block of data is being uploaded. After all image data has been received by the web service, a thumbnail image is automatically created by the web service.
257257

258258
### See also
259-
[Sample: Set and retrieve entity images](/dynamics365/customer-engagement/developer/sample-set-retrieve-entity-images)
260259
[File attributes](file-attributes.md)
261260
[Introduction to Entities in Dynamics 365](/dynamics365/customer-engagement/developer/introduction-entities)
262-
[Introduction to entity attributes in Dynamics 365](/dynamics365/customer-engagement/developer/introduction-entity-attributes)
263-
[Sample: Set and retrieve entity images](/dynamics365/customer-engagement/developer/sample-set-retrieve-entity-images)
261+
[Introduction to entity attributes in Dynamics 365](/dynamics365/customer-engagement/developer/introduction-entity-attributes)
262+
[Sample: Set and retrieve entity images](/dynamics365/customerengagement/on-premises/developer/sample-set-retrieve-entity-images)
Loading

powerapps-docs/developer/common-data-service/org-service/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
href: page-large-result-sets-with-queryexpression.md
4444
- name: Use a left outer join in QueryExpression to query for records "not in"
4545
href: use-left-outer-join-queryexpression-query-records-not-in.md
46-
- name: Use the QueryByAttribute class
47-
href: use-querybyattribute-class.md
46+
- name: Use the QueryByAttribute class
47+
href: use-querybyattribute-class.md
4848
- name: Create entities
4949
href: entity-operations-create.md
5050
- name: Retrieve an entity

powerapps-docs/developer/common-data-service/org-service/discovery-service.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
title: "Use the Discovery Service with the SDK Assemblies (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3-
description: "Describes how to use the discovery service with the .NET SDK assemblies." # 115-145 characters including spaces. This abstract displays in the search result.
3+
description: "Describes how to use the Discovery Service with the APIs available in the SDK assemblies." # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 10/31/2018
6-
ms.reviewer: ""
5+
ms.date: 1/16/2020
6+
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
99
author: "JimDaly" # GitHub ID
1010
ms.author: "jdaly" # MSFT alias of Microsoft employees only
11-
manager: "ryjones" # MSFT alias of manager or PM counterpart
11+
manager: "kvivek" # MSFT alias of manager or PM counterpart
1212
search.audienceType:
1313
- developer
1414
search.app:
@@ -17,10 +17,14 @@ search.app:
1717
---
1818
# Use the Discovery Service with the SDK Assemblies
1919

20-
[!INCLUDE [cc-discovery-service-description](../includes/cc-discovery-service-description.md)]
20+
> [!IMPORTANT]
21+
> Effective March 2, 2020, the *regional* Discovery Service will be [deprecated](/power-platform/important-changes-coming#regional-discovery-service-is-deprecated).
22+
>
23+
> For information on how to transition to use the *global* Discovery Service, see [Modify your code to use global Discovery Service](../webapi/discovery-orgsdk-to-webapi.md).
2124
25+
[!INCLUDE [cc-discovery-service-description](../includes/cc-discovery-service-description.md)]
2226

23-
To use the discovery service using the SDK assemblies, add a reference to the `Microsoft.Xrm.Sdk.dll` assembly to your Visual Studio project, and then add a `using` statement to access the <xref:Microsoft.Xrm.Sdk.Discovery> namespace.
27+
To access the Discovery Service using the SDK assembly APIs, add a reference to the `Microsoft.Xrm.Sdk.dll` assembly in your Visual Studio project, and then add a `using` statement to access the <xref:Microsoft.Xrm.Sdk.Discovery> namespace.
2428

2529
The <xref:Microsoft.Xrm.Sdk.WebServiceClient.DiscoveryWebProxyClient> implements the <xref:Microsoft.Xrm.Sdk.Discovery.IDiscoveryService> interface.
2630

@@ -33,7 +37,7 @@ When you instantiate the <xref:Microsoft.Xrm.Sdk.WebServiceClient.DiscoveryWebPr
3337
[!INCLUDE [regional-discovery-services](../../../includes/regional-discovery-services.md)]
3438

3539
> [!NOTE]
36-
> If you do not know the user's region, you need to loop through the available regions until you get results. The Web API provides a single global discovery service. More information: [Discover the URL for your organization using the Web API](../webapi/discover-url-organization-web-api.md)
40+
> If you do not know the user's region, you need to loop through the available regions until you get results. A single global Discovery Service is also available. More information: [Discover the URL for your organization](../webapi/discover-url-organization-web-api.md)
3741
3842
## Discovery service messages
3943

@@ -160,4 +164,4 @@ Endpoints:
160164
### See also
161165

162166
[Discovery Services](../discovery-service.md)<br />
163-
[Discover the URL for your organization using the Web API](../webapi/discover-url-organization-web-api.md)
167+
[Discover the URL for your organization](../webapi/discover-url-organization-web-api.md)

0 commit comments

Comments
 (0)