Skip to content

Commit 9c20bca

Browse files
authored
Merge branch 'live' into patch-3
2 parents 3fd9c6a + e1adf50 commit 9c20bca

File tree

74 files changed

+364
-293
lines changed

Some content is hidden

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

74 files changed

+364
-293
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "powerapps-docs/user/use-custom-model-driven-app-on-mobile.md",
5+
"redirect_url": "../mobile/use-custom-model-driven-app-on-mobile",
6+
"redirect_document_id": "false"
7+
},
38
{
49
"source_path": "powerapps-docs/maker/troubleshooting-startup-issues.md",
510
"redirect_url": "../troubleshooting-startup-issues",

powerapps-docs/developer/common-data-service/auditing-overview.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ ms.date: 10/31/2018
66
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
9-
author: "paulliew" # GitHub ID
10-
ms.author: "jdaly" # MSFT alias of Microsoft employees only
11-
manager: "ryjones" # MSFT alias of manager or PM counterpart
9+
author: "Bluebear73" # GitHub ID
10+
ms.author: "munzinge" # MSFT alias of Microsoft employees only
11+
manager: "mayadu" # MSFT alias of manager or PM counterpart
1212
search.audienceType:
1313
- developer
1414
search.app:

powerapps-docs/developer/common-data-service/isv-app-usage-analytics.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ App usage feature allows ISVs to filter the usage data by **Component Type**, **
4343
Some of the components of a solution can have shared ownership by multiple ISVs. For shared components, only the publisher who created the component gets the usage credit. For example, ISV1 created a form and ISV2 extends the form by adding a widget to it. Every time the form is used, ISV1 gets the usage credit and ISV2 gets the usage credit whenever the widget is used. If a user visited the form only to access the widget, ISV1 also gets the usage credit.
4444

4545
For components that are not shared, only the publisher who created gets the usage credit.
46-
46+
4747
## View the app usage dashboard
4848

4949
To view the app usage data:
@@ -55,7 +55,7 @@ To view the app usage data:
5555
> [!div class="mx-imgBorder"]
5656
> ![List of top apps](media/isv-top-apps.png "List of top apps")
5757
58-
1. You can also see the app usage details by directly selecting the app usage icon from the list of apps as shown screenshot:
58+
1. You can also see the app usage details by directly selecting the app usage icon from the list of apps as shown in the screenshot:
5959

6060
> [!div class="mx-imgBorder"]
6161
> ![Usage icon](media/isv-select-app-to-see-details.png "Usage icon")
@@ -71,7 +71,7 @@ The usage dashboard shows the following metrics:
7171
- **Monthly active users by component type**: Tracks the information about the number of monthly active users filtered by component type.
7272
- **Monthly active users by component name**: Tracks the information about the number of monthly active users filtered by component name.
7373

74-
If ISV is looking at the metrics at a solution level, all the components are rolled up to the solution level. Similarly, all the solution metrics are rolled up to package and all package metrics are rolled up to an app.
74+
If ISV is looking at the metrics at a solution level, all the components are rolled up to the solution level. Similarly, all the solution metrics are rolled up to package and all package metrics are rolled up to an app.
7575

7676
### Filtering the usage dashboard
7777

Loading

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ contact.EMailAddress1 = “[email protected]”;
144144

145145
When creating a new entity record, you add the object to the organization service context by using the <xref:Microsoft.Xrm.Sdk.Client.OrganizationServiceContext.AddObject(Microsoft.Xrm.Sdk.Entity)>. method.
146146

147-
The following sample shows how to instantiate and save a new contact record by using the entity data model. It also demonstrates how tp access a custom attribute.
147+
The following sample shows how to instantiate and save a new contact record by using the entity data model. It also demonstrates how to access a custom attribute.
148148

149149
```csharp
150150
OrganizationServiceContext orgContext =new OrganizationServiceContext(svc);
@@ -198,4 +198,4 @@ To delete an entity record, the organization service context must be tracking th
198198
[LINQ query examples using OrganizationServiceContext with Common Data Service](linq-query-examples.md)<br />
199199
[Generate classes for early-bound programming using the Organization service](generate-early-bound-classes.md)<br />
200200
<xref:Microsoft.Xrm.Sdk.IOrganizationService><br />
201-
<xref:Microsoft.Xrm.Sdk.Client.OrganizationServiceContext>
201+
<xref:Microsoft.Xrm.Sdk.Client.OrganizationServiceContext>

powerapps-docs/developer/common-data-service/retrieve-and-delete-the-history-of-audited-data-changes.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
title: "Retrieve and delete the history of audited data changes (Common Data Service) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "Programmatically retrieve the audit change history or delete audit records." # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 10/31/2018
5+
ms.date: 10/14/2020
66
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
9-
author: "paulliew" # GitHub ID
10-
ms.author: "jdaly" # MSFT alias of Microsoft employees only
11-
manager: "ryjones" # MSFT alias of manager or PM counterpart
9+
author: "Bluebear73" # GitHub ID
10+
ms.author: "munzinge" # MSFT alias of Microsoft employees only
11+
manager: "mayadu" # MSFT alias of manager or PM counterpart
1212
search.audienceType:
1313
- developer
1414
search.app:
@@ -19,12 +19,17 @@ search.app:
1919

2020
After auditing is enabled and data changes are made to those entities and attributes being audited, you can proceed to obtain the data change history. Optionally, you can delete the audit records after you review the change history. Follow the sample code link at the end of this topic for more information.
2121

22-
## Retrieve the change history
23-
22+
## Retrieve the change history
23+
2424
There are several messages requests that can be used to retrieve the audit change history. These requests are differentiated by the nature of what they retrieve.
2525
<!-- Bug 696490 should make the Audit entity public again: Refer to the topic [Audit Entity](entities/audit.md) for a list of message requests related to auditing. -->
2626
Refer to the sample link at the end of this topic for sample code that demonstrates some of these change history message requests.
2727

28+
> [!IMPORTANT]
29+
> Large attribute values, such as [Email.Description](reference/entities/email.md#BKMK_Description) or [Annotation](reference/entities/annotation.md) are limited (capped) to 5KB or ~5,000 characters in length. A capped attribute value can be recognized by three dots at the end of the text, for example “lorem ipsum, lorem ip…”.
30+
>
31+
> Going forward, [Audit](reference/entities/audit.md) entity records will be stored in Common Data Service’s log storage. Linking audit records with other entity records using FetchXML will no longer be possible.
32+
2833
## Delete the change history for a record
2934

3035
Use the <xref:Microsoft.Crm.Sdk.Messages.DeleteRecordChangeHistoryRequest> message to delete all the audit change history records for a particular record. This lets you delete the audit change history for a record instead of deleting all the audit records for a date range, which is covered in the next section. To delete the audit change history for a record, you must have a security role with the **prvDeleteRecordChangeHistory** privilege or be a System Administrator.

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
href: query-data-web-api.md
3333
- name: Retrieve related entities with query
3434
href: retrieve-related-entities-query.md
35-
- name: Relevance search, suggestions, and autocomplete
36-
href: relevance-search.md
3735
- name: Retrieve and execute predefined queries
3836
href: retrieve-and-execute-predefined-queries.md
3937
- name: Create an entity
@@ -82,6 +80,10 @@
8280
href: use-postman-perform-operations.md
8381
- name: Client-side JavaScript using Web API in model-driven apps
8482
href: get-started-web-api-client-side-javascript.md
83+
- name: Web API versions and limitations
84+
href: web-api-versions.md
85+
- name: Relevance search, suggestions, and autocomplete
86+
href: relevance-search.md
8587
- name: Discover the URL for your organization
8688
items:
8789
- name: Get started
@@ -90,9 +92,5 @@
9092
href: discovery-orgsdk-to-webapi.md
9193
- name: Global Discovery Service Sample (C#)
9294
href: samples/global-discovery-service-csharp.md
93-
- name: Web API versions and limitations
94-
href: web-api-versions.md
95-
- name: Sample data
96-
href: ../sample-data.md #Topic is for both Web API and Organization service
9795
- name: Samples
9896
href: samples/toc.yml

powerapps-docs/developer/model-driven-apps/clientapi/client-scripting-best-practices.md

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ search.app:
1717
---
1818
# Best practices: Client scripting in model-driven apps
1919

20-
These are some of the best practice tips you could consider while writing your JavaScript code for model-driven apps.
20+
The following are some of the tips you could consider while writing your JavaScript code for model-driven apps.
2121

2222
## Define unique JavaScript function names
2323

@@ -26,35 +26,33 @@ When you write functions that will be used in JavaScript libraries, your functio
2626
- **Unique function prefix**: Define each of your functions using the standard syntax with a consistent name that includes a unique naming convention, as shown in the following example.
2727
```JavaScript
2828
function MyUniqueName_performMyAction()
29-
{
30-
// Code to perform your action.
31-
}
29+
{
30+
// Code to perform your action.
31+
}
3232
```
3333
- **Namespaced library names**: Associate each of your functions with a JavaScript object to create a kind of namespace to use when you call your functions as shown in the following example.
3434
```JavaScript
35-
//If the MyUniqueName namespace object isn’t defined, create it.
36-
if (typeof (MyUniqueName) == "undefined")
37-
{ MyUniqueName = {}; }
38-
// Create Namespace container for functions in this library;
39-
MyUniqueName.MyFunctions = {
40-
performMyAction: function(){
41-
// Code to perform your action.
42-
//Call another function in your library
43-
this.anotherAction();
44-
},
45-
anotherAction: function(){
46-
// Code in another function
47-
}
48-
};
35+
var Sdk = window.Sdk || {};
36+
(function () {
37+
this.formOnLoad = function () {
38+
// Code to perform your actions.
39+
}
40+
this.attributeOnChange = function () {
41+
// Code to perform your actions.
42+
}
43+
this.formOnSave = function () {
44+
// Display an alert dialog
45+
}
46+
}). call(Sdk);
4947
```
5048

5149
Then when you use your function you can specify the full name. The following example shows this.
5250

5351
```JavaScript
54-
MyUniqueName.MyFunctions.performMyAction();
52+
Sdk.attributeOnChange();
5553
```
5654

57-
If you call a function within another function you can use the this keyword as a shortcut to the object that contains both functions. However, if your function is being used as an event handler, the this keyword will refer to the object that the event is occurring on.
55+
If you call a function within another function, you can use this keyword as a shortcut to the object that contains both functions. However, if your function is being used as an event handler, this keyword will refer to the object that the event is occurring on.
5856

5957
## Avoid using unsupported methods
6058

@@ -73,4 +71,4 @@ If you decide to use the remaining capabilities of jQuery that are useful with m
7371

7472
## Write your code for multiple browsers
7573

76-
Model-driven apps support multiple browsers. You should make sure that any scripts that you use will work with all supported browsers. Most of the significant differences between Internet Explorer and other browser have to do with HTML and XML DOM manipulation. Because HTML DOM manipulation is not supported, if script logic is only performing supported actions and using the [Xrm object model](understand-clientapi-object-model.md), the changes required to support other browsers could be small.
74+
Model-driven apps support multiple browsers. Make sure that any scripts that you use will work with all supported browsers. Most of the significant differences between Internet Explorer and other browser have to do with HTML and XML DOM manipulation. Because HTML DOM manipulation is not supported, if script logic is only performing supported actions and using the [Xrm object model](understand-clientapi-object-model.md), the changes required to support other browsers could be small.

powerapps-docs/developer/model-driven-apps/define-custom-actions-modify-ribbon.md

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Define custom actions to modify the ribbon (model-driven apps) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces"
33
description: "Learn about defining custom actions to modify the ribbon." # 115-145 characters including spaces. This abstract displays in the search result."
44
keywords: ""
5-
ms.date: 10/31/2018
5+
ms.date: 10/13/2020
66
ms.service: powerapps
77
ms.topic: article
88
ms.assetid: 72544b02-4eed-4d70-666e-a0d880f526af
@@ -19,8 +19,6 @@ search.app:
1919

2020
# Define custom actions to modify the ribbon
2121

22-
<!-- https://docs.microsoft.com/dynamics365/customer-engagement/developer/customize-dev/define-custom-actions-modify-ribbon -->
23-
2422
The default, an application command bar or ribbon is defined by Common Data Service metadata. This default data can’t be changed, but you can include definitions of specific actions that will override the default ribbon.
2523

2624
## Types of custom actions
@@ -49,18 +47,36 @@ The default, an application command bar or ribbon is defined by Common Data Serv
4947
### Hide custom actions
5048

5149
A `<HideCustomAction>` is a statement that you use when you want to remove an existing ribbon element so that it is not rendered. This does not hide the ribbon element, it actually removes the ribbon element at runtime so that it doesn’t exist in the ribbon.
50+
51+
The **HideActionId** element provides a unique ID for the action. For consistency and readability, you should follow the same naming convention described for `<CustomAction>` elements. The **Location** attribute must match the Id of the ribbon element you want to remove.
5252

5353
> [!NOTE]
5454
> Because the `HideCustomAction` element removes a specified node from the ribbon, removing ribbon elements in this manner may not be the best option for every situation.
5555
>
5656
> - If you want to remove a button that is associated with a specific privilege, you should adjust the privileges for the entity in the security roles in your implementation. This will allow the default ribbon display and enables rules to hide or disable ribbon elements from users who do not have the necessary privileges to perform those actions.
5757
> - If you want to replace an existing ribbon element with a custom ribbon element, you can overwrite that element by specifying a `CustomAction.Location` value identical to the existing element.
58+
> - To remove the `HideCustomAction` element you need to create a new updated version of the same solution that installed the `HideCustomAction` element. A new patch of the solution cannot remove the `HideCustomAction` element.
59+
60+
The `HideCustomAction` element cannot be removed, once added, except by creating a new updated solution. Instead, ribbon buttons should be hidden using a `DisplayRule` element that always evaluate to false. Having both `Mscrm.HideOnModern` and `Mscrm.ShowOnlyOnModern` would always evaluate to false. For example, to hide a deactivate button:
61+
62+
```xml
63+
<CommandDefinition Id="Mscrm.HomepageGrid.Deactivate">
64+
<EnableRules>
65+
</EnableRules>
66+
<DisplayRules>
67+
<DisplayRule Id="Mscrm.HideOnModern" />
68+
<DisplayRule Id="Mscrm.ShowOnlyOnModern" />
69+
</DisplayRules>
70+
<Actions>
71+
</Actions>
72+
</CommandDefinition>
73+
```
5874

59-
The **HideActionId** element provides a unique ID for the action. For consistency and readability, you should follow the same naming convention described for `<CustomAction>` elements. The **Location** attribute must match the Id of the ribbon element you want to remove.
75+
6076

6177
### See also
6278

63-
[Customize commands and the ribbon](customize-commands-ribbon.md)
64-
[Pass data from a page as a parameter to Ribbon actions](/dynamics365/customerengagement/on-premises/developer/customize-dev/pass-dynamics-365-data-page-parameter-ribbon-actions
79+
[Customize commands and the ribbon](customize-commands-ribbon.md)
80+
[Pass data from a page as a parameter to Ribbon actions](/dynamics365/customerengagement/on-premises/developer/customize-dev/pass-dynamics-365-data-page-parameter-ribbon-actions
6581
)<br/>
66-
[Define scaling for Ribbon elements](define-scaling-ribbon-elements.md)
82+
[Define scaling for Ribbon elements](define-scaling-ribbon-elements.md)

powerapps-docs/maker/TOC.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
items:
3030
- name: In a browser
3131
href: ../user/run-app-browser.md
32-
- name: On a phone
32+
- name: On a mobile device
3333
href: ../user/run-canvas-and-model-apps-on-mobile.md
3434
- name: On a SharePoint Online page (canvas apps)
3535
href: ../user/powerapps-web-part.md
@@ -165,9 +165,7 @@
165165
href: ../user/work-with-business-processes.md
166166
- name: Use flows
167167
href: ../user/use-flows.md
168-
- name: Use model-driven apps on mobile
169-
href: ../user/use-custom-model-driven-app-on-mobile.md
170-
- name: 'Use Dynamics 365 App for Outlook'
168+
- name: Use Dynamics 365 App for Outlook
171169
href: ../user/use-outlook-app.md
172170
- name: Create apps
173171
items:
@@ -1267,6 +1265,13 @@
12671265
href: ../developer/model-driven-apps/overview.md
12681266
# href: ../developer/model-driven-apps/TOC.yml For authoring I find having developer content buried so deep is awkward
12691267

1268+
- name: Power Apps mobile
1269+
items:
1270+
- name: Run apps on Power Apps mobile
1271+
href: ../mobile/run-powerapps-on-mobile.md
1272+
- name: Use model-driven apps on mobile
1273+
href: ../mobile/use-custom-model-driven-app-on-mobile.md
1274+
12701275
- name: Portals
12711276
items:
12721277
- name: Portals

0 commit comments

Comments
 (0)