Speaker

Magnus Sørensen

Magnus Sørensen

Microsoft MVP. Developer. Computer Scientist. Type Validation Advocate

Actions

As a Computer Scientist and Engineer, that loves to improve the way I work, I push the limitations of the xRM SDK daily. My goal as a developer for xRM is to make the developer experience easier for my colleagues. I do this by creating developer tools. Thus, I have gotten the nickname xRM Tooling Wizard.
My goal is to bring best practices from both the academic- and real world into the world of Business Applications - and where else applicable.

Why the Solution Git Integration should change how you do ALM

Microsoft has made it possible to integrate Dataverse with a version control system like Git. Allowing makers to easily work on changes in isolation and merge them together later.

In this session, I will walk through all major steps of Dataverse ALM and imagine the future we will be in, because of this addition to the Power Platform. I will demonstrate how far I am on this journey myself, and the success it has brought my team.

I will show you the changes you will be able to apply right now, as well as the changes you should be on the lookout for when community tooling has caught up with this exciting feature.

No more secrets! Using Managed Identities in Dataverse Plugins

Most Dataverse deployments have to integrate with Azure at some point. Are you still using the unsafe approach of storing secrets in Dataverse Tables or Dataverse Environment Variables?

If so, this session is for you! I will show you how to use Managed Identities inside Dataverse Plugins to authenticate with Azure endpoints safely, without any secrets.

I will take you along the entire journey. From a new Dataverse and Azure environment to a modern secure integration between them based on plugins. After this session, you will be able to update your code to the latest security standards.

Slot-based Field Service

This session is a result of a large Field Service project for a customer that had enough complexities that Self-Service Scheduling and Resource Optimization Scheduling fell short. The result was a small custom scheduling API, based upon the SearchResourceAvailability API, which allowed us to stay true to Field Service standard.

In this session, I will demonstrate how we utilize the SearchResourceAvailability API to implement time slot based scheduling. This allows us to abstract away delay, travel time, and resource allocation from the end booker - simplifying their daily routine. The result is a Field Service solution based on standard that now supports:

* Semi-automated booking of high density work orders (Something RSO can't do).
* Resource availability from resources in multiple pools (Something SearchResourceAvailability can't do).
* Full-rebooking functionality from Power Apps Portal (Something Self-Service Scheduling can't do).

Dependency Injection in Dataverse Plugins

Dependency Injection is the defacto standard in .NET when you have to handle complex business logic. This has usually been imagined to be impossible or impractical to implement in Dataverse. Until now.

In this session, I will demonstrate my approach to do Dependency Injection in Dataverse Plugins and Custom APIs. You will be able to take this approach home with you and apply on your own projects.

After this session you will no longer be scared to place complex business logic in Dataverse Plugins. Get ready to reach new productivity heights when writing .NET code for Dataverse.

Debug and test plugins, workflows, and security locally!

Want to be able to debug your plugin code and forget all about plugin-traces? Want to be able to create tests which can validate that your implemented business logic works as intended - including what you wrote several years ago? XrmMockup is a test-framework that can simulate your D365 environment locally, along with any plugin and workflow code you have.

I will be going through how to set up XrmMockup, how it works and what exactly it is capable of. With XrmMockup you can perform unit- and integration tests of your D365 pipeline. XrmMockup automatically runs plugins and workflows in the right order, even automatically triggering other plugins and workflows. At the same time, the security model of D365 is enforced just as it would be in your live D365 system.

XrmMockup will provide your tests with an organization service. Using this, your tests can query XrmMockup with any organization request - just like your live D365 system. This means all your business logic is run locally which allows you, as a developer, to set breakpoints and debug your business logic - instead of looking at traces in D365.

I will showcase XrmMockup by implementing some simple business logic using test driven development.

Event-driven architecture with Dataverse

In the world of custom development the concept of Domain Driven Design and Event Stores are becoming the preferred way to make durable applications.
Dataverse can not store events in a reliable way, but it can pass them on and receive them in a reliable way.
In this session, I will show the different alternatives in the Power Platform that can be used to pass events in and out of Dataverse to make a more durable application. You will get a taste of Domain Driven Design and the power it brings to an application.

Automated in-memory testing of Power Automate Flows

Tools like FakeXrmEasy and XrmMockup allows a developer to mock a Dataverse environment so their plugins can be run locally.
In this session, I will show how the Power Automate Mock-Up tool can mock Power Automate Flows and together with XrmMockup can test business logic that executes back and forth between Power Automate Flows and plugins.
This adds a new dimension to automated testing in Dataverse that will create more durable applications.

Magnus Sørensen

Microsoft MVP. Developer. Computer Scientist. Type Validation Advocate

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top