Skip to content

Commit a64a085

Browse files
committed
Merge branch 'main' into jdaly-main-change-tracking-updates
2 parents 43596f8 + b27bd45 commit a64a085

File tree

72 files changed

+125
-110
lines changed

Some content is hidden

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

72 files changed

+125
-110
lines changed

powerapps-docs/developer/data-platform/download-tools-nuget.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Dataverse development tools (Microsoft Dataverse) | Microsoft Docs"
33
description: "Download and launch the Plug-in Registration, Package Deployment, and other Dataverse development tools."
4-
ms.date: 10/13/2022
4+
ms.date: 12/21/2022
55
ms.reviewer: pehecke
66
ms.topic: article
77
applies_to:
@@ -26,13 +26,15 @@ There are a number of developer tools that are needed for different aspects of M
2626
|Package Deployer (PD)|Deploy packages to Dataverse environments where the packages contain solutions, custom code, HTML files, and more|[Deploy a package](/power-platform/alm/package-deployer-tool#deploy-a-package)|
2727
|Plug-in Registration tool (PRT)|Registers custom code (plug-ins, custom workflow activities), service endpoints, and more|[Register a plug-in](register-plug-in.md)|
2828
|SolutionPackager tool (SP)|A tool that can reversibly decompose a Dataverse compressed solution file into multiple XML files and other files so that these files can be easily managed by a source control system|[SolutionPackager tool](/power-platform/alm/solution-packager-tool?branch=phecke-package-deployer)|
29-
|Code Generation tool (CG)|A command-line code generation tool that generates early-bound (strong-typed) .NET classes that represent the Entity Data Model (EDM) used by Dataverse|[Generate early-bound classes for the Organization service](org-service/generate-early-bound-classes.md)|
29+
|Code Generation tool (CG)|A command-line code generation tool that generates early-bound (strong-typed) .NET Framework classes that represent the Entity Data Model (EDM) used by Dataverse|[Generate early-bound classes for the Organization service](org-service/generate-early-bound-classes.md)|
3030

31-
All the above mentioned tools, with the exception of the Code Generation tool, is described below. The Code Generation tool functionality is planned to be integrated into the Power Platform CLI in a future release. For now, follow the provided Code Generation tool link in the table above for more information on installing and using that tool.
31+
The Code Generation tool functionality has been integrated into the Power Platform CLI. The output of the CLI [modelbuilder](/power-platform/developer/cli/reference/modelbuilder) subcommand supports cross-platform .NET (Core) compilation.
3232

3333
> [!NOTE]
3434
> The CMT, PD, and PRT tools provide a Windows (WPF) user interface and only run on a Microsoft Windows operating system. Also, the `pac tool` command only is available on a Windows install of the CLI.
3535
36+
All the above mentioned tools, with the exception of the Code Generation tool, is described below.
37+
3638
## Download and launch tools using Power Platform CLI
3739

3840
Make sure that you have version 1.19.3 (or newer) of the Power Platform CLI. Now get help on the tools.

powerapps-docs/developer/data-platform/org-service/generate-early-bound-classes.md

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Generate early-bound classes for the Organization service (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "Learn about a command-line code generation tool for use with Microsoft Dataverse. This tool generates early-bound .NET Framework classes that represent the Entity Data Model used by Dataverse." # 115-145 characters including spaces. This abstract displays in the search result.
4-
ms.date: 04/03/2022
4+
ms.date: 12/22/2022
55
author: kkanakas
66
ms.author: kartikka
77
manager: pemikkel
@@ -21,41 +21,41 @@ contributors:
2121

2222
[!INCLUDE[cc-terminology](../includes/cc-terminology.md)]
2323

24-
*CrmSvcUtil* is a command-line code generation tool for use with Microsoft Dataverse. The tool generates early-bound .NET Framework classes that represent the Entity Data Model (EDM) used by Dataverse.
24+
*CrmSvcUtil* is a command-line code generation tool for use with Microsoft Dataverse. The tool generates early-bound .NET Framework classes that represent the Entity Data Model (EDM) used by Dataverse. To generate cross-platform .NET (Core) classes, use the [modelbuilder](/power-platform/developer/cli/reference/modelbuilder) argument of Power Platform CLI.
2525

2626
The code generation tool (CrmSvcUtil.exe) is distributed as part of the [Microsoft.CrmSdk.CoreTools](https://www.nuget.org/packages/Microsoft.CrmSdk.CoreTools) NuGet package. You can download the NuGet package, rename the file's extension .nupkg to .zip, and extract the files. You may also need to unblock the file in the Properties dialog of File Explorer.
2727

2828
> [!NOTE]
29-
> For information about downloading the code generation tool, see [Dataverse development tools](../download-tools-NuGet.md).
29+
> For more information about available tools, including the code generation tool, see [Dataverse development tools](../download-tools-NuGet.md).
3030
3131
## Generate Entity classes
3232

33-
The CrmSvcUtil tool creates a Microsoft Visual C# or Visual Basic .NET output file that contains strongly-typed classes for tables in your organization. This includes custom tables and columns. This output file contains one class derived from <xref:Microsoft.Xrm.Sdk.Entity> for each table, providing early binding and IntelliSense support in Visual Studio to aid you as you write code. The generated classes are partial classes that can be extended with custom business logic in separate files. You can also create extensions to this tool. For more information, see [Create extensions for the Code Generation Tool](extend-code-generation-tool.md).
33+
The CrmSvcUtil tool creates a Microsoft Visual C# or Visual Basic .NET output file that contains strongly-typed classes for tables in your environment. This includes custom tables and columns. This output file contains one class derived from <xref:Microsoft.Xrm.Sdk.Entity> for each table, providing early binding and IntelliSense support in Visual Studio to aid you as you write code. The generated classes are partial classes that can be extended with custom business logic in separate files. You can also write extensions for this tool to customize its functionality. For more information, see [Create extensions for the Code Generation Tool](extend-code-generation-tool.md).
3434

3535
## Generate an OrganizationServiceContext class
3636

3737
The tool can also be used to generate a class derived from the <xref:Microsoft.Xrm.Sdk.Client.OrganizationServiceContext> class that acts as an entity container in the EDM. This service context provides the facilities for tracking changes and managing identities, concurrency, and relationships. This class also exposes a <xref:Microsoft.Xrm.Sdk.Client.OrganizationServiceContext.SaveChanges> method that writes inserts, updates, and deletes table rows in Dataverse. For more information, see [Use OrganizationServiceContext](organizationservicecontext.md).
3838

3939
## Use generated classes
4040

41-
The classes created by the code generation tool are designed to be built into a class library that can be referenced by projects that use Dataverse. After you have generated the class file using the tool, you should add the file to your Visual Studio project. You must also add references to several assemblies that the generated classes are dependent upon.
41+
The classes created by the code generation tool are designed to be built into a class library that can be referenced by projects that use Dataverse. After you have generated the class file(s) using the tool, you should add the file(s) to your Visual Studio project. You must also add references to several assemblies that the generated classes are dependent upon.
4242

4343
The following lists assemblies that must be referenced in your project when you use the generated code file.
4444

4545
- `Microsoft.Crm.Sdk.Proxy.dll`
4646
- `Microsoft.Xrm.Sdk.dll`
4747

48-
These assemblies are part of the [Microsoft.CrmSdk.CoreAssemblies](https://www.nuget.org/packages/Microsoft.CrmSdk.CoreAssemblies/) NuGet package. Use this NuGet packages to add these assemblies to your Visual Studio project.
48+
These assemblies are part of the [Microsoft.CrmSdk.CoreAssemblies](https://www.nuget.org/packages/Microsoft.CrmSdk.CoreAssemblies/) or [Microsoft.PowerPlatform.Dataverse.Client](https://www.nuget.org/packages/Microsoft.PowerPlatform.Dataverse.Client) NuGet package. Use one of these NuGet packages to add the required assemblies to your Visual Studio project.
4949

5050
<a name="bkmk_RuntheCodeGenerationUtility"></a>
5151

5252
## Run the code generation tool
5353

5454
The code generation tool takes several parameters that determine the contents of the file that is created. The parameters can be passed in from the command line when you run the tool or in a .NET-connected application configuration file.
5555

56-
Run the `CrmSvcUtil.exe` tool from the `Tools\CoreTools` folder created when you downloaded the tools using the script described in [Dataverse development tools](../download-tools-NuGet.md). If you run the tool from another folder ___location, make sure that a copy of the `Microsoft.Xrm.Sdk.dll` assembly is in that same folder.
56+
Run the `CrmSvcUtil.exe` application from the folder where it is installed. If you run the tool from another folder ___location, make sure that a copy of the `Microsoft.Xrm.Sdk.dll` assembly is in that same folder.
5757

58-
The following sample shows the format for running the tool from the command line with Dataverse. To use the interactive login, you can simply provide these options:
58+
The following sample shows the format for running the tool from the command line with Dataverse. To use an interactive environment login, you can simply provide these options:
5959

6060
```ms-dos
6161
CrmSvcUtil.exe /interactivelogin ^
@@ -94,10 +94,10 @@ CrmSvcUtil.exe ^
9494
> [!NOTE]
9595
> The examples above uses the carat (`^`) character to break up the list of parameters for readability. You can compose the command parameters with arguments using notepad and then paste it into the command line.
9696
97-
- For the `username` and `password` parameters, type the user name and password that is used to sign in to Dataverse.
98-
- For the `url` parameter, you can look up the correct URL in the web application by selecting **Settings**, navigating to **Customizations**, and then choosing **Developer Resources**. The URL is shown under **Organization Service**.
97+
- For the `username` and `password` parameters, type the user name and password that is used to sign in to your Dataverse environment.
98+
- For the `url` parameter you can look up the correct URL in Power Apps, or in the legacy web application by selecting **Settings**, navigating to **Customizations**, and then choosing **Developer Resources**. The URL is shown under **Organization Service**.
9999

100-
To list the supported command-line parameters, use the following command.
100+
To view the latest supported command-line parameters, use the following command.
101101

102102
```ms-dos
103103
CrmSvcUtil.exe /?
@@ -107,26 +107,34 @@ CrmSvcUtil.exe /?
107107

108108
## Parameters
109109

110-
The following table lists the code generation tool parameters and a gives a brief description of their use.
110+
The following table lists the code generation tool parameters at the time when this topic was last updated, and provides a brief description of command parameter use.
111111

112-
|Parameter|Shortcut|Description|Required|
113-
|--|--|--|--|
114-
|`deviceid`|`di`|No longer needed|False|
115-
|`devicepassword`|`dp`|No longer needed|False|
116-
|`___domain`|`d`|The ___domain to authenticate against when you connect to an on-premises server.|False|
117-
|`url`||The URL for the Organization service.|True unless you use `interactivelogin`|
118-
|`out`|`o`|The file name for the generated code.|True|
119-
|`language`|`l`|The language to generate the code in. This can be either “CS” or “VB”. The default value is “CS”.|False|
120-
|`namespace`|`n`|The namespace for the generated code. The default is the global namespace.|False|
121-
|`username`|`u`|The user name to use when you connect to the server for authentication.|False|
122-
|`password`|`p`|The password to use when you connect to the server for authentication.|False|
123-
|`servicecontextname`||The name of the generated organization service context class. If no value is supplied, no service context is created.|False|
124-
|`help`|`?`|Show usage information.|False|
125-
|`nologo`||Suppress the banner at runtime.|False|
126-
|`generateActions`||Generate request and response classes for custom actions.|False|
127-
|`interactivelogin`|`il`|When used, a dialog to log into the Dataverse service is displayed. All other connection related parameters specified on the command line are ignored.|False|
128-
|`connectionstring`|`connstr`|Contains information, provided as a single string, for connecting to a Dataverse organization. All other connection related parameters specified on the command line are ignored. For more information see [Use connection strings in XRM tooling to connect to Dataverse](../xrm-tooling/use-connection-strings-xrm-tooling-connect.md).|False|
129-
112+
|Parameter|Shortcut|Description|
113+
|--|--|--|
114+
|`url`||The URL for the Organization service. Required, unless you use `interactivelogin`|
115+
|`out`|`o`|The file name for the generated code. Required|
116+
|`language`|`l`|The language to generate the code in. This can be either “CS” or “VB”. The default value is “CS”.|
117+
|`namespace`|`n`|The namespace for the generated code. The default is the global namespace.|
118+
|`username`|`u`|The user name to use when you connect to the server for authentication.|
119+
|`password`|`p`|The password to use when you connect to the server for authentication.|
120+
|`___domain`|`d`|The ___domain to authenticate against when you connect to an on-premises server.|
121+
|`servicecontextname`||The name of the generated organization service context class. If no value is supplied, no service context is created.
122+
|`help`|`?`|Show usage information.|
123+
|`nologo`||Suppress the banner at runtime.|
124+
|`generateActions`||Generate request and response classes for custom actions.|
125+
|`interactivelogin`|`il`|When used, a dialog to log into the Dataverse service is displayed. All other connection related parameters specified on the command line are ignored.|
126+
|`connectionstring`|`connstr`|Contains information, provided as a single string, for connecting to a Dataverse organization. All other connection related parameters specified on the command line are ignored. For more information see [Use connection strings in XRM tooling to connect to Dataverse](../xrm-tooling/use-connection-strings-xrm-tooling-connect.md).|
127+
|`suppressGeneratedCodeAttribute`|`sgca`|Suppresses the GeneratedCodeAttribute on all classes|
128+
|`emitfieldsclasses`|`emitfc`|Generate a Fields class per entity that contains all of the field names at the time of code generation|
129+
|`entitynamesfilter`| |Filters the list of entities retrieved when reading data from Dataverse. Passed in as a semicolon separated list using the form \<entitylogicalname>;\<entitylogicalname>;...|
130+
|`messagenamesfilter`| |Filters the list of messages that are retrieved when reading data from Dataverse. Passed in as a semicolon separated list. Required messages ( Create, Update, Delete, Retrieve, RetrieveMultiple, Associate and DisAssociate) are always included. A * can be used to proceed or trail a message allowing for all messages starting with or ending with a string. The list takes the form \<messagename>;\<messagename>;...|
131+
|`splitfiles`| |Splits the output into files by type, organized by entity, message, and optionsets. when enabled, the `out` property is ignored and `outdirectory` is required instead|
132+
|`outdirectory`|`outdir`|Write entity, message and optionset files to a specified output directory. Valid only with the `splitfiles` option|
133+
|`entitytypesfolder`| |Folder name that will contain entities. THe default folder name is "Entities". Valid only with the `splitfiles` option.|
134+
|`messagestypesfolder`| |Folder name that will contain messages. The default name is "Messages". Valid only with the `splitfiles` option|
135+
|`optionsetstypesfolder`| |Folder name that will contain optionsets. The default name is "OptionSets". Valid only with `splitfiles` option|
136+
|`generateGlobalOptionSets`| |Emit all global optionsets. Note: if an entity contains a reference to a global optionset, it will be emitted even if this switch is not present|
137+
|`legacyMode`| |Disable emitting optionsets and many newer code features to support compatibility with older custom extensions|
130138

131139
<a name="bkmk_sampleconfig"></a>
132140

@@ -167,15 +175,15 @@ For more information on supported tracing options see [Configure tracing for XRM
167175

168176
## Community tools
169177

170-
**Early Bound Generator** is a tool that XrmToolbox community. Please see the [Developer tools and resources](../developer-tools.md) topic for more community developed tools.
178+
**Early Bound Generator** is a tool from the XrmToolbox community. Please see the [Developer tools and resources](../developer-tools.md) topic for more community developed tools.
171179

172180
> [!NOTE]
173181
> The community tools are not a product of Microsoft and does not extend support to the community tools.
174182
> If you have questions pertaining to the tool, please contact the publisher. More Information: [XrmToolBox](https://www.xrmtoolbox.com).
175183
176184
### See Also
177185

178-
[Late-bound and early-bound programming using the Organization service](early-bound-programming.md)
186+
[Late-bound and early-bound programming](early-bound-programming.md)
179187
[Sample: Early-bound table operations](samples/early-bound-entity-operations.md)
180188

181189
[Create extensions for the Code Generation Tool](extend-code-generation-tool.md)

powerapps-docs/maker/model-driven-apps/app-designer-overview.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Overview of the model-driven app designer | MicrosoftDocs"
33
description: Learn about the app designer for model-driven apps.
44
ms.custom: ""
5-
ms.date: 11/09/2022
5+
ms.date: 12/15/2022
66
ms.suite: ""
77
ms.tgt_pltfrm: ""
88
ms.topic: overview
@@ -35,7 +35,8 @@ The app designer interface has the following areas:
3535

3636
- **Back**. Closes the model-driven app designer and returns you to the Power Apps website (make.powerapps.com).
3737
- **New page**. Creates a new page for one or more table forms and views or table dashboards for the app.
38-
- **Settings**. Opens the app properties such as name and description. <!-- and whether the app can be used offline-->
38+
- **Settings**. Opens the app properties such as name and description.
39+
- **Edit form**: Open the form designer to edit the default form shown in app preview.
3940
- **Switch to classic**. Opens the app in the classic app designer.
4041
- **Save**. Saves the app.
4142
- **Publish**. Makes the changes made available to other users.
@@ -50,7 +51,7 @@ The app designer interface has the following areas:
5051
- **Data**. Provides a view of all available tables that are currently used within your app and a view of all tables that are available in your environment.
5152
- **Automation**. Displays business process flows that are a part of this app. You can add, remove, or create new business process flows to the app.
5253

53-
4. Property pane – Displays properties of the selected component and also allows you to make changes.
54+
4. Property pane – Displays properties of the selected component and associated forms and views with the selected table. Selecting the pencil or ellipsis opens the form or view designer.
5455

5556
5. Preview size switcher - Changes the size of the form preview helping you to see how the form will appear on various screen sizes.
5657

@@ -68,8 +69,6 @@ From the **Navigation** pane, select **Navigation bar** to set the following opt
6869
1. **Show Pinned**. Enabled by default. When selected, displays the pages that have been pinned. App users select the push-pin icon next to a record listed under **Recent** to add it to their pinned rows.
6970
1. **Enable collapsible groups**. Disabled by default. When selected, subareas displayed under groups in the site map can be expanded or collapsed.
7071
1. **Enable Areas**. Disabled by default. When selected, new areas can be added to the app. For apps with existing multiple areas, this setting is enabled by default. You can't disable this setting while the app has multiple areas.
71-
1. **Enable web resources**. Disabled by default. When selected, web resources can be added to the app as a type of subarea. More information: [Add a web resource to an app (preview)](create-edit-web-resources.md#add-a-web-resource-to-an-app-preview).
72-
1. **Enable URLs**. Disabled by default. When selected, URLs can be added to the app as a type of subarea. More information: [Add a URL to an app](app-navigation.md#add-a-url-to-an-app)
7372

7473
:::image type="content" source="media/navigation-pane-options.png" alt-text="Options available for app navigation":::
7574

0 commit comments

Comments
 (0)