We will learn & understand Server-Side & Client-Side customizations in Dynamics 365 / Power Apps. Before we start, make sure to subscribe to CRM Crate so that you can stay up to date in the field of Power Platform.
Server-Side Customizations VS Client-Side Customizations
Microsoft Dynamics 365, like many other CRM / ERP applications, provides both server-side and client-side customization / automation options. These two approaches serve different purposes and have their own advantages and limitations as given below.
- Plugins – A plugin is a customized event handler that triggers or activates when a particular event is triggered during the execution of a Microsoft Dataverse data operation (Such as table row Create / Update / Delete etc). This plugin is developed as a custom class, compiled into a .NET Framework assembly, and can be uploaded and enlisted within Dataverse. Multiple compiled plugin classes from an assembly can be associated with specific events (steps) in the Dataverse event framework. When the designated event takes place during data processing, the code contained in the registered plugin class runs, offering a way to enhance or alter the default data processing functions of the platform.
They offer deep integration and are suitable for complex business logic and data processing. Plugins can be used for tasks like data validation, complex calculations, and interacting with external systems.
- Custom Actions– Custom actions are server-side processes that allow you to define custom operations that can be called from within Dynamics 365 or external applications. They are often used for complex operations or integrations. Server-side customization and automation is more powerful and versatile for handling complex business requirements, but it typically requires development skills and may be subject to deployment and testing processes.
- Custom Workflow Activities – Custom workflow activities are similar to plugins but are designed to be used within workflows. They allow you to encapsulate custom logic and actions that can be used in a more process-driven manner.
- Business Rules – Business Rules are a declarative way to define and apply client-side logic without writing code. They can be used to show/hide fields, set field values, or validate data based on predefined conditions. Note: – Entity scoped business rules are executed at Server Side.
- Client-Side Extensions (e.g., Ribbon Workbench) – These extensions allow you to customize the Dynamics 365 user interface, including the Ribbon and Command Bar, to create custom buttons and actions.
Utilization of Server-Side Customization & Client-Side Customization
Choosing between server-side and client-side customization and automation depends on the specific requirements of your project. Here are some considerations to help you decide as given below.
Server-Side CustomizationUse server-side customization for complex business logic, integration with external systems, and tasks that require deep data manipulation.
Client-Side CustomizationUse client-side customization for UI enhancements, improving the user experience, and implementing simple business rules.
In some cases, a combination of both server-side and client-side customization may be necessary to meet all your business requirements.
Remember that server-side customizations often require more rigorous testing and development processes, while client-side customizations can be more accessible to power users and administrators.