Extensibility home page
Microsoft Dynamics 365 for Finance and Operations is customized extensively by partners, value added resellers (VARs), and even some customers. This is a strength of the product that historically has been supported through overlayering of the application code. The move to the cloud with more agile servicing and frequent updates requires a less intrusive customization model, which makes updates less likely to impact custom solutions. This new model is called extensibility and has replaced customization by overlayering.
Extensibility is the only customization framework in Microsoft Dynamics 365 for Retail and Microsoft Dynamics 365 for Finance and Operations. Overlayering is not supported.
These introductory topics contain general information about customization, including information on when customization transitions from overlayering to a purely extension-based model. These topics also explain how to log extensibility requests to Microsoft, along with frequently asked questions and answers.
This section lists the extensibility-related updates that have been made since July 2017.
- Extensibility changes in Dynamics 365 for Finance and Operations, Enterprise edition (July 2017)
- Extensibility changes in Dynamics 365 for Finance and Operations, Enterprise edition 7.3
- Extensibility changes in Dynamics 365 for Finance and Operations release 8.0
Getting started gets you going with building extensions and migrating a current solution, based on overlayered code, to an extension-based solution. This section includes hands on labs that walk you through simple customizations.
- Migrate from overlayering to extensions
- Customize model elements using extensions (tutorial)
- Customization: overlayering and extensions
Extensibility fundamentals includes principles and practices for how to make extensions. The guiding principles in these topics discuss how customization must be approached through extensions, including naming guidelines. Additionally, these topics discuss the foundation framework, such as extensions and chain of command.
- Intrusive customizations
- Class extensions
- Class extension: Method wrapping and Chain of Command
- Naming guidelines
- Relax model restrictions to enable the refactoring of over-layering into extensions
How do I..?
Here is where you find "How do I?" topics on customizing specific object types or code. Most of these topics are brief and to the point. There are many topics here, so searching for a particular topic may be practical.
- Register a subclass for factory methods
- Respond with EventHandlerResult
- Extend the RunBase class
- Use delegates to customize Application startup
- Modify an existing field in a table
- Add a new field to an existing table
- Add an index to an existing table
- Add a relation to an existing table
- Modify properties on an existing table
- Add a method to a table
- Perform business actions throughout the lifecycle of a table record
Information on customization is also shared through various blogs where different topics are discussed. This section includes reference to some of these blogs.
- Extending Dynamics 365 for Finance and Operations
- Extending class state
- Extension methods
- Extensible base enumerations
- Static event subscription
- Responding through delegates
- Subscribing to onValidatingWrite
- Extending inventory dimensions
- Embrace the extensions mindset with Dynamics 365 for Finance and Operations