Skip to content

Commit c9eb80d

Browse files
committed
Merge branch 'master' into jdaly-master-plug-in-retry
2 parents f4b361b + 5639cd5 commit c9eb80d

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

powerapps-docs/developer/data-platform/appendix-add-license-information-to-your-solution.md

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ search.app:
1818

1919
# Appendix: Add licensing information to your solution
2020

21+
This article is related to the license management capability that Microsoft provides for ISVs to manage and enforce licenses for their products. More information: [Third-party app license management through Microsoft](https://docs.microsoft.com/azure/marketplace/third-party-license)
22+
2123
This article outlines how to add licensing information to a Microsoft Dataverse solution, package it, and upload the solution zip file to Microsoft AppSource. More information: [Create an AppSource package for your app](/powerapps/developer/data-platform/create-package-app-appsource).
2224

2325
The following steps are required to add license information to your solution:
@@ -56,7 +58,7 @@ To add licensing information to your solution, you need to create two `.CSV` fil
5658
- **Plan definition file**: Define the details of the plans you created in the Partner Center.
5759
- **Plan mapping file**: Maps those plans to the components of your solution.
5860
59-
In this article, we will create two CSV files. You can choose any licensing approach you like. In this article, we will follow the **Russian doll** licensing model as shown in the following table:
61+
In this article, we will create these two CSV files for an example solution called F365. This solution contains several model-driven apps for which we want to restrict access to via license management. We will follow a **Russian doll** licensing model for this solution as shown in the following table:
6062
6163
|Plan|Gets access to|
6264
|------|--------|
@@ -65,8 +67,6 @@ In this article, we will create two CSV files. You can choose any licensing appr
6567
|Bronze plan|Bronze App|
6668
|||
6769
68-
The solution contains three model-driven apps (Gold App, Silver App, and Bronze App) each model-driven app different from one another.
69-
7070
> [!div class="mx-imgBorder"]
7171
> ![Create licensing file 1](media/create-license-csv-file-1.png "Create licensing file 1")
7272
@@ -80,24 +80,26 @@ To add licensing information to your solution, you need to create plans in the P
8080
8181
### Plan definition file
8282
83-
The plan definition file should contain the following columns:
83+
The plan definition file must include the following columns laid out in the format shown in the example below:
84+
85+
> [!div class="mx-imgBorder"]
86+
> ![Plan definition file](media/plan-definition-file.png "Plan definition file")
8487
85-
- **Service ID:** This is created automatically when you create a plan in the Partner Center as part of the offer creation. More information: [Create plans in Partner Center](/azure/marketplace/dynamics-365-customer-engage-plans).
86-
- **Display Name:** The display name for your plan. The display name is shown to users on the license check error dialogs.
87-
- **More info URL:** The URL where you would like to direct users to get more information about the solution if they get any license check errors.
88+
**Service ID:** This is created automatically when you create a plan in the Partner Center as part of the offer creation. Copy it from partner center into the plan definition file. More information: [Create plans in Partner Center](/azure/marketplace/dynamics-365-customer-engage-plans).
8889
89-
> [!div class="mx-imgBorder"]
90-
> ![Plan definition file](media/plan-definition-file.png "Plan definition file")
9190
9291
### Plan mapping file
9392
94-
The plan mapping file should contain the following columns:
93+
The plan mapping file must include the following columns laid out in the format shown in the example below:
94+
95+
> [!div class="mx-imgBorder"]
96+
> ![Plan mapping file](media/plan-mapping-file.png "Plan mapping file")
97+
98+
**Service ID:** This is created automatically when you create a plan in the Partner Center as part of the offer creation. Copy it from partner center into the plan definition file. More information: [Create plans in Partner Center](/azure/marketplace/dynamics-365-customer-engage-plans).
99+
100+
**Component name:** The solution component that you would like to restrict access to using license management. This name must match the name of the component in the **Name** column in the Power Apps solution viewer (image above).
95101
96-
- **Service ID:** This is created automatically when you create a plan in the Partner Center as part of the offer creation. More information: [Create plans in Partner Center](/azure/marketplace/dynamics-365-customer-engage-plans).
97-
- **Component name:** The solution component that you would like to restrict access to using license management. This name must match the name of the component in the **Name** column in the solution viewer.
98102
99-
> [!div class="mx-imgBorder"]
100-
> ![Plan mapping file](media/plan-mapping-file.png "Plan mapping file")
101103
102104
Once you have created your own licensing CSV files, the next step is to add the information from these files to your solution.
103105
@@ -112,8 +114,8 @@ To add the license information from the CSV files (created above) to the solutio
112114
```
113115
1. To check whether the licensing information is added, navigate to the ___location where you have cloned your solution zip file, you should see a new folder **ServicePlans** is created with two XML files.
114116
1. Optional: To determine how the license information from the CSV files was captured, open the XML files in your favorite editor.
115-
1. The **ServicePlans.xml** file contains the plan definition information from the plan definition file.
116-
1. The **ServicePlansAppModules.xml** file contains the plan mapping information from the plan mapping file.
117+
- The **ServicePlans.xml** file contains the plan definition information from the plan definition file.
118+
- The **ServicePlansAppModules.xml** file contains the plan mapping information from the plan mapping file.
117119

118120
## Build the solution and create an AppSource package
119121

0 commit comments

Comments
 (0)