You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Apps and flows often require different configuration settings across environments. Environment variables as configurable input parameters allow management of data separately compared to hard-coding values within your customization or using additional tools. Because they're solution components, performance is much better than importing configuration data as record data.
23
21
24
22
Benefits of using environment variables:
25
23
- No need to manually edit configurable values in a production environment.
26
24
- Configure one or more variables in one place and reference like a parameter across multiple solution components.
25
+
- Enter different values while importing solutions to other environments.
27
26
- Update values without a code change.
28
27
- Granular level security managed by [Common Data Service](https://docs.microsoft.com/powerapps/maker/common-data-service/data-platform-intro).
29
28
- Unlimited number of variables (max solution size is 29 MB).
@@ -32,9 +31,6 @@ Benefits of using environment variables:
32
31
- Support for localization.
33
32
- Can be used to control feature flags and other application settings.
Environment variables can be created and managed through the modern solution interface or by [using code](https://docs.microsoft.com/powerapps/developer/common-data-service/work-with-data-cds). A separate JSON file is created within your solution package for the values, which can also be managed in source control and modified in a build pipeline. Export to and import from Excel is supported. After creating environment variables, you can use them as inputs within plug-ins, flows, and other components.
@@ -55,7 +51,15 @@ Environment variables can be created and managed through the modern solution int
> A value can't exist without a definition. The interface only allows creation of one value per definition.
54
+
> A value can't exist without a definition. The interface only allows creation of one value per definition.
55
+
56
+
## Enter new values while importing solutions
57
+
58
+
The modern solution import interface includes the ability to enter values for environment variables. This sets the value property on the `environmentvariablevalue` entity.
59
+
60
+
You will not be prompted if the environment variables already have either a default value or value present; whether values are part of your solution or are already present in Common Data Service.
61
+
>[!NOTE]
62
+
> You may remove the value from your solution before exporting the solution. This ensures the existing value will remain in your development environment, but not get exported in the solution. This approach allows a new value to be set while importing the solution into other environments.
59
63
60
64
## Notifications
61
65
A notification is displayed when the environment variables do not have any values. This is a reminder to set the values so that components dependent on variables do not fail. It also allows partners to ship variables without values and the customer is prompted to input the values.
A connection is a proxy or a wrapper around an API that allows the underlying service to talk to Microsoft Power Automate, Microsoft Power Apps, and Azure Logic Apps. It provides a way for users to connect their accounts and use a set of pre-built actions and triggers to build their apps and workflows.
24
+
25
+
A connection reference is a solution component that contains information about a connector. Both canvas app and operations within a Power Automate flow bind to a connection reference. You can import your connection reference into a target environment with no further configuration needed after the import completes. To change a specific connection associated with a canvas app or flow, you edit the connection reference component within the solution.
26
+
27
+
> [!NOTE]
28
+
>
29
+
> - Canvas apps and flows handle connections differently. Flows use connection references for all connectors, whereas canvas apps only use them for implicitly shared connections, such as SQL Server. More information: [Security and types of authentication](../canvas-apps/connections-list.md#security-and-types-of-authentication)
30
+
> - A connection reference is automatically created when you create new connections from the flow and canvas app designers.
31
+
32
+
1. Sign in to [Power Apps](https://make.powerapps.com/?utm_source=padocs&utm_medium=linkinadoc&utm_campaign=referralsfromdoc), and on the left pane select **Solutions**.
33
+
2. Create a new or open an existing solution.
34
+
3. On the command bar select **New**, and then in the list of components select Connection Reference.
35
+
4. On the **New Connection Reference** pane, enter the following information. Required fields a denoted with an asterisk (*).
36
+
-**Display name**: Enter a friendly name to help differentiate this connection reference from others.
37
+
-**Description**: Enter text that describes the connection.
38
+
-**Connector**: Choose from the following options:
39
+
- Select an existing connector from the list.
40
+
- Select **New** to create a new connection to use for this connection reference. Once your finished creating the connection, select **Refresh** to select your new connection from the list.
41
+
5. Select **Create**.
42
+
43
+
## Limits
44
+
45
+
During the preview, the same connection reference can be used a maximum of 16 times in flows.
Copy file name to clipboardExpand all lines: powerapps-docs/maker/common-data-service/import-update-export-solutions.md
+29-18Lines changed: 29 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Import solutions | MicrosoftDocs"
3
3
description: "Learn how to import a solution in Power Apps"
4
4
ms.custom: ""
5
-
ms.date: 08/06/2020
5
+
ms.date: 08/27/2020
6
6
ms.reviewer: ""
7
7
ms.service: powerapps
8
8
ms.topic: "article"
@@ -17,12 +17,14 @@ search.app:
17
17
- PowerApps
18
18
- D365CE
19
19
---
20
-
# Import solutions
20
+
# Import solutions
21
21
22
-
You can manually import solutions using the steps in this article. You must import only those solutions that you've obtained from a trusted source. Customizations might include code that can send data to external sources.
You can manually import solutions using the steps in this article. You must import only those solutions that you've obtained from a trusted source.
23
25
24
26
> [!NOTE]
25
-
> -To import a solution that includes a plug-in assembly, the **Create**privilege on the **Plug-In Assembly** entity is required. By default, the System Administrator security role has this privilege, but the System Customizer security role doesn’t.
27
+
> -The create privilege is required to import a component. Although, the System Customer security role has create privilege on most components that are commonly imported, by default it doesn't have create privilege on the **Plug-In Assembly** entity. The System Administrator security role has this privilege.
26
28
> - When you import a managed solution, all component changes will be brought into the environment in a published state. However, when you import an unmanaged solution, the changes are imported in a draft state so you must publish them to make them active.
27
29
> - To implement healthy application lifecycle management (ALM) in your organization, consider using a source control system to store and collaborate on your solutions, and automate the solution import process. More information: [ALM basics](/power-platform/alm/basics-alm) in the Power Platform ALM guide.
28
30
@@ -32,29 +34,38 @@ When you import an **unmanaged** solution:
32
34
33
35
To import a solution:
34
36
35
-
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.
37
+
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.
3. On the **Select Solution Package** page, select **Browse** to locate the compressed (.zip or .cab) file that contains the solution you want to import.
43
-
44
-
4. Select **Next**.
45
-
46
-
5. Information about the solution is displayed. Select **Import**.
47
-
48
-
6. You may need to wait a few moments while the import completes. View the results and then select **Close**.
49
-
50
-
If you have imported any changes that require publishing, you must publish customizations before they are available.
44
+
1. On the **Import a solution** page, select **Browse** to locate the compressed (.zip or .cab) file that contains the solution you want to import.
45
+
46
+
1. Select **Next**.
51
47
52
-
If the import isn’t successful, you will see a report showing any errors or warnings that were captured. Select **Download Log File** to capture details about what caused the import to fail. The most common cause for an import to fail is that the solution did not contain some required components.
48
+
1. Information about the solution is displayed. By default, in the **Advanced settings** section, if SDK messages and flows exist in the solution, they will be imported. Clear the **Enable SDK messages and flows included in the solution** option if you want them to import in an inactive state.
49
+
50
+
1. If your solution contains [connection references](create-connection-reference.md), you’ll be prompted to select the connections you want. If a connection does not already exist, create a new one. Click **Next**.
51
+
52
+
1. If your solution contains [environment variables](EnvironmentVariables.md), you will be prompted to enter values. You will not see this screen if value(s) are already present in your solution or the target environment.
53
+
54
+
1. Select **Import**.
55
+
56
+
Your solution imports in the background and may take a few moments.
53
57
54
-
When you download the log file, you will find an XML file that you can open using Office Excel to view the contents.
58
+
If you have imported any changes that require publishing, you must publish customizations before they are available.
55
59
60
+
If the import isn’t successful, you will see a notification on the solutions page showing any errors or warnings that were captured. Select **Download Log File** to capture details about what caused the import to fail. The most common cause for an import to fail is that the solution did not contain some required components.
61
+
62
+
When you download the log file, you will find an XML file that you can open using Office Excel to view the contents.
63
+
56
64
> [!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)
65
+
> You can view the details of all solution operations including solution import with the [solution history](solution-history.md) feature. To view these operations, select **See history** on the solutions page.
66
+
67
+
<!--
68
+
> 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) -->
Copy file name to clipboardExpand all lines: powerapps-docs/maker/common-data-service/update-solutions.md
+14-17Lines changed: 14 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Update a solution | MicrosoftDocs"
3
3
description: "Learn how to update or upgrade a solution in Power Apps"
4
4
ms.custom: ""
5
-
ms.date: 03/18/2020
5
+
ms.date: 09/14/2020
6
6
ms.reviewer: ""
7
7
ms.service: powerapps
8
8
ms.suite: ""
@@ -44,33 +44,23 @@ The procedure to import the updated solution is similar to installing a new mana
44
44
45
45
4. Select **Next**.
46
46
47
-
5. You can view information about the solution before you choose **Next**. This page will display a yellow bar displaying **This solution package contains an update for a solution that is already installed**.
48
-
49
-
6. Select from the following solution action options:
47
+
5. This page displays a yellow bar indicating **This solution package contains an update for a solution that is already installed**. To upgrade the solution, select **Next**. To view additional options, expand **Advanced settings**, and then select from the following solution action options:
50
48
-**Upgrade (recommended)**
51
-
This option upgrades your solution to the latest version and rolls up all previous patches in one step. Any components associated to the previous solution version that are not in the newer solution version will be deleted. This is the recommended option as it will ensure that your resulting configuration state is consistent with the importing solution including removal of components that are no longer part of the solution.
49
+
This is the default option and upgrades your solution to the latest version and rolls up all previous patches in one step. Any components associated to the previous solution version that are not in the newer solution version will be deleted. This is the recommended option as it will ensure that your resulting configuration state is consistent with the importing solution including removal of components that are no longer part of the solution.
52
50
53
51
-**Stage for Upgrade**
54
52
This option upgrades your solution to the higher version, but defers the deletion of the previous version and any related patches until you apply a solution upgrade later. This option should only be selected if you want to have both the old and new solutions installed in the system concurrently so that you can do some data migration before you complete the solution upgrade. Applying the upgrade will delete the old solution and any components that are not included in the new solution.
55
53
56
54
-**Update (not recommended)**
57
55
This option replaces your solution with this version. Components that are not in the newer solution won't be deleted and will remain in the system. This option is not recommended as your destination environment will differ in configuration from your source environment and could cause issues that are difficult to reproduce and diagnose.
58
56
59
-
7. Select from the following customization options:
60
-
61
-
-**Maintain customizations (recommended)**
62
-
63
-
Selecting this option will maintain any unmanaged customizations performed on components but also implies that some of the updates included in this solution will not take effect.
64
-
65
-
-**Overwrite Customizations (not recommended)**
66
-
67
-
Selecting this option will overwrite or remove any unmanaged customizations previously performed on components included in this solution. This option does not affect components that support merge behavior (forms, sitemap, ribbon, app modules). Components that have other managed solutions on top of the existing solution you are replacing do also still remain on top and are not affected by this option.
68
-
69
57
8. Decide whether to enable the following option for post import actions:
70
58
-**Enable any SDK message processing steps included in the solution**
71
59
Selecting this option will enable plugins and workflows that are included in the solution.
72
60
73
-
9. Select **Next**.
61
+
9. Select **Import**.
62
+
63
+
:::image type="content" source="media/import-solution-pane.png" alt-text="Import solution information and options":::
74
64
75
65
10. You may need to wait a few moments while the solution import completes. If it's successful, you can view the results and select **Close**.
76
66
@@ -80,8 +70,15 @@ The procedure to import the updated solution is similar to installing a new mana
80
70
If you chose to stage for upgrade, or if the system had an issue completing an upgrade, you will see that you have the original solution still installed in your system as well as a new solution that has the same solution name as the base solution suffixed with \_Upgrade. To complete the upgrade, select the base solution in the solution list and select **Apply Solution Upgrade**. This will uninstall all previous patches and the base solution then rename the \_Upgrade solution to be the same name as the previous base solution. Any components that were in the original solution and patches that are not present in the \_Upgrade solution will be deleted as part of this process.
81
71
82
72
## Understanding version numbers for updates
83
-
A solution’s version has the following format: major.minor.build.revision. An update must have a higher major, minor, build or revision number than the parent solution. For example, for a base solution version 3.1.5.7, a small update could be a version 3.1.5.8 or a slightly more signficant update could have version 3.1.7.0. A substantially more signficant update could be version 3.2.0.0.
84
73
74
+
A solution’s version has the following format: major.minor.build.revision. An update must have a higher major, minor, build or revision number than the parent solution. For example, for a base solution version 3.1.5.7, a small update could be a version 3.1.5.8 or a slightly more signficant update could have version 3.1.7.0. A substantially more significant update could be version 3.2.0.0.
75
+
76
+
## Overwrite customizations option
77
+
78
+
The option to overwrite customizations is only available with the classic import experience and using the SDK APIs.
79
+
80
+
> [!IMPORTANT]
81
+
> Selecting the **Overwrite Customizations (not recommended)** option will overwrite or remove any unmanaged customizations previously performed on components included in this solution. This option does not affect components that support merge behavior (forms, sitemap, ribbon, app modules). Components that have other managed solutions on top of the existing solution you are replacing do also still remain on top and are not affected by this option.
0 commit comments