Skip to content

Commit 756b11b

Browse files
authored
Merge branch 'live' into shubham1172/time-zone-entities
2 parents c05661a + 4574fe0 commit 756b11b

11 files changed

+146
-22
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ These are the localizable values that are used to refer to the attributes in an
6262
The `AttributeTypeName` property describes the type of an attribute. This property contains a value of type `AttributeTypeDisplayName` which provides a label for each the different types of attributes that exist.
6363

6464
> [!NOTE]
65-
> Don't be confused by the `AttributeType` property. The values in this older property are mostly aligned with `AttributeTypeName` except that it shows `ImageType` attributes as `Virtual`. You should refer to the `AttributeTypeName` property rather than the `AttributeType` property.
65+
> Don't be confused by the [AttributeType](/dotnet/api/microsoft.xrm.sdk.metadata.attributemetadata.attributetype#Microsoft_Xrm_Sdk_Metadata_AttributeMetadata_AttributeType) property. The values in this older property are mostly aligned with [AttributeTypeName](/dotnet/api/microsoft.xrm.sdk.metadata.attributemetadata.attributetypename#Microsoft_Xrm_Sdk_Metadata_AttributeMetadata_AttributeTypeName) except that it shows `ImageAttributeMetadata` and `MultiSelectPicklistAttributeMetadata` as `Virtual`. Refer to the `AttributeTypeName` property rather than the `AttributeType` property.
6666
6767
In the following table:
6868

powerapps-docs/developer/common-data-service/use-webhooks.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,6 @@ The body will contain string that represents the JSON value of an instance of th
8888

8989
The service you create must parse this data to extract the relevant items of information for your service to provide its function. How you choose to parse this data depends on the technology you are using and your preferences.
9090

91-
> [!IMPORTANT]
92-
> Due to certain Service Bus optimizations, it is not recommended that .NET developers deserialize the JSON formatted message request body to a <xref:Microsoft.Xrm.Sdk.RemoteExecutionContext> object. Rather, use [JObject](https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_Linq_JObject.htm) to parse the message body.
93-
9491
The following is an example of the serialized JSON data passed for a step registered with the following properties:
9592

9693

powerapps-docs/maker/TOC.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1685,10 +1685,14 @@
16851685
href: ./common-data-service/view-component-dependencies.md
16861686
- name: Use environment variables
16871687
href: ./common-data-service/EnvironmentVariables.md
1688-
- name: Translate customized entity and field text
1689-
href: ./common-data-service/export-customized-entity-field-text-translation.md
1690-
- name: Import translated entity and field text
1691-
href: ./common-data-service/import-translated-entity-field-text.md
1688+
- name: Translate customized component text
1689+
items:
1690+
- name: Overview
1691+
href: ./common-data-service/translate-entity-label-text.md
1692+
- name: Export customized component text for translation
1693+
href: ./common-data-service/export-customized-entity-field-text-translation.md
1694+
- name: Import translated component text
1695+
href: ./common-data-service/import-translated-entity-field-text.md
16921696
- name: Use solution checker
16931697
href: ./common-data-service/use-powerapps-checker.md
16941698
items:

powerapps-docs/maker/common-data-service/export-customized-entity-field-text-translation.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Export customized entity and field text for translation with Power Apps | MicrosoftDocs"
33
description: "Learn how to export entity and field text for translation"
44
ms.custom: ""
5-
ms.date: 06/15/2020
5+
ms.date: 08/05/2020
66
ms.reviewer: ""
77
ms.service: powerapps
88
ms.suite: ""
@@ -23,16 +23,31 @@ search.app:
2323
- PowerApps
2424
- D365CE
2525
---
26-
# Translate customized entity and field text into other languages
26+
# Translate customized entity, form, and field text into other languages
2727
After you create customized entity and field text in your unmanaged solution, you may want to translate it into other languages.
28+
29+
> [!IMPORTANT]
30+
> When you export translations, the export translations feature exports translations for the entity. So, that means even if the solution contains only a single form, labels for all the forms for the entity will be exported. Make sure you only modify the form's labels when importing the translations back otherwise another component translation you modify will be added as a dependency to the solution.
2831
2932
1. Sign into [Power Apps](https://make.powerapps.com/?utm_source=padocs&utm_medium=linkinadoc&utm_campaign=referralsfromdoc) and select **Solutions** from the left navigation.
3033

3134
2. Select the unmanaged solution you want, on the command bar select ****, select **Translations**, and then select **Export translations**.
3235

3336
3. After the export completes the exported translations compressed (zip) file is downloaded to your browser’s default download folder and contains the exported labels.
3437

35-
4. Extract the XML file from the compressed (.zip) file and translate it.
38+
4. Extract the XML file from the compressed (.zip) file.
39+
40+
5. Open the CrmTranslations.xml file in Excel.
41+
42+
6. Select the sheet named **Localized Labels**.
43+
44+
7. Notice there is already a column with the base language code id, such as 1033 (English U.S.) Add a column with the language code id for every language you want to translate labels. For example, add a column for 1034 (Spanish traditional).
45+
46+
8. Add the translated text in the new column for the object names and object ids that you want.
47+
> [!div class="mx-imgBorder"]
48+
> ![Translated text in Excel file](media/translated-entity-label-text.png)
49+
50+
9. When you're finished adding your translations, save, and zip up the package so you can [Import translated entity and field text](import-translated-entity-field-text.md).
3651

3752
## Community tools
3853

powerapps-docs/maker/common-data-service/import-translated-entity-field-text.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ search.app:
2323
- PowerApps
2424
- D365CE
2525
---
26-
# Import translated entity and field text back into an app
26+
# Import translated entity, form, and field text back into an app
2727

2828
If you have customized entity or field text, such as field labels or drop-down list values, you can provide the users in your organization who are not working with the base language version of your environment with this customized text in their own languages. To do so, you export the text strings for all your customizations so that they can be translated into the languages you use in your organization.
2929

powerapps-docs/maker/common-data-service/import-update-export-solutions.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Import solutions | MicrosoftDocs"
33
description: "Learn how to import a solution in Power Apps"
44
ms.custom: ""
5-
ms.date: 05/26/2020
5+
ms.date: 08/06/2020
66
ms.reviewer: ""
77
ms.service: powerapps
88
ms.topic: "article"
@@ -54,11 +54,28 @@ To import a solution:
5454
When you download the log file, you will find an XML file that you can open using Office Excel to view the contents.
5555

5656
> [!NOTE]
57-
> You can’t edit an active routing rule set. Therefore, if you’re importing a solution that includes an active routing rule set into an environment where the rule already exists with the same ID, the import will fail. More information: [Create rules to automatically route cases](https://docs.microsoft.com/dynamics365/customer-engagement/customer-service/create-rules-automatically-route-cases)
57+
> You can’t edit an active routing rule set. Therefore, if you’re importing a solution that includes an active routing rule set into an environment where the rule already exists with the same ID, the import will fail. More information: [Create rules to automatically route cases](https://docs.microsoft.com/dynamics365/customer-engagement/customer-service/create-rules-automatically-route-cases)
5858
59-
<a name="BKMK_UpdateSolutions"></a>
59+
## Troubleshooting solution import
60+
61+
### There's an active unmanaged layer created after importing a managed solution
62+
63+
During solution import the system must ensure that there is a fallback form for an entity. This requirement is enforced on the customization settings when you create entities or forms. But, if for some reason, an import is causing a scenario where there's no fallback form for an entity, then the import will create an active unmanaged layer for one of the main forms and the unmanaged customization will configure the form as the fallback. This makes sure that users who don't have access to any of the forms for an entity can view the fallback form. More information: [Set the fallback form for an entity](../model-driven-apps/control-access-forms.md#set-the-fallback-form-for-an-entity)
64+
65+
### Form doesn't appear in target environment after importing unmanaged solution
66+
67+
During export of unmanaged solutions some forms which are not modified get exported with the attribute `unmodified=1` for the form XML in the customizations.xml file located in the solution package. This ensures that, while these forms are part of the solution exported, when the same solution is imported in a new environment these forms are skipped during the import. To avoid this scenario the form needs to have active customizations for it to be exported without the unmodified=1 attribute. You can determine whether the form XML has the unmodified=1 attribute by extracting the exported solution. Then, search customizations.xml for the form and check for the unmodified attribute.
68+
69+
### *Microsoft.Crm.CrmInvalidOperationException: full formXml is expected to create a form <formid>* message during solution import
70+
71+
This error can occur when the form you are importing doesn't exist in the target environment and the form that you're trying to import doesn't have the full component and metadata. Subsequently, the form XML only contains the changes when the full form XML is required. For example, this error can occur when you add a custom entity to a solution and don't select the **Include all components** option before export (also known as a segmented solution). To verify if the solution is segmented, open the customizations.xml file in the solution and search for the form id displayed in the error message. If the form XML contains an attribute named `solutionaction` the form XML doesn't include all components but only has changes to the form. To resolve this issue, include all components when you add the entity to your solution. More information: [Use segmented solutions](/power-platform/alm/segmented-solutions-alm)
72+
73+
### *Microsoft.Crm.CrmException: You cannot delete this form because it is the only fallback form of type main for the 'Entity' entity. Each entity must have at least one fallback form for each form type* message during solution upgrade or uninstall
74+
75+
The underlying cause of this error is due to trying to delete the last remaining form for an entity during a solution upgrade or uninstall. This behavior is by design. Each entity must be able to display a form for any user, at least one form must be designated as a fallback form. A fallback form is visible to users whose security roles do not have any forms explicitly assigned to them. The solution uninstall or upgrade may be causing the removal of the fallback form. To workaround this issue, create a temporary form configured as the fallback form for the entity, and then try the upgrade or uninstall again. More information: [Set the fallback form for an entity](../model-driven-apps/control-access-forms.md#set-the-fallback-form-for-an-entity)
6076

6177
### See also
78+
6279
[Update solutions](update-solutions.md) <br />
6380
[Export solutions](export-solutions.md) <br />
6481
[Publish changes](create-solution.md#publish-changes) <br />
Loading
Loading

powerapps-docs/maker/common-data-service/solution-layers.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Solution layers | MicrosoftDocs"
33
description: "Learn how you can use solution layers"
44
keywords:
5-
ms.date: 03/13/2020
5+
ms.date: 08/05/2020
66
ms.service: powerapps
77
ms.custom:
88
ms.topic: article
@@ -36,14 +36,14 @@ When you prepare your managed solution for distribution, remember that an enviro
3636
The processes that Common Data Service uses to merge customizations emphasize maintaining the functionality of the solution. While every effort is made to preserve the presentation, some incompatibilities between customizations may require that the computed resolution will change some presentation details in favor of maintaining the customization functionality. More information: [Understand how managed solutions are merged](../../developer/common-data-service/understand-managed-solutions-merged.md)
3737

3838
## View the solution layers for a component
39-
The solution layers feature allows you to view all component changes that occur due to solution changes over time. Within a solution layer, you can drill down to view specific changed and unchanged property details for a component. You can access solution layers from the **Components** list or from the **Dependency Details** dialog box in solution explorer.
39+
The see solution layers feature allows you to view all component changes that occur due to solution changes over time. Within a solution layer, you can drill down to view specific changed and unchanged property details for a component. You can access solution layers from the **Solutions** area in Power Apps.
4040

41-
The solution layers feature:
41+
The see solution layers feature:
4242
- Lets you see the order in which a solution changed a component.
4343
- Lets you view all properties of a component within a specific solution, including the changes to the component.
4444
- Can be used to troubleshoot dependency or solution-layering issues by displaying change details for a component that was introduced by a solution change.
4545

46-
1. To view solution layers from the **Components** list, open [solution explorer](../model-driven-apps/advanced-navigation.md#solution-explorer). In the **Components** list, select a component, such as **Account**, and then select **Solution Layers** on the toolbar.
46+
1. Sign in to Power Apps, select **Solutions**, open the solution you want, select **...** next to a component, such as **Account**, and then select **See solution layers**.
4747

4848
> [!div class="mx-imgBorder"]
4949
> ![Solution layers button](media/solution-layers-toolbar.png "Solution layers button")
@@ -68,6 +68,29 @@ The solution layers feature:
6868
6969
Select a label to see its full layering.
7070

71+
There are additional tabs available for specific component solution layers.
72+
73+
|Tab name |Description |Possible value |
74+
|---------|---------|---------|
75+
|RolePrivileges | Displays the privileges for a security role. | Added, Updated, Removed, Unchanged |
76+
|AttributePicklistValues (optionset) | When selected for a global optionset, displays the possible values for an optionset. | Added, Updated, Removed, Unchanged |
77+
|AttributePicklistValues (optionset attribute) | When selected for an optionset attribute, displays the values for the attribute. | Added, Updated, Removed, Unchanged |
78+
79+
<!--## Remove an unmanaged layer
80+
Unmanaged customizations reside at the top layer for a component and subsequently define the runtime behavior of the component. In most situations you don't want unmanaged customizations determining the behavior of your components. To remove the unmanaged layer for a component, follow these steps:
81+
82+
[!IMPORTANT]
83+
> Removing active unmanaged customizations can't be reversed or undone. All data associated with the unmanaged customization may be lost.
84+
85+
1. Open the solution you want, select **...** next to a component, such as **Account**, and then select **See solution layers**.
86+
2. If an unmanaged layer is detected, a message appears indicating the layer. On the left **Properties** pane, select **Remove unmanaged layer**.
87+
> [!div class="mx-imgBorder"]
88+
> ![Remove unmanaged layer](media/remove-unmanaged-layer.png)
89+
3. Save and publish to fully remove the unmanaged layer.
90+
91+
92+
-->
93+
7194
### See also
7295
[Translate localizable text for model-driven apps](../model-driven-apps/translate-localizable-text.md) <br />
7396
[Solutions overview](solutions-overview.md)

0 commit comments

Comments
 (0)