The goal of this module is to provide participants with an overview of the Microsoft Dataverse architecture and where the extension points are as a developer.
- Introduction to Dataverse
- Overview of the Dataverse extensibility model
- overview of the Power Platform Developer Tooling
- Introducing XrmToolBox
- LAB: Setting up your development machine.
Working with the Dataverse Web API
The Dataverse Web API is one of two web services you can use to work with data and metadata in Dataverse. The other is the Organization Service.
The Dataverse Web API provides a development experience that can be used across a wide variety of programming languages, platforms, and devices to access the Dataverse data and functionality.
In this module, students will learn about the authentication and authorization options with the Dataverse Web API.
- Introduction to the Dataverse Web API
- Registering client applications with Azure Active Directory
- Authenticate with the Dataverse Web API using OAuth 2.0 and MSAL
- Performing a simple Create operation using the Dataverse Web API
- Composing HTTP requests and error handling
- Dataverse Web API URL and versions
- The different HTTP methods and headers
- Executing your first HTTP requests
- LAB: Creating and configuring a client application for Dataverse using .NET 5.0
Using the Dataverse Web API
The Dataverse Web API provides a modern, RESTful web service you can use to interact with data and metadata in Dataverse using a wide variety of platforms, programming languages and devices.
This module teaches students how they can execute CRUD operations, Actions and Functions using the Dataverse Web API.
- Query Data using the Dataverse Web API
- Creating, Updating and Deleting rows in tables
- Executing batches
- Impersonate another user using the Dataverse Web API
- Detect duplicate data using the Dataverse Web API
- LAB: Using Postman with the Dataverse Web API
Working with the Microsoft Dataverse Organization Service
This chapter introduces participants to the Dataverse Organization Service endpoint and will teach them how to do CRUD operations in .NET using late or early binding.
The chapter also talks about the how the XRM Tooling SDK can be used to build Windows Application and what the future of the XRM Tooling will be
- What is the Organization Service endpoint in Dataverse
- The IOrganizationService Interface
- The OrganizationServiceProxy class
- Early versus late binding when accessing table rows
- An introduction to XRM Tooling and it's future in the Power Platform
- Working with CrmServiceClient
- Use connection strings in XRM Tooling to connect to Dataverse
- Create, update, delete and retrieve table rows using XRM Tooling
- Retrieving data using the QueryExpression and QueryByAttribute classes
- LAB: Writing a Dataverse client application using XRM Tooling
Querying Microsoft Dataverse with FetchXML
When accessing Dataverse as a developer you have several ways to query for data.
In this chapter you will learn the syntax of the FetchXML language to query Dataverse.
- Introduction to FetchXML
- Writing FetchXML queries
- Using XrmToolBox FetchXML Builder to create FetchXML queries
- Executing FetchXML queries using the Dataverse Web API
- Executing FetchXML queries using the Dataverse XRM Tooling
- LAB: Creating and executing FetchXML queries
A plug-in is custom business logic that you can deploy inside Dataverse to modify or augment the standard behavior of Dataverse.
This chapter teaches students how they can write a custom Plug-in in .NET and deploy it to Dataverse. Students also learn how to debug Plug-ins in Dataverse.
- Introduction to the Microsoft Dataverse Event Framework
- Plug-in overview
- Writing custom plug-ins
- Register and deploy plug-ins using the Plug-In Registration Tool
- Debugging plug-ins in the Dataverse
- Deploying Plug-Ins with Solutions
- Automate Plug-in deployment using Spkl
- Using Plugin Trace Viewer in XrmToolBox
- LAB: Creating and deploying a Plug-in
Microsoft Dataverse supports integration with Azure. Developers can register plug-ins with Dataverse that can pass runtime message data, known as the execution context, to one or more Azure solutions in the cloud.
Besides writing a custom Plugin, Azure is the only other supported solutions for communicating runtime context to external line-of-business (LOB) applications.
- Overview of the Azure integration with the Dataverse
- Integration with Azure Service Bus
- Configuring the Azure-aware OOB plug-in
- Write a custom Azure-aware plug-in
- Integration between the Dataverse and Web Hooks
Creating and using Custom APIs and Actions
Use Custom APIs to create your own APIs in Dataverse. With a Custom API you can consolidate a group of operations into an API that you and other developers can call in their code.
- Introduction to the Microsoft Dataverse Event Framework
- Executing messages via the Web API
- Executing Functions and Actions using the Web API
- Creating Custom Actions
- Creating Custom APIs
- Registering and testing Custom APIs using XrmToolBox
- Using Custom APIs and Actions with the Web API
- Using Custom APIs and Actions in Power Automate
- LAB: Implementing a Custom API
- Handling Form/View and Field events
- Root objects in the Client API object model
- Working with the Client API execution context object
- The Client API Form context object
- Interacting with forms and attributes using the Client API object model
- The Client API grid context object
- The Client API Xrm object
- Best practices in writing client-side Code
- LAB: Using client-side scripting in table forms
Customizing the Command Bar in a model-driven app
The Command Bar is displayed above every form or view in a model-driven app. In this chapter you will learn about how you can customize the Command Bar by adding or removing Commands.
- Overview of the Command Bar
- Available Command Bars in model-driven apps
- Working with Display and Enable rules
- Creating a custom Ribbon Action
- Pass data or URL parameters to a Ribbon Action
- Adding or removing Commands in the Command Bar
- Working with URL addressable forms and views
- Using Ribbon Workbench to customize the command Bar
- LAB: Using Ribbon Workbench to customize the command bar
Creating Web Resources
- Web resources overview
- Building custom HTML Web Resources
- LAB: Working with Xrm.WebApi in custom HTML web resources
An Introduction to Power Apps Component Framework
The Power Apps component framework enables developers create code components for model-driven and canvas apps to provide enhanced user experience for the users to work with data on forms, views, and dashboards.
- Install the Microsoft Power Apps CLI
- Using the Microsoft Power Apps CLI
- Create and build a code component
- Package a code component in a Solution
This course will teach developers how they can extend Microsoft Dataverse and Model-driven apps with custom code.
Although Microsoft Dataverse and Model-driven apps have quite some out of the box customization options, many companies have requirements which can only be met by extending the existing feature set of Microsoft Dataverse.
And since most Dynamics 365 Apps like Sales, Services, Marketing, ... are just model-driven build using Microsoft Dataverse, this training also applies to developers who would like
to extend their Dynamics 365 Apps with custom code.
This course is targeting developers who have none or very limited development skills with the Power Platform and Model-driven apps or Dynamics 365.
Before attending the course, delegates must have the following prerequisite knowledge and experience:
- Basic understanding of Web development and design
- Working knowledge of Model-driven apps and the Power Platform (power-user perspective)