O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Designing and Building Custom Apps using Dynamics 365

Video Description

Build dynamic and incisive business solutions

About This Video

  • Implement business logic using processes, plugins, and client-side TypeScript
  • Develop custom xRM solutions to improve your business applications using a mature DevOps and Continuous Integration approach
  • Learn new and advanced features of Microsoft Dynamics 365 Customer Engagement
  • Master using patterns and frameworks by picking the right customization feature
  • Build, test, and maintain consistent custom HTML user interface with Dynamics 365 Unified UI for all devices and formats

In Detail

This course demonstrates the new features released with Microsoft Dynamics 365 Customer Engagement. Using the new Unified User Interface, this course uses a sample application to show how to build complex extensions to the Dynamics 365 for Customer Engagement platform using C# Plugins/Workflow Activities as well as TypeScript generated web resources.

Starting off, the course makes sure you have everything setup for fast and effective collaborative development and a mature Continuous Integration pipeline using Microsoft Team Services, npm, Nuget & Gulp. This includes automated unit testing of both server-side and client-side code as well as packaging and deploying of your solutions.

It then teaches you a framework for effective data modeling of entities within Dynamics 365 and how functionality can be built up in iterations using user story mapping.

Learn about base currencies, to ensure that your custom apps do not run into any challenges as they grow in complexity and usage. The logical and physical architecture of integration with external systems is examined using the new Web-Hooks and Virtual Entity features, allowing data to be both consumed and output in a robust and efficient fashion.

The new Xrm client API features of the Unified Client provide exciting new ways of extending your forms and grids which are demonstrated using the sample application being built.

You'll then learn to extend your Microsoft Dynamics 365 Customer Engagement business applications using HTML, TypeScript, and CSS using KnockoutJS via the MVVM design pattern so that your logic can be unit tested and deployed with easy and effortless repeatability. This course also covers the considerations for mobile touch interfaces so that your feature rich extensions will work on all devices and formats.

Table of Contents

  1. Chapter 1 : Setting Up Our Development Environment
    1. The Course Overview 00:10:15
    2. Dynamic 365 Solution Setup & Deployment Strategy 00:12:55
    3. Visual Studio Environment Setup 00:15:53
    4. Managed or Unmanaged? 00:10:21
    5. Setting up our SpaceFlight365 Solution 00:10:00
    6. Package Deployer 00:13:23
    7. Adding Visual Studio Package Dependencies 00:06:36
    8. Adding NuGet Dependencies 00:04:23
    9. Adding Javascript Dependencies 00:07:56
    10. Enabling Source Control using VSTS & Git 00:09:04
    11. Managing Branches 00:06:16
    12. Introduction to spkl Task Runner 00:02:26
    13. Creating a Plugin Project with spkl 00:12:55
    14. Deploying a Web Resource Project with spkl 00:07:41
    15. Managing Dynamics 365 Metadata 00:10:51
    16. UnPacking Solutions with spkl 00:08:13
    17. Merging Solution Packager Metadata 00:03:59
    18. Packing Solutions with spkl 00:05:58
  2. Chapter 2 : SpaceFlight365 Design
    1. User Story Mapping 00:04:54
    2. Using State Charts to control flow 00:07:19
    3. State Behavior in Dynamics 365 00:06:34
    4. App Data Modelling 00:13:22
    5. Unified Client & Apps 00:08:29
    6. Back to Basics 00:07:03
    7. What is an Account? 00:07:29
    8. Multi-Select Fields 00:09:53
    9. Timezones 00:04:34
    10. Base currency 00:11:59
  3. Chapter 3 : Continuous Integration using VSTS
    1. What is Continuous Integration CI? 00:04:14
    2. Adding Plugin Unit Tests 00:07:22
    3. Adding Javascript Unit Tests 00:09:59
    4. Setting up a CI Build 00:07:49
    5. Creating VSTS Build Definition 00:09:29
    6. Debugging broken builds 00:08:05
    7. Creating a Release Definition 00:09:39
  4. Chapter 4 : SpaceFlight365 Data Model – External Data Integration
    1. Introduction to Data Integration with Dynamic 365 00:08:21
    2. Logical & Physical Integration Framework 00:10:34
    3. Exchange Rate Integration 00:05:16
    4. Exchange Rate Action Plugin Unit Tests 00:07:26
    5. Implement Exchange Rate Plugin 00:09:07
    6. Deploy Exchange Rate Plugin 00:02:42
    7. Flight Telemetry Virtual Entity 00:04:35
    8. Custom Virtual Entity Data Provider 00:05:02
    9. Registering Custom Data Provider 00:08:13
    10. Airport Flight Status Integration 00:03:00
    11. External Integration User Setup 00:15:22
    12. Workflow to apply status update 00:06:07
    13. Check In Status Integration 00:07:09
  5. Chapter 5 : SpaceFlight365 – Form Extensions
    1. Client or Server? 00:07:42
    2. Taking client scripts to the next level 00:09:43
    3. Deploying & Debugging ClientHooks 00:08:58
    4. Calling Dynamics 365 SDK Services from JavaScript – a moving target! 00:12:27
    5. Calling the WebApi from JavaScript 00:11:20
    6. Command Bar Customizations 00:06:08
    7. Adding Buttons & Commands using the Ribbon Workbench 00:10:33
    8. Wiring up the JavaScript to the Cancel Booking Command 00:11:32
    9. Dynamic Flyouts on Forms 00:09:23
    10. Extending Grids 00:05:22
    11. Adding Grid On Change Events 00:10:15
    12. Grid Control Events 00:07:57
    13. Adding Form Notifications 00:03:47
    14. Adding Grid Status Icons 00:08:57
  6. Chapter 6 : SpaceFlight365 HTML Web Resources
    1. MVVM Pattern 00:11:08
    2. etting up the Client UI library and unit tests 00:10:03
    3. Adding Seat Selection logic to the View Model & Unit Testing 00:13:04
    4. Wiring up View Model to View 00:05:56
    5. Adding Knockout Bindings 00:10:45
    6. Responding to Drag Events 00:06:42
    7. Adding Touch Support 00:03:43
    8. Loading data for Seat Selection 00:05:33
    9. Testing inside the Unified Client 00:04:06
    10. Saving the Seat Assignments 00:07:38
    11. Handling Errors 00:03:50
    12. Preparing for deployment 00:11:58