Microsoft Dynamics 365 Extensions Cookbook: Add functionality to existing model elements, source code and finally package and deploy using DevOps
โ Scribed by Rami Mounla
- Publisher
- Packt Publishing
- Tongue
- English
- Leaves
- 459
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
More than 80 recipes to help you leverage the various extensibility features available for Microsoft Dynamics and solve problems easily
Key Features
- Customize, configure, and extend the vanilla features of Dynamics 365 to deliver bespoke CRM solutions fit for any organization
- Implement business logic using point-and-click configuration, plugins, and client-side scripts with MS Dynamics 365
- Built a DevOps pipeline as well as Integrate Dynamics 365 with Azure and other platforms
Book Description
Microsoft Dynamics 365 is a powerful tool. It has many unique features that empower organisations to bridge common business challenges and technology pitfalls that would usually hinder the adoption of a CRM solution. This book sets out to enable you to harness the power of Dynamics 365 and cater to your unique circumstances.
We start this book with a no-code configuration chapter and explain the schema, fields, and forms modeling techniques. We then move on to server-side and client-side custom code extensions. Next, you will see how best to integrate Dynamics 365 in a DevOps pipeline to package and deploy your extensions to the various SDLC environments. This book also covers modern libraries and integration patterns that can be used with Dynamics 365 (Angular, 3 tiers, and many others). Finally, we end by highlighting some of the powerful extensions available.
Throughout we explain a range of design patterns and techniques that can be used to enhance your code quality; the aim is that you will learn to write enterprise-scale quality code.
What you will learn
- Customize, configure, and extend Microsoft Dynamics 365
- Create business process automation
- Develop client-side extensions to add features to the Dynamics 365 user interface
- Set up a security model to securely manage data with Dynamics 365
- Develop and deploy clean code plugins to implement a wide range of custom behaviors
- Use third-party applications, tools, and patterns to integrate Dynamics 365 with other platforms
- Integrate with Azure, Java, SSIS, PowerBI, and Octopus Deploy
- Build an end-to-end DevOps pipeline for Dynamics 365
Table of Contents
- No code extensions
- Client Side Extensions
- SDK's enterprise capabilities
- Server Side Extensions
- External Integration
- Enhancing Your Code
- Security
- DevOps
- Dynamics 365 Extensions
- Appendix A Architectural Views
- Appendix B Dynamics 365
โฆ Table of Contents
Cover
Copyright
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: No Code Extensions
Introduction
Modeling denormalized entities
Getting ready
How to do it
How it works...
See also
Modeling normalized entities with a common parent
Getting ready
How to do it
How it works...
See also
Modeling independent normalized entities
Getting ready
How to do it
How it works...
See also
Using a Business Rule to show and hide attributes
Getting ready
How to do it
How it works
There's more...
Building a configurable e-mail notification workflow
Getting ready
How to do it
How it works...
There's more
See also
Building your first action
Getting ready
How to do it
How it works...
See also
Setting up the rollup fields
Getting ready
How to do it
How it works...
Frequency
Programmatic Rollup Field execution
There's more...
Different types of aggregation
Indirectly related activities
See also
Setting up calculated fields
Getting ready
How to do it
How it works
There's more...
See also
Duplicate detection using alternate keys
Getting ready
How to do it
How it works
Chapter 2: Client-Side Extensions
Introduction
Creating your first JavaScript function
Getting ready
Visual Studio and Developer Tool Kit
XrmToolBox's Web Resources Manager
How to do it...
How it works...
There's more...
See also
Wiring your event programmatically
Getting ready
How to do it...
How it works...
There's more...
See also
Writing reusable JavaScript functions
Getting ready
How to do it...
How it works...
See also
Querying 365 data using the Web API endpoint
Getting ready
How to do it...
How it works...
Setting up the GET URL
REST request
Notifications
Wiring
There's more...
See also
Querying the 365 metadata services
Getting ready
How to do it...
How it works...
There's more...
See also
Building a custom UI using AngularJS
Getting ready
How to do it...
How it works...
There's more...
See also
Debugging your JavaScript with Edge
Getting ready
How to do it...
How it works...
There's more...
See also
Debugging your JavaScript with Chrome
Getting ready
How to do it...
How it works...
There's more...
See also
Unit testing your JavaScript
Getting ready
Integration with Visual Studio
Assertion framework
Faking Xrm.Page
Headless browser
How to do it...
How it works...
There's more...
See also
Customizing the Ribbon
Getting ready
How to do it
How it works...
There's more...
Chapter 3: SDK Enterprise Capabilities
Introduction
Server-side concurrency control
Getting ready
How to do it...
How it works...
There's more...
See also
Client-side concurrency control
Getting ready
How to do it...
How it works...
Known limitations
See also
Executing a request within a transaction
Getting ready
How to do it...
How it works...
There's more...
See also
Batch requests
Getting ready
How to do it...
How it works...
There's more...
See also
Staging data imports
Getting ready
How to do it...
How it works...
There's more...
Fixing errors
Refreshing your instance's schema
See also
Creating early bound entity classes
Getting ready
How to do it...
How it works...
There's more...
Interactive login
Generate action messages
Developer Toolkit entity generation
Extending CrmSvcUtil
See also
Extending CrmSvcUtil with filtering
Getting ready
How to do it...
How it works...
There's more...
See also
Extending CrmSvcUtil to generate option-sets enum
Getting ready
How to do it...
How it works...
There's more...
See also
Migrating configuration across instances using the CRM configuration migration tool
Getting ready
How to do it...
How it works...
There's more...
See also
Chapter 4: Server-Side Extensions
Introduction
Plugins
Custom workflow activities
Custom actions
Creating a Visual Studio solution for Dynamics 365 customization
Getting ready
How to do it...
How it works...
There's more...
See also
Creating a solution using the Dynamics CRM Developer Toolkit template
Getting ready
How to do it...
How it works...
There's more
Create early bound classes
Deploy changes to Dynamics 365
See also
Creating a LINQ data access layer
Getting ready
How to do it...
How it works...
There's more...
See also
Creating your first plugin
Getting ready
How to do it
How it works...
There's more...
See also
Impersonate another user when running your plugin
Getting ready
How to do it...
How it works...
There's more...
See also
Creating your first custom workflow activity
Getting ready
How to do it...
How it works...
There's more...
See also
Creating your first custom action
Getting ready
How to do it...
How it works...
There's more...
Wiring an IPlugin as a custom action
Calling a custom action from your JavaScript
Generate early bound custom action messages
See also
Deploying your customization using the plugin registration tool
Getting ready
How to do it...
How it works...
There's more...
Plugin registration
Plugin step registration
Register actions
See also
Debugging your plugin in Dynamics 365 on-premise
Getting ready
How to do it...
How it works...
There's more...
Debugging on a remote server
Debugging a sandbox plugin
See also
Debugging your plugin in Dynamics 365 online
Getting ready
How to do it...
How it works...
See also
Chapter 5: External Integration
Introduction
Connecting to Dynamics 365 from other systems using .NET
Getting ready
How to do it...
How it works...
There's more...
See also
Connecting to Dynamics 365 from other systems using OData (Java)
Getting ready
Java
Azure tenancy
Tenant GUID
Application GUID
Application permissions
Dynamics 365
How to do it...
How it works...
There's more...
See also
Retrieving data from external resources using external libraries
Getting ready
How to do it...
How it works...
There's more...
See also
Connecting to Dynamics 365 using web applications
Getting ready
How to do it...
How it works...
There's more...
See also
Running Azure scheduled tasks
Getting ready
How to do it...
How it works...
There's more...
See also
Setting up an Azure Service Bus endpoint
Getting ready
How to do it...
How it works...
There's more...
See also
Building near real-time integration with Azure Service Bus
Getting ready
How to do it...
How it works...
There's more...
See also
Consuming messages from an Azure Service Bus
Getting ready
How to do it...
How it works...
There's more...
See also
Running no code scheduled synchronization using Scribe
Getting ready
How to do it...
How it works...
There's more...
See also
Integrating with SSIS using KingswaySoft
Getting ready
How to do it...
How it works...
There's more...
See also
Chapter 6: Enhancing Your Code
Introduction
Refactoring your plugin using a three-layer pattern
Getting ready
How to do it...
How it works...
There's more...
See also
Replacing your LINQ data access layer with QueryExpressions
Getting ready
How to do it...
How it works...
There's more...
See also
Logging error from your customization
Getting ready
How to do it...
How it works...
There's more...
See also
Converting your plugin into a custom workflow activity
Getting ready
How to do it...
How it works...
There's more...
See also
Unit testing your plugin business logic
Getting ready
How to do it...
How it works...
There's more...
See also
Unit testing your plugin with an in-memory context
Getting ready
How to do it...
How it works...
There's more...
See also
Integration testing your plugin end-to-end
Getting ready
How to do it...
How it works...
There's more...
See also
Profiling your plugin
Getting ready
How to do it...
How it works...
There's more...
See also
Build a generic read audit plugin
Getting ready
How to do it...
How it works...
There's more...
See also
Using Cross-Origin Resource Sharing with CRM Online
Getting ready
How to do it...
How it works...
There's more...
See also
Chapter 7: Security
Introduction
Building cumulative security roles
Getting ready
How to do it...
How it works...
There's more...
See also
Configuring business unit hierarchies
Getting ready
How to do it...
How it works...
There's more ...
See also
Configuring access based on hierarchical positions
Getting ready
How to do it...
How it works...
There's more...
See also
Configuring and assigning field-level security
Getting ready
How to do it...
How it works...
There's more...
See also
Setting up teams and sharing
Getting ready
How to do it...
How it works...
There's more...
See also
Setting up Access Teams
Getting ready
How to do it...
How it works...
There's more...
See also
Encrypting data at rest to meet the FIPS 140-2 standard
Getting ready
How to do it...
How it works...
There's more...
See also
Managing your Dynamics 365 online SQL TDE encryption key
Getting ready
How to do it...
How it works...
There's more...
Reverting to a Microsoft managed key
See Also
Chapter 8: DevOps
Introduction
Exporting Dynamics 365 solutions using PowerShell
Getting ready
Dynamics 365 prerequisites
How to do it...
How it works...
There's more...
See also
Deploying solutions using PowerShell
Getting ready
How to do it...
How it works...
There's more...
See also
Building a solution hierarchy
Getting ready
How to do it...
How it works...
There's more...
See also
Patching a solution
Getting ready
How to do it...
How it works...
There's more...
See also
Staging a solution
Getting ready
How to do it...
How it works...
See also
Using SolutionPackager to save solutions in source control
Getting ready
How to do it...
How it works...
There're more...
See also
Packaging your solution with configuration data using PackageDeployer
Getting ready
Dynamics 365 instance
Dynamics 365 SDK
Visual Studio
Files
How to do it...
How it works...
There's more...
See also
Triggering builds on solution version increments
Getting ready
How to do it...
How it works...
There's more...
See also
Integrating your deployment cycles with Octopus Deploy
Getting ready
Octopus Deploy
Dynamics 365
How to do it...
How it works...
There's more...
See also
Chapter 9: Dynamics 365 Extensions
Introduction
Dynamics 365 applications
Getting ready
How to do it...
How it works...
There's more...
Limitations
See also
Dynamics 365 Common Data Services
Getting ready
How to do it...
How it works...
There's more...
See also
Building a Dynamics 365 PowerApp
Getting ready
How to do it...
How it works...
There's more...
See also
Using Flow to move data between CDS and Dynamics 365
Getting ready
How to do it...
How it works...
There's more...
Execution monitoring
See also
Installing a solution from AppSource
Getting ready
How to do it...
How it works...
There's more...
See also
Using the Data Export Service solution for data replication
Getting ready
Office \ Azure tenancy
SQL database
Key Vault
Change tracking on custom entities
How to do it...
How it works...
There's more
See also
Building Power BI dashboards from CRM data
Getting ready
How to do it...
How it works...
There's more...
Appendix A: Architectural Views
Business view
Customer management
Search
Sales management
Case management
Knowledge-based articles
Field servicemanagement
Customer self service
Marketing
Mobility
Business process automation
Project automation
Survey management
Social Network analysis and engagement
Logical view
Deployment view
Manual
Automation
Non-functional requirements
Availability
Reliability
Recoverability
Data redundancy
Disaster recovery
Backups
Security
Data encryption in transit and at rest
Authentication
Authorization
Compliance certificates
Auditability
Performance
Microsoft infrastructure
Hard limitations
Azure ExpressRoute
User interface enhancements
Scalability
Interoperability
Web services
Plugins and workflows
Client-side integration
Integration tools
Flexibility
Configuration
Client-side extensions
Custom .NET code for server-side extensions
Custom reporting
Portability
Reusability
Deploy-ability
Solution deployments
Rollbacks
Upgrades
Manageability
Appendix B: Dynamics 365
Rebranding
Modularity
Licensing
Instances
Storage
Further reading
Dynamics 365 Add-ons
Conclusion
Index
๐ SIMILAR VOLUMES
With this comprehensive guide, you will become familiar with the latest Dynamics 365 Business Central which is a complete business application management application. It helps you streamline business processes in your company, connect the company across the individual departments, and enhance custom
With this comprehensive guide, you will become familiar with the latest Dynamics 365 Business Central which is a complete business application management application. It helps you streamline business processes in your company, connect the company across the individual departments, and enhance custom
Dynamics AX is built on a number of foundation products from Microsoft that are used to make it bigger, better, and stronger than the average business system. Taking advantage of these products will make your life easier. Use these tools to maximize the efficiency of your business management, taking
<p><p>This book provides precise descriptions and instructions which enable users, students and consultants to understand Microsoft Dynamics 365 for Finance and Operations rapidly. Microsoft offers Dynamics 365 as its premium ERP solution, supporting large and mid-sized organizations with a complete