Customization models


Extensions provide a seamless update process for developers. While it can take less time to modify base code, this isn't an option in finance and operations apps. While overlaying could potentially save time up front, you would end up spending much more time later fixing code after an update or hotfix is rolled out to the application. Customizations that are made by using overlaying require code upgrades, more time to recompile code, and extensive, costly testing. The costs that are involved in these tasks can make upgrading to newer versions of the applications daunting. Because models with overlayered customizations are contained in the same package as the base objects, the compile cycles take longer to perform and package distributions are larger.

Most elements in the AOT can be extended if you're referencing the necessary models. If you attempt to create an extension and notice that the Create extension option appears dimmed, this is an indication that you need to update your model parameters.

Graphic showing the create extension option not available.

You can update the models that you're referencing through the Model management option by selecting Update model parameters. A dialog box will open, allowing you to choose the model that you want your project to reside in, and then you can select more model references.

The most common models to reference are ApplicationCommon, ApplicationFoundation, ApplicationPlatform, ApplicationSuite, and Directory.

To update model parameters, follow these steps:

  1. In Visual Studio, select the Dynamics 365 menu in the ribbon.
  2. Select the Model Management menu.
  3. Select Update model parameters.
  4. In the Model name field, select your model from the drop-down menu. Select Next.
  5. On the Select referenced packages page, select the box next to the models that you want to reference, meaning the models you want to use to create extensions.
  6. Select Next. You'll see a summary of the models that you've selected.
  7. Select Finish.

Extension models can be created by using the Create model wizard. In the Select package window, select the Create a new package option instead of Select existing package.

Extension models simplify and improve the performance of builds, test automation, deployments, and delivery to customers. From a service standpoint, Microsoft installs, patches, and upgrades in the cloud so that your customizations aren't affected. With an extension model, performing a build doesn't force a recompile of the whole application.