Skip to content

Commit 1f1191c

Browse files
authored
Merge branch 'live' into patch-5
2 parents 37b49de + 711e0e0 commit 1f1191c

File tree

249 files changed

+1845
-647
lines changed

Some content is hidden

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

249 files changed

+1845
-647
lines changed

powerapps-docs/developer/common-data-service/best-practices/business-logic/optimize-assembly-development.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ description: "Consider merging separate plug-ins/custom workflow activities into
44
services: ''
55
suite: powerapps
66
documentationcenter: na
7-
author: jowells
8-
manager: austinj
7+
author: JimDaly
8+
manager: sunilg
99
editor: ''
1010
tags: ''
1111
ms.service: powerapps
@@ -14,7 +14,7 @@ ms.topic: article
1414
ms.tgt_pltfrm: na
1515
ms.workload: na
1616
ms.date: 1/15/2019
17-
ms.author: jowells
17+
ms.author: phecke
1818
search.audienceType:
1919
- developer
2020
search.app:
@@ -33,26 +33,30 @@ search.app:
3333

3434
When developing custom assemblies, there are a couple of considerations to take in:
3535

36+
1. Assemblies with a large number of custom workflow activities can take a long time to upload when being registered.
3637
1. Multiple different custom assemblies
3738
- Increased maintainability complexity
3839
- Potential increase plug-in execution length
40+
1. Sandbox assembly size constraint is 16 MB in Common Data Service.
3941

40-
2. Sandbox assembly size constraint is 16 MB in Common Data Service.
4142

4243
<a name='guidance'></a>
4344

4445
## Guidance
4546

46-
> [!NOTE]
47-
> Further Guidance clarification is under development regarding specific details in optimizing assembly development, such as, how to merge separate plug-ins into a single custom assembly and suggestions to minimize the assembly size.
47+
### Limit the number of Custom Workflow Activities in a Single assembly
48+
49+
When an assembly that contains custom workflow activities is uploaded during plug-in registration, additional checks are required for custom workflow activities.
50+
51+
While an assembly with hundreds of ordinary plug-in types may be uploaded very quickly, an assembly with more than 100 custom workflow activities may take several minutes or even time out when being registered or updated. We recommend including no more than 50 custom workflow activities in a single assembly.
4852

4953
### Consolidate Plug-ins or Custom Workflow Activities into a Single Assembly
5054

5155
Plug-ins and custom workflow activities developed for a Common Data Service solution should exist with others in a single Visual Studio project. Consider merging separate plug-ins/custom workflow activities into a single Visual Studio project/assembly unless the plug-ins fall into the following exceptions:
5256

5357
1. A plug-in/custom workflow activity needs to be selectively deployed to one environment but not to others.
54-
55-
2. The physical assembly size is near or greater than 16 MB for a Common Data Service instance.
58+
1. The physical assembly size is near or greater than 16 MB for a Common Data Service instance.
59+
1. There will be more than 50 custom workflow activities in the assembly, as mentioned in [Limit the number of Custom Workflow Activities in a Single assembly](#limit-the-number-of-custom-workflow-activities-in-a-single-assembly)
5660

5761

5862
### Move Plug-ins/Custom Workflow Activities into Multiple Assemblies
@@ -63,7 +67,12 @@ Power Apps and Dynamics 365 (online) has an assembly size constraint of 16 MB wh
6367

6468
## Problematic patterns
6569

70+
### Assemblies take a long time to upload when being registered
71+
72+
When a custom workflow activity type plug-in is uploaded while being registered, each type requires additional validation checking. When an assembly contains more than a hundred custom workflow activity type plug-ins, it could require several minutes to complete the checks and is at risk of timing out.
73+
6674
### Multiple assemblies
75+
6776
Having multiple assemblies has a couple of areas that can be impacted:
6877

6978
1. Performance - each assembly has a lifecycle that is managed by Common Data Service. This includes loading, caching, and unloading the assemblies. Having more than one assembly causes more work to be done on the server, loading and caching an assembly, and could affect the overall plug-in/custom workflow activity execution length.

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

Lines changed: 2 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: 03/16/2020
5+
ms.date: 06/24/2020
66
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
@@ -54,7 +54,7 @@ You should be aware of the following constraints when creating alternate keys:
5454

5555
- **Unicode characters in key value**
5656

57-
If the data within a field that is used in an alternate key will contain one of the following characters `/`,`<`,`>`,`*`,`%`,`&`,`:`,`\\` then get or patch actions will not work. If you only need uniqueness then this approach will work, but if you need to use these keys as part of data integration then it is best to create the key on fields that won't have data with those characters.
57+
If the data within a field that is used in an alternate key will contain one of the following characters `/`,`<`,`>`,`*`,`%`,`&`,`:`,`\\` then update or upsert (PATCH) actions will not work. If you only need uniqueness then this approach will work, but if you need to use these keys as part of data integration then it is best to create the key on fields that won't have data with those characters.
5858

5959
<a name="BKMK_crud"></a>
6060

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ This table lists some common commands used in the CLI:
4848
4949
|Command|Description|Examples|
5050
|------|-----------|--------|
51-
|**pcf**|Commands for working with [Power Apps component framework](/powerapps/developer/component-framework/overview). It has the following parameters: <br/> - **init**: Initializes the code component project. It has the following parameters <br/> - *namespace*: Namespace of the code component. <br/> - *name*: Name of the code component. <br/> - *template*: Field or dataset <br/> - **push**: Pushes the code component to the Common Data Service instance with all the latest changes. It has the following parameter: <br/> - *publisher-prefix*: Publisher prefix of the organization.<br/> - **Version**: Updates the component manifest file with the specified patch version. It has the following parameters: <br/> - *patchversion*: Patch version of the code component. `patchversion` will only take value of the third part of the version tuple: `Major.Minor.Patch`.<br/> - *path*: Absolute or relative path of the component manifest file.<br/> - *allmanifests*: Updates the patch version for all the component manifest files.| `pac pcf init --namespace <specify your namespace here> --name <Name of the code component> --template <component type>` <br/> <br/> `pac pcf push --publisher-prefix <your publisher prefix>` <br/><br/> `pac pcf version --patchversion <number> --path <Absolute or relative path to component manifest file --allmanifests`|
51+
|**pcf**|Commands for working with [Power Apps component framework](/powerapps/developer/component-framework/overview). It has the following parameters: <br/> - **init**: Initializes the code component project. It has the following parameters <br/> - *namespace*: Namespace of the code component. <br/> - *name*: Name of the code component. <br/> - *template*: Field or dataset <br/> - **push**: Pushes the code component to the Common Data Service instance with all the latest changes. It has the following parameter: <br/> - *publisher-prefix*: Publisher prefix of the organization.<br/> - **Version**: Updates the component manifest file with the specified patch version. It has the following parameters: <br/> - *patchversion*: Patch version of the code component. `patchversion` will only take value of the third part of the version tuple: `Major.Minor.Patch`.<br/> - *path*: Absolute or relative path of the component manifest file.<br/> - *allmanifests*: Updates the patch version for all the component manifest files. <br/> - *strategy*: Updates patch version for the manifest files using specified strategy values.| `pac pcf init --namespace <specify your namespace here> --name <Name of the code component> --template <component type>` <br/> <br/> `pac pcf push --publisher-prefix <your publisher prefix>` <br/><br/> `pac pcf version --patchversion <number> --path <Absolute or relative path to component manifest file --allmanifests` <br/><br/> `pac pcf version --strategy gittags`|
5252
|**solution**|Commands for working with [Common Data Service solution projects](/powerapps/maker/common-data-service/solutions-overview). It has the following parameters: <br/> - **init**: Initializes the solution project. It has the following parameters:<br/> - *publisher-name*: Publisher name of the organization. <br/> - *publisher-prefix*: Publisher prefix of the organization. <br/> - **add-reference**: Sets the reference path to the component project folder by passing the `path` parameter.<br/> - **clone**: Creates a solution project based up on the existing solution project by passing the following parameters:<br/> -*name*: The name of the solution to be exported.<br/> -*targetversion*: The version that the exported solution supports.<br/> -*include*: Settings that should be included in the solution being exported.<br/> -**Export**: Exports a Common Data Service solution project from the current organization. It has the following parameters:<br/> -*path*: Place where the exported solution zip file will be saved.<br/> - *name*: Name oft he solution that needs to be exported.<br/> - *managed*: Defines whether the solution should be exported as a managed solution or not.<br/>-*targetversion*: The version that the exported solution supports.<br/> -*include*: Settings that should be included in the solution being exported.|`pac solution init --publisher-name <enter your publisher name> --publisher-prefix <enter your publisher prefix>` <br/><br/> `pac solution add-reference --path <path to your Power Apps component framework project>`<br/><br/> `pac solution clone –name<name of the solution to be exported> --version <version of your solution> --include <settings that should be included>`|
5353
|**auth**|Commands to [authenticate to Common Data Service](/powerapps/developer/component-framework/import-custom-controls#connecting-to-your-environment). It has the following parameters: <br/> - **create**: Creates the authentication profile for your organization by passing the `url` parameter. Pass the organization url for the `url` parameter. <br/> - **list**: Provides the list of authentication profiles. <br/> - **select**: Provides a way to switch between previously created authentication profiles by passing the `index` parameter.<br/>**delete**: Deletes the authentication profile created by passing the `index` parameter.|`pac auth create --url <your Common Data Service org’s url>` <br/> <br/> `pac auth list` <br/><br/> `Pac auth select --index <index of the active profile>`|
5454
|**telemetry**|Manages the telemetry settings. It has the following parameters: <br/>- *enable*: Enables the telemetry option.<br/> - *disable*: Disables the telemetry option.<br/> - *status*: Returns whether the telemetry is enabled or disabled.|`pac telemetry enable` <br/><br/> `pac telemetry disable`|

powerapps-docs/developer/common-data-service/upload-manage-document-templates.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
title: "<Topic Title> (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3-
description: "<Description>" # 115-145 characters including spaces. This abstract displays in the search result.
2+
title: "Upload and manage document templates (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3+
description: "In Common Data Service, the *template* entities help you create consistent layout and content in email messages, articles, mail merge documents, and Microsoft Office documents (Excel and Word)."
44
ms.custom: ""
5-
ms.date: 10/31/2018
5+
ms.date: 06/19/2020
66
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
@@ -33,4 +33,4 @@ These are the types of template entites:
3333
- [KbArticleTemplate](reference/entities/kbarticletemplate.md)
3434
- [MailMergeTemplate](reference/entities/mailmergetemplate.md)
3535
- [PersonalDocumentTemplate](reference/entities/personaldocumenttemplate.md)
36-
- [Template](reference/entities/template.md)
36+
- [Template](reference/entities/template.md)

powerapps-docs/developer/common-data-service/virtual-entities/api-considerations-ve.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
22
title: "API considerations of virtual entities (Common Data Service) | Microsoft Docs"
33
description: "Describes API considerations of virtual entities"
4-
ms.date: 10/31/2018
4+
ms.date: 06/24/2020
55
ms.service: powerapps
66
ms.topic: "article"
77
applies_to:
88
- "Dynamics 365 (online)"
99
ms.assetid: d329dade-16c5-46e9-8dec-4b8efb996dea
10-
author: "mayadumesh" # GitHub ID
11-
ms.author: "jdaly"
12-
manager: "annbe"
10+
author: "Sunil-Garg" # GitHub ID
11+
ms.author: "pehecke"
12+
manager: "ryjones"
1313
search.audienceType:
1414
- developer
1515
search.app:

powerapps-docs/developer/common-data-service/virtual-entities/custom-ve-data-providers.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
22
title: "Custom virtual entity data providers (Common Data Service) | Microsoft Docs"
33
description: "Using the Common Data Service Data SDK, .NET Developers have the option of creating custom virtual entity data providers to help integrate external data source types that are not supported by an existing data provider."
4-
ms.date: 09/05/2019
4+
ms.date: 06/24/2020
55
ms.service: powerapps
66
ms.topic: "article"
77
applies_to:
88
- "Dynamics 365 (online)"
99
ms.assetid: d329dade-16c5-46e9-8dec-4b8efb996d22
10-
author: "mayadumesh" # GitHub ID
11-
ms.author: "jdaly"
12-
manager: "annbe"
10+
author: "Sunil-Garg" # GitHub ID
11+
ms.author: "pehecke"
12+
manager: "ryjones"
1313
search.audienceType:
1414
- developer
1515
search.app:

powerapps-docs/developer/common-data-service/virtual-entities/get-started-ve.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
22
title: "Get started with virtual entities (Common Data Service) | Microsoft Docs"
33
description: "Virtual entities enable the integration of data residing in external systems by seamlessly representing that data as entities in Common Data Service, without replication of data and often without custom coding."
4-
ms.date: 10/31/2018
4+
ms.date: 06/24/2020
55
ms.service: powerapps
66
ms.topic: "get-started-article"
77
applies_to:
88
- "Dynamics 365 (online)"
99
ms.assetid: 14c5fbbc-98db-4e49-b245-2c84c1cd11cd
10-
author: "mayadumesh" # GitHub ID
11-
ms.author: "jdaly"
12-
manager: "annbe"
10+
author: "Sunil-Garg" # GitHub ID
11+
ms.author: "pehecke"
12+
manager: "ryjones"
1313
search.audienceType:
1414
- developer
1515
search.app:

powerapps-docs/developer/common-data-service/virtual-entities/sample-generic-ve-plugin.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Sample: Generic virtual entity data provider plug-in (Common Data Service) | Microsoft Docs"
33
description: "Sample demonstrates how to implement a generic custom Dynamics 365 virtual entity plug-in."
44
ms.custom: ""
5-
ms.date: 10/31/2018
5+
ms.date: 06/24/2020
66
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.suite: ""
@@ -11,9 +11,9 @@ ms.topic: "samples"
1111
applies_to:
1212
- "Dynamics 365 (online)"
1313
ms.assetid: d329dade-16c5-46e9-8dec-4b8efb996d24
14-
author: "mayadumesh" # GitHub ID
15-
ms.author: "jdaly"
16-
manager: "annbe"
14+
author: "Sunil-Garg" # GitHub ID
15+
ms.author: "pehecke"
16+
manager: "ryjones"
1717
search.audienceType:
1818
- developer
1919
search.app:

powerapps-docs/developer/common-data-service/webapi/perform-conditional-operations-using-web-api.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Perform conditional operations using the Web API (Common Data Service)| Microsoft Docs"
33
description: "Read how to create conditions that decide whether and how to perform certain operations using the Web API"
44
ms.custom: ""
5-
ms.date: 04/06/2020
5+
ms.date: 06/19/2020
66
ms.service: powerapps
77
ms.suite: ""
88
ms.tgt_pltfrm: ""
@@ -79,6 +79,12 @@ GET [Organization URI]/api/data/v9.0/EntityDefinitions(LogicalName='<Entity Logi
7979
### Query must not include $expand
8080

8181
The Etag can only detect if the single record that is being retrieved has changed. When you use `$expand` in your query, additional records may be returned and it is not possible to detect whether or not any of those records have changed. If the query includes `$expand` it will never return `304 Not Modified`.
82+
83+
### Query must not include annotations
84+
85+
When the `Prefer: odata.include-annotations` header is included with a `GET` request it will never return `304 Not Modified`. The values of annotations can refer to values from related records. These records may have changed and this change could not be detected, so it would be incorrect to indicate that nothing has changed.
86+
87+
8288

8389
<a name="bkmk_limitUpsertOperations"></a>
8490

powerapps-docs/developer/component-framework/manifest-schema-reference/feature-usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.assetid: 87f5e921-4114-4710-a362-db741426a69b
1515

1616
# feature-usage element
1717

18-
The feature-usage element acts as a wrapper around the `uses-feature` elements, which themselves allow developers to declare which features their component wants to use. If there are no uses-feature elements defined, the feature-usage element is not required.
18+
[!INCLUDE [feature-usage-description](includes/feature-usage-description.md)]
1919

2020
## Available for
2121

0 commit comments

Comments
 (0)