Creating a module in Microsoft Dynamics 365: Laying the Foundation [Part 1]

This post is part of a series of posts on creating a new module within a Microsoft Dynamics 365 for Finance and Operations application. The following are links to other parts of this series.

A module in Microsoft Dynamics 365 for Finance and Operations is a grouping of similar business processes and functions that allow users to conduct business. Examples include General Ledger, Accounts Receivable, Accounts Payable, and many others. Developers create new modules to group new functionality in an equivalent manner or to produce third-party solutions.

In this series, I am creating a fictitious module called Generic Application Solution (GAS). The assumption will be that the reader has an intermediate knowledge of development in Dynamics 365 as well as best practices. This post will lay the foundation for this module by creating a package and model.

Create Package and Model

A new module should reside in a new package and, by necessity, model. The reason for creating a new package is to isolate the new module’s code from other unrelated code changes and to provide an artifact to deploy either as an extension to the application or as a third-party solution.

Page 1 of new model wizard showing information for GAS module and to be created on the USR layer

On the first page of the wizards, developers need to enter the Model Name, Model Publisher, and Model Display Name. The recommendation is to give the model a shortened or abbreviated name. The reason is that it is best practice for the label file to have the same name as the module. Developers can specify a detailed name in the Model Display Name box. When selecting a layer, developers need to keep in mind that each layer has a specific purpose and that it is not easy to change later.

Page 2 of new model wizard with Create New Page selected

The second page is where developers select whether to create a new package or to add it to an existing package. Since the intent is to create a new package, developers should keep the default.

Page 3 of new model wizard with some packages selected

Developers select the packages on which the module’s package depends. The requirements of the module dictate the selection on this page. For example, if the module is going to require Account Receivable features, they will want to select that package. The recommendation is to select what is necessary to start and to add or remove as needed.

Page 4 of new model wizard showing summary of the model

On the final page, Developers see a summary of the changes they are making. Clicking the Finish button will create the package and model. The recommendation is to keep the Create New Project and the Make This My Default Model For New Projects checked.

Visual Studio will prompt for the name of the solution and project.

Screen shot of newly created solution and project for GAS

Congratulations, we have a new package and model along with a project. In the next part, I discuss creating the label file and licensing objects.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s