Skip to content

Commit fb3c1c2

Browse files
committed
Merge branch 'master' into 2258880
2 parents f862428 + 227732e commit fb3c1c2

File tree

132 files changed

+1809
-576
lines changed

Some content is hidden

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

132 files changed

+1809
-576
lines changed

powerapps-docs/developer/component-framework/manifest-schema-reference/includes/type-table.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ ms.assetid: 41ea27ac-65b6-45a4-ae03-5f8d02dfc67b
3131
|SingleLine.TextArea|This format option can be used to display multiple lines of text. But with a limit of 4000 characters, the Multiple Lines of Text column is a better choice if large amounts of text are expected.|
3232
|SingleLine.Ticker|For most languages, the text will be enabled as a link to open the MSN Money website to show details about the stock price represented by the ticker symbol.For certain East Asian languages the window will open Bing search results for the ticker symbol.|
3333
|SingleLine.___URL|The text provides a hyperlink to open the page specified. Any text that does not begin with a valid protocol will have "https://" prepended to it.Only HTTP, HTTPS, FTP , FTPS, OneNote and TEL protocols are allowed in this column.|
34-
|Yes/No|This column provides two options. Each option has a number value of 0 or 1 corresponding to a false or true value. Each option also has a label so that true or false values can be represented as "Yes" and "No", "Hot" and "Cold", "On" and "Off" or any pair of labels you want to display.|
34+
|TwoOptions|This column provides two options. Each option has a number value of 0 or 1 corresponding to a false or true value. Each option also has a label so that true or false values can be represented as "Yes" and "No", "Hot" and "Cold", "On" and "Off" or any pair of labels you want to display.|
3535
|Whole.None|This option simply displays a number.|
36+
|Lookup.Simple|Allows for a single reference to a specific table. All custom lookups are this type.|
3637

3738
## Value elements that are not supported
3839

@@ -43,11 +44,10 @@ Following `of-type` property values are not supported currently:
4344
|Whole.Duration|This format option can be used to display a list of duration options. But the data stored in the database is always a number of minutes. The column looks like a drop-down list and provides suggested options like 1 minute, 15 minutes, 30 minutes all the way up to 3 days. People can choose these options. However, people can also just type in a number of minutes and it resolves to that period of time.|
4445
|Whole.Timezone|This option displays a select list of time zones such as (GMT-12:00) International Date Line West and (GMT-08:00) Pacific Time (US & Canada). Each of these zones is stored as a number. For example, for the time zone (GMT-08:00) Pacific Time (US & Canada), the TimeZoneCode is 4. More information: [TimeZoneCode Class (Sdk Assembly)](/previous-versions/dynamics-crm4/developers-guide/bb959779(v=msdn.10))|
4546
|Whole.Language|This option displays a list of the languages provisioned for your organization. The values are displayed as a drop-down list of language names, but the data is stored as a number using LCID codes. Language codes are four-digit or five-digit locale IDs. Valid locale ID values can be found at [Locale ID (LCID) Chart)](/previous-versions/windows/embedded/ms912047(v=winembedded.10)).|
46-
|Lookup.Simple|Allows for a single reference to a specific table. All custom lookups are this type.|
4747
|Lookup.Customer|Allows for a single reference to either an account or a contact record. These lookups are available for the Opportunity, Case, Quote, Order, and Invoice tables. These tables also have separate Account and Contact lookups that you can use if your customers are always one type. Or you can include both instead of using the Customer lookup.|
4848
|Lookup.Owner|Allows for a single reference to either a team or a user record. All team or user-owned tables have one of these.|
4949
|Lookup.PartyList|Allows for multiple references to multiple tables. These lookups are found on the Email table **To** and **Cc** columns. They're also used in the Phone and Appointment tables.|
5050
|Lookup.Regarding|Allows for a single reference to multiple tables. These lookups are found in the regarding column used in activities.|
5151
|Choices|You can customize forms (main, quick create, and quick view) and email templates by adding choices columns. When you add choices column, you can specify multiple values that will be available for users to select. When users fill out the form they can select one, multiple, or all the values displayed in a drop-down list.|
5252
|Status|A system column that has options that generally correspond to active and inactive status. Some system columns have additional options, but all custom columns have only Active and Inactive status options.|
53-
|Status Reason|A system column that has options that provide additional detail about the Status column. Each option is associated with one of the available Status options. You can add and edit the options.|
53+
|Status Reason|A system column that has options that provide additional detail about the Status column. Each option is associated with one of the available Status options. You can add and edit the options.|

powerapps-docs/developer/component-framework/overview.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ ms.service: "powerapps"
99
ms.custom:
1010
- "dyn365-a11y"
1111
- "dyn365-developer"
12+
- "intro-internal"
1213
ms.topic: article
1314
ms.assetid: 7923e36d-3640-49f7-9f2f-c97358a632db
1415
ms.author: nabuthuk

powerapps-docs/developer/data-platform/TOC.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@
7272
href: how-dataverse-sql-differs-from-transact-sql.md
7373
- name: Saved Queries
7474
href: saved-queries.md
75+
- name: Query throttling
76+
href: query-throttling.md
7577
- name: Query Hierarchical data
7678
href: query-hierarchical-data.md
7779
- name: Audit data changes
@@ -359,6 +361,8 @@
359361
href: appendix-app-design-best-practices-checklist.md
360362
- name: 'Appendix: App certification checklist'
361363
href: appendix-app-certification-checklist.md
364+
- name: 'Appendix: Add licensing information to your solution'
365+
href: appendix-add-license-information-to-your-solution.md
362366
- name: Monitor your app in ISV Studio
363367
items:
364368
- name: Introduction to ISV Studio
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
---
2+
title: "Appendix: Add licensing information to your solution | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3+
description: "This article outlines the required steps to take license service IDs created in Partner Center and add them to the table definitions of your Dataverse solution." # 115-145 characters including spaces. This abstract displays in the search result.
4+
ms.custom: ""
5+
ms.date: 04/30/2021
6+
ms.reviewer: "pehecke"
7+
ms.service: "powerapps"
8+
ms.topic: "article"
9+
author: "nkrb"
10+
ms.author: "nabuthuk"
11+
manager: "kvivek"
12+
search.audienceType:
13+
- developer
14+
search.app:
15+
- PowerApps
16+
- D365CE
17+
---
18+
19+
# Appendix: Add licensing information to your solution
20+
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+
23+
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).
24+
25+
The following steps are required to add license information to your solution:
26+
27+
- Clone existing solution.
28+
- Use the Power Apps CLI tool to add license information to the solution.
29+
- Build the solution, package it, and upload the zip file to AppSource.
30+
31+
## Download the latest version of the Power Apps CLI
32+
33+
You can download the latest version of Power Apps CLI from [here](/powerapps/developer/data-platform/powerapps-cli). The Power Apps CLI tool includes commands that are required for adding licensing information to the solution. To verify that you have the latest version of the tool:
34+
35+
1. Open a **Developer Command Prompt for VS 2017** or higher window.
36+
2. Enter the command `pac install latest`. This will install the latest version of the tooling.
37+
3. Enter the command `pac solution help` and verify that you see the `add-license` option in the list.
38+
39+
## Clone a solution
40+
41+
Use Power Apps CLI commands to clone the solution. To clone a solution:
42+
43+
1. Create an authentication profile for the environment where you want to add your solution by using the command:
44+
45+
```CLI
46+
pac auth create --name <name of your choice> --kind Dataverse -–url <your dataverse url> --username <your username> --password <your password>`
47+
```
48+
1. Clone the existing solution by using the command:
49+
50+
```CLI
51+
pac solution clone --name <your solution name> --outputDirectory <your chosen output directory>
52+
```
53+
54+
## Create licensing files
55+
56+
To add licensing information to your solution, you need to create two `.CSV` files using the text editor of your choice. The following are the two files that you need to create:
57+
58+
- **Plan definition file**: Define the details of the plans you created in the Partner Center.
59+
- **Plan mapping file**: Maps those plans to the components of your solution.
60+
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:
62+
63+
|Plan|Gets access to|
64+
|------|--------|
65+
|Gold plan|Gold App, Silver App, Bronze App|
66+
|Silver plan|Silver App, Bronze App|
67+
|Bronze plan|Bronze App|
68+
|||
69+
70+
> [!div class="mx-imgBorder"]
71+
> ![Create licensing file 1](media/create-license-csv-file-1.png "Create licensing file 1")
72+
73+
To add licensing information to your solution, you need to create plans in the Partner Center. More information: [Create plans in Partner Center](/azure/marketplace/dynamics-365-customer-engage-plans). Once you're finished creating the plans, each plan creates a **Service ID** value which is required while creating [Plan definition file](#plan-definition-file).
74+
75+
> [!div class="mx-imgBorder"]
76+
> ![Create licensing file 3](media/create-license-csv-file-3.png "Create licensing file 3")
77+
78+
> [!NOTE]
79+
> Currently model-driven apps are the only types of solution components that can be mapped to licenses. In future releases, we plan to add support for other component types such as canvas apps and tables.
80+
81+
### Plan definition file
82+
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")
87+
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).
89+
90+
**Display Name:** This is a descriptive name for your plan which you can choose. It will be show to users on license check error screens so it should be easily recognizable to your customers.
91+
92+
**More info URL:** This is a URL where you would like to direct users to get more information about your solution, in the event they run into a license check error.
93+
94+
95+
### Plan mapping file
96+
97+
The plan mapping file must include the following columns laid out in the format shown in the example below:
98+
99+
> [!div class="mx-imgBorder"]
100+
> ![Plan mapping file](media/plan-mapping-file.png "Plan mapping file")
101+
102+
**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).
103+
104+
**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).
105+
106+
107+
108+
Once you have created your own licensing CSV files, the next step is to add the information from these files to your solution.
109+
110+
## Add licensing information
111+
112+
To add the license information from the CSV files (created above) to the solution:
113+
114+
1. Open a **Developer Command Prompt for VS 2017** or higher window. Navigate to the ___location where you have cloned solution. Enter the following command:
115+
116+
```CLI
117+
pac solution add-license -pd <path to plan definition file> -pm <path to plan mapping file>
118+
```
119+
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.
120+
1. Optional: To determine how the license information from the CSV files was captured, open the XML files in your favorite editor.
121+
- The **ServicePlans.xml** file contains the plan definition information from the plan definition file.
122+
- The **ServicePlansAppModules.xml** file contains the plan mapping information from the plan mapping file.
123+
124+
## Build the solution and create an AppSource package
125+
126+
1. To build a solution, see [Create a managed solution for your app](/powerapps/developer/data-platform/create-solution-app-appsource).
127+
128+
1. To validate whether the licensing information is included, after the solution is built, look for the licensing information in your solution `customizations.xml` file.
129+
1. To create the AppSource package, see [Create an AppSource package for your app](/powerapps/developer/data-platform/create-package-app-appsource).
130+
131+
## See also
132+
133+
[Appendix: App certification checklist](appendix-app-certification-checklist.md)
Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
title: "Calendar entities (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3-
description: "Read how you can store data for customer service calendars and holiday schedules using calendar entities." # 115-145 characters including spaces. This abstract displays in the search result.
2+
title: "Calendar tables (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
3+
description: "Read how you can store data for customer service calendars and holiday schedules using calendar tables." # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 10/31/2018
5+
ms.date: 05/04/2021
66
ms.reviewer: "pehecke"
77
ms.service: powerapps
88
ms.topic: "article"
@@ -15,39 +15,29 @@ search.app:
1515
- PowerApps
1616
- D365CE
1717
---
18-
# Calendar entities
18+
# Calendar tables
1919

20-
[!INCLUDE[cc-data-platform-banner](../../includes/cc-data-platform-banner.md)]
20+
The calendar table stores data for customer service calendars and holiday schedules in addition to business. Each calendar is set for a specific time zone.
2121

22-
The calendar entity stores data for customer service calendars and holiday schedules in addition to business. Each calendar is set for a specific time zone.
22+
[!INCLUDE[cc-terminology](includes/cc-terminology.md)]
2323

24-
A calendar describes the availability of a service or a resource. Calendars are related to `calendarrule` records, which include details about the duration, start and end times, and recurring patterns of events included in the calendar.
24+
A calendar describes the availability of a service or a resource. Calendars are related to `calendarrule` rows, which include details about the duration, start and end times, and recurring patterns of events included in the calendar.
2525

2626
There are two types of calendar rules in Microsoft Dataverse:
2727

28-
- **Root**: A calendar rule that contains an inner calendar or that has nested (leaf) rules. You can specify an inner calendar for a root calendar rule by using the `CalendarRule.InnerCalendarId` attribute. The attribute value of `CalendarRule.InnerCalendarId` of a root rule is the same as the attribute value of `CalendarRule.CalendarId` of its leaf rules.
28+
- **Root**: A calendar rule that contains an inner calendar or that has nested (leaf) rules. You can specify an inner calendar for a root calendar rule by using the `CalendarRule.InnerCalendarId` column. The column value of `CalendarRule.InnerCalendarId` of a root rule is the same as the column value of `CalendarRule.CalendarId` of its leaf rules.
2929

3030
- **Leaf**: A calendar rule that doesn’t contain an inner calendar, and therefore, is the end of the "branch."
3131

3232
Calendar rules are ordered, or ranked, to describe their precedence, and rules can overlap. The nested rules expansion defines the time span, or extent, of a rule. You can use the `CalendarRule.ExtentCode` attribute to define how rule expansion overlap is handled, for example, whether both time span or extent of a rule are shown or if only one is included. These features provide for recurrence patterns, for example, different shift schedules for winter and summer months in a single service calendar.
3333

34-
A calendar can be a complex tree of rules and nested calendars that represent a high-level abstraction of the work schedule. The calendar entity supports the <xref:Microsoft.Crm.Sdk.Messages.ExpandCalendarRequest> message to convert to a simple view, which is an array of time blocks that determine availability over specific ranges.
34+
A calendar can be a complex tree of rules and nested calendars that represent a high-level abstraction of the work schedule. The calendar table supports the <xref:Microsoft.Crm.Sdk.Messages.ExpandCalendarRequest> message to convert to a simple view, which is an array of time blocks that determine availability over specific ranges.
3535

36-
## In This Section
37-
[Types of Calendars](types-calendars.md)
36+
### See also
37+
[Types of calendars](types-calendars.md)
3838

39-
[Calendar Entity](/reference/entities/calendar.md)
40-
41-
## Related Sections
42-
[Appointment Entities](/dynamics365/customer-engagement/developer/appointment-entities)
43-
44-
[Recurring Appointment Entities](/dynamics365/customer-engagement/developer/recurring-appointment-entities)
45-
46-
[Resource Entities](/dynamics365/customer-engagement/developer/resource-entities)
47-
48-
[Service Entity](/dynamics365/customer-engagement/developer/service-entity)
49-
50-
[Sample Code for Schedule and Appointment Entities](/dynamics365/customer-engagement/developer/sample-code-schedule-appointment-entities)
39+
[Calendar table](/reference/entities/calendar.md)
40+
5141

5242

53-
[!INCLUDE[footer-include](../../includes/footer-banner.md)]
43+
[!INCLUDE[footer-include](../../includes/footer-banner.md)]

powerapps-docs/developer/data-platform/catalog-catalogassignment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ You can create catalogs and catalog assignment records using either the Web API
254254
255255
The following series of Web API operations will create a catalog hierarchy and a CatalogAssignment in a solution with the UniqueName: `ContosoCustomerManagement`. Note the use of the `MSCRM.SolutionUniqueName` request header to set the association to the solution when the record is created.
256256

257-
See the [Create a record using the Web API](webapi/create-entity-web-api.md) sections: [Basic Create](webapi/create-entity-web-api.md#basic-create) and [Associate entity records on create](webapi/create-entity-web-api.md#associate-entity-records-on-create) for more information.
257+
See the [Create a record using the Web API](webapi/create-entity-web-api.md) sections: [Basic Create](webapi/create-entity-web-api.md#basic-create) and [Associate table rows on create](webapi/create-entity-web-api.md#associate-table-rows-on-create) for more information.
258258

259259
#### Create the root catalog
260260

0 commit comments

Comments
 (0)