In CRM, customizing usually refers to CRM extensions, which may require custom coding or development utilizing the CRM Software Development Kit (SDK). On the other hand, configuring refers to the ability to adopt
While customization can be explained using configuration and development; configuration encompasses the use of modern tools that exist within the application platform, allowing 90% of the changes that are needed to be scaled, extended, finetuned, accentuated, embellished and industrialized. Indeed, this is more of a drag, drop, point, launch and “what you see is what you get” type of design. Not to mention,
In contrast, development in customization is executed for more important and complex modifications and additional functionality that may be desired to improve business processes. So, there are perplexing functionalities that require custom code for aptness. Also, there are two variations of development – JavaScript and AJAX. These are two types of user interface behaviors that may conjure with a browser or server-side computations that may cause systematic changes to data and processes.
In fact, the configuration capabilities of modern CRMs are now so advanced, that development is rare, but can be used to fulfill special requirements. Overall, a CRM is an open system that allows enhanced functionality and integration with other systems, and applications that can be further developed and improved, such is the case with Microsoft Dynamics 365.
Configuration Capabilities in Microsoft Dynamics 365
Utilizing configuration to operate and manage a CRM is indispensable. Configuration is practically the structure and administration of the system. In Microsoft Dynamics 365, configuration is essential for improving the UI design, field settings, security, business rules, use of options and features, and more. Therefore, adopting business logic features with no-code configuration or no custom programming logic is available.
With
- Database changes and fields
- Forms, validations and views
- Workflows, Business Process Flows (BPF), dashboards and reports
- Security settings
- Calculated fields and templates
Also, configuring may be executed by a technically adept administrative person utilizing the following tools:
1. Utilize Internal Customization Tool
Utilizing the internal customization tool in Dynamics 365 is highly recommended. This configuration type tool allows administrators and IT professionals to modify and update the database, business rules, user interface (UI), and most importantly manage settings using a controlled edit-publish workbench. For example, setting the level of security within Dynamics 365 can be performed using the internal customization tool. Also, creating roles, giving privileges and proper rights to users accordingly is important and featured as part of
2. Release in Solution Packages
Releasing in solution packages allows changes to be packaged together and layered alongside the self-documented modifications for controlled releases across multiple environments. Within a solution package, CRM changes are visible and enables developers to connect all changes to tasks and stories. Not only does it allow the data to be imported between environments, this data is also kept the same across environments for automated buildups and continuous integrations, minimizing import errors and saving time.
3. Codeless Tool Set
The codeless tool set is just one aspect of the customization tool, which includes coded features and advanced integration solutions that provide simple connectivity to different systems and data sources. Writing code isn’t necessary, since these tools are already configured and ready for use within Dynamics 365. Utilizing these data integration tools or connectors allows data to be connected and easily sharable among users and reduces the risk of an integration breakdown.
4. Preview and Publish Modes
Another aspect of the customization tool set is the preview and publish modes that are utilized to review changes before and after they are complete. The previewing mode allows visibility of a change before publishing. Keeping in mind that
5. QA in Sandbox Environment
How can you develop solutions without disrupting the production environment? In a sandbox environment, developing, testing and training is possible and will not disrupt users or harm the production environment. For instance, Dynamics 365 provides sandbox environments that serve as QA environments as changes are released. Also, sandboxes include administrative controls that are not available in production, making it simple to reset a sandbox instance by allowing the system administrator to log in and apply changes.
6. Release Solutions Iteratively
Releasing solutions iteratively is the best approach for CRM deployment. Implementing solutions in small fragments enables employees to learn and adjust step-by-step. In addition, during iterations, issues may be easily identified and altered before another solution release. For example, business policies and processes may be adjusted by adding new features to address challenges. The goal is to have a functional CRM that is utilized to its full potential and is increasing productivity.
Customizing Your Microsoft Dynamics 365 CRM
Modern customization consists of code and integration development for server-level, main-app, line of business functionality and database development. Customization also encompasses light app and function builders, workflow automation, and simple dashboard design. In addition, some of the latest capabilities include PowerSuite, Common Data Service (CDS), and Common Data Model (CDM).
PowerSuite simply combines a system’s optimization features into one, streamlining maintenance and powering higher performance. PowerSuite powers performance by scanning and identifying untouched processes, provides a list of drivers for updating, removes or compresses unused files and Windows backups. Also, developers utilize CDM to build custom connections with multiple databases to enhance applications for end-user consumption. Together, CDS and CDM allows developers to spend less time building and more time developing and upgrading sophisticated integrations by adopting and enhancing the existing CDM templates.
Moreover, with Microsoft Visual Studio, developing programs, websites, apps, web services and mobile apps is achievable. Visual Studio utilizes
- Import jobs
- Monitor jobs
- iframe data presentation
- Server side customizations
- Integration calls and web services
- Custom coded UI
- Add-on functionality and apps
Customization and development may be carried out by developers utilizing the following tools:
The .Net Framework was created by Microsoft and is highly used for building, developing and deploying applications. This framework supports multiple, interoperability and cross language integration and includes an IDE, provides a Graphical User Interface (GUI), Mono Compilation System (MCS) and Common Type System (CTS). In addition, there are two main parts of the .Net Framework: Class library, which includes ADO.NET, ASP.NET and Windows Forms and the Common Language Runtime (CLR), which is the safest area where code can run. Code that runs through the CLR is managed code that is protected and optimized. CLR is the official execution engine and is between the .Net application and the operating system which provides additional services.
2. Software Development Kit (SDK)
The
3. Plug-in and Re-usable Solution Management
Plug-ins are commonly used to enhance standard features by inserting specific business logic in performed user tasks. A plug-in consists of custom code that is later compiled in .Net, which is then triggered by an event within an entity. Alongside, is a re-usable solution, which is a customization package completed by customizers and developers to extend the functionality of Microsoft Dynamics CRM. The only known supported way of transferring customizations from one CRM organization to another is through solutions.
4. Error Handling and Logs
Error handling in Dynamics 365 can be easily handled through the tracing service. Dynamics 365 can handle the exception returned from a specific plug-in, which displays an error message in a dialog. Also, all exception messages are found in the system job area of the web application. Most error logs are maintained under Plug-in Trace Log.
5. Web Resources
Certain web resources or virtual files may be stored within Dynamics and utilized for web page functionality, forms and entities. For example, an image file is a web resource that is often stored for later use. A more complex example of a web resource is the Silverlight application that is built to read users context. All web resources can be reused in various forms or entities and even deployed in solutions.
6. VSO Change Control, Code Backups and Versions
Utilizing the VSO change control as a systematic approach to manage all changes made to a product or system is recommended. Also, the Team Foundation Server by Microsoft provides the change control, code and version backups to ensure that changes to a product or system are introduced in a more controlled and coordinated manner. For example, the Team Foundation Version Control (TFVC) method is highly utilized for a central source code version control, which requires a central server to sync software snapshots. In contrast,
7. TDD Quality Control
Test-driven development (TDD) is a programming methodology that may be a part of a Quality Control Strategy or a Quality Management Strategy. Enabling developers to write code, passing the acceptance test and simplifying the code for use is TDD quality control. The primary goal of TDD allows developers to write test cases and think things through before writing the necessary functional code.
Final Thoughts
Interesting enough is the customization of a CRM and the set of options available for validating customizations and developing modifications, packaging together and releasing in solution sets, which provide controlled releases and versions, and the new and improved capabilities, such as CDM and CDS. As
Learn more about how
As Director of Customer Engagement Solutions of Indusa, Kjell is a subject matter expert on Microsoft Dynamics CRM with deep experience across sales, customer care, and marketing disciplines. He has led large enterprise CRM deployments across various industries and business models. Kjell focuses on solution advisory, consulting, architecting, project and program governance, and overall customer engagement.
Contributing Author: Liliana Garibay