Customization models

Completed

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.

To create a new extension model:

  1. Go to Dynamics 365 > Model Management > Create model.
  2. Enter the model’s name, description, and package type.
  3. Define references and dependencies for your model.
  4. Select Finish.

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.

Best practices for extensions

To ensure efficient and maintainable customizations in finance and Operations apps, we recommend following these best practices when using extensions:

  • Reference only necessary models - Include only the required models for your extension to reduce compile times and dependency management overhead.
  • Keep customizations modular and reusable - Break down large extensions into smaller, independent modules wherever possible and design extensions to be reusable across multiple projects or environments.
  • Adhere to naming conventions - Use clear and consistent naming for your models and extensions to avoid confusion.
  • Document customizations** - Maintain detailed documentation for each extension.