
This video provides an overview of the entire course.
The aim of this video is to describe the available solutions comprising Dynamics 365, as well as identifying the customer engagement specific modules.
Look at the available solutions out of the box
Get the solutions overview
Select the solution you need
The aim of this video is to familiarize ourselves with the various ways in which Dynamics 365 offers its modules, as well as the ability to extend the platform further with other third party solutions.
Purchase pre-packaged solutions
Purchase individual modules
Extend functionalities with additional third party solutions
The aim of this video is to describe the options available to extend Dynamics 365 Customer Engagement.
Extend by selecting new standard modules
Extend by selecting third party apps from the App Store
Extend by contracting an implementation partner to build a custom solution
The aim of this video is to describe the process to create a 30-day trial of Dynamics 365 Customer Engagement. The created trial will not be specific to any particular functionality, but will match the original Dynamics CRM navigational functionality.
Create your first trial
Look at the options to setup a trial
Identify one-time configurations that cannot be modified after instance creation
In this video, we will be looking at the Dynamic 365 for Sales functional module.
Explore how to manage leads, opportunities, and customers
Track interact ions with the customers
In this video, we will look at how we can manage our customers.
Explore how to record the customers
Explore how to track the customers
In this video, we will be exploring how to manage the sales process.
Explore how to interact with a process
Work with the records to manage the sales
In this video, we will be exploring goal tracking, reporting, and intelligence.
Explore the sales performance dashboard for goal tracking
Explore the parameters involved in setting a goal
In this video, we will look at the Dynamics 365 for Customer Service functional module.
Learn how to manage issues raised by a customer
Aggregate information relevant to a particular customer
Present the information to provide best possible service or support
In this video, we will delve into case management.
Walk through a typical case management process in a classical web interface
Check how to the fields in a specific case and how to resolve it
In this video, we will delve into Interactive Service Hub.
Learn how to work with the Customer Service Hub
Check out the fields, data, and tabs in the new UI
In this video, we will look at the Dynamics 365 for Field Service functional module.
Explore this newest service module
Explore the various feature of this module
Explore what the field service solution trying to achieve
In this video, we will cover scheduling.
Look at the scheduling capabilities for service appointments
Look at the scheduling engine
In this video, we will look at inventory management.
Explore the warehousing inventory capabilities of this module
Explore the administration section
In this video, we will explore the Dynamics 365 for Project Service Automation.
Delve into the Dynamics 365 for Project Service Automation functional module
Manage the project flow with PSA
Know the close correlation between field service module and PSA
In this video, we will explore resource management.
Explore how to go about resource management
Add and tweak the roles and human resources
In this video, we will explore time and expenses management.
Explore how to go about time reporting
Manage the expenses
In this video, you will explore the various deployment models available with the platform.
Explore the features of online model
Explore the features of on-premise model
Explore the features of hosted and Hybrid deployment model
In this video, look at the factors to consider while selecting a deployment mode over another.
Explore the pros and cons of online model
Explore the pros and cons of on premise model
Explore the pros and cons of hosted model
In this video, we will explore the main components of Dynamics 365 platform.
Explore the functional modules
Explore various entities
Explore various processes
In this video, we will explore the main components of Dynamics 365 platform.
Explore the various reports and dashboards
Explore about entity forms
Explore the data fields
In this video, we will look at the concept of entities in detail.
Explore what entities are
Learn about entity classification
Learn about the various types of entities
In this video, we will look at the concept of entities relationships.
Know what are relationships
Look at the various relationship types
Learn relationship field mapping
In this video, we will look at the entity properties.
Explore the core definition of an entity
Explore various entity forms and views, charts, fields, and keys
Explore the entity business rules
In this video, we will delve into functional modules.
Know what drives the need for functional modules
Know what functional module is
In this video, we will delve into out of the box functional modules.
Know what they are
Check out each of them on the platform
In this video, we will delve into the concept of custom functional modules.
Know what they are
Edit the SiteMap
Create an app
This video will give you an overview about the course.
Understand the differences between Online and On Premises versions of Dynamics 365.
Learn to run the different components of the Dynamics 365 development platform
Understand the key differences between Online and On Premises
Look at the version of Visual Studio to use
Get an overview about how to create a Visual Studio solution to hold your customizations.
Create a project in Visual Studio 2017 to hold plugins
Create a project to hold Web resources
Understand the uses of Developer Toolkit to create the projects in Visual Studio 2015
Get an overview about Managed or Unmanaged solutions.
Understand the advantages of using Managed solutions
Understand when and why you would use Managed Solution
Understand solution upgrades and patching
Learn how to create a solution to hold the customizations that you will be building.
Create a publisher and solution also understand the prefix
Add components to the solution
Create a patch and then clone your solution to a new version
Get an overview about thePackage Deployer.
Look at the deployment aspects of your solution
Learn to extract reference data using the Configuration Migration tool
Build and run a Package Deployer
Understand the most popular feature Package Managers.
Understand the usage of Package Managers to restore different features
Learn to manage Visual Studio dependencies at design time
Learn to manage Dynamics dependencies at run time
Learn how NuGet is used to distribute the Dynamics 365 SDK assemblies.
Install the SDK Assemblies from NuGet
Learn how to restore missing dependencies
Look at the usage
Understand how Npn can be used to distribute javascript for design time and to get the source files for distribution.
Add a TypeScript source file
Install Npn and add Knockout
Learn how to restore missing packages
Get to know how to connect to Visual Studio Team Services to manage our code.
Learn about the key types of source control versioning systems
Create a new Visual Studio online Git repository and clone to a local repository.
Learn how to commit our changes
Understand how to work on the same solution without overwriting other work.
Understand what is Repository and Branch
Look at the usage of Local branches for experiment/features
Look at the usage of Origin branches to maintain master releases, patches and feature development
Get an overview of spkl task runner.
Understand why we use spkl
Understand how spkl is configured
Understand what are the most common tasks that spkl is used for
Learn how to use spkl to easily deploy plugins using metadata contained within a plugin assembly.
Create a feature branch for the account plugin
Create a plugin and add plugin step metadata
Learn how to deploy a plugin using spkl
Get an overview of how to map our local project file system to the Webresources.
Learn to commit our Plugin project to git
Install and configure spkl on the Webresources project
Deploy the Webresources and merge our code into the dev branch
Understand how to version control metadata configured in Dynamics 365.
Understand the challenges of managing metadata
Learn about simple metadata management
Learn how the solution packager can be used to managed more complex scenarios
Get to know how to create a project to hold the metadata xml in Dynamics 365.
Create a solution and configure for use with spkl
Understand the mapping of solution components during the unpack/pack process
Learn to unpack the metadata using the solution packager
Understand the usage of solution packager to merge changes together from parallel branches.
Create parallel branches with different metadata
Learn to merge the metadata together
Learn to commit the changes
Understand how to deploy your Dynamics 365 instance.
Learn to deploy metadata by packing and importing
Learn to resolve errors thrown during re-packing
Check out the functionality
Learn about using story maps to create an overview of your application before you start implementing it.
Learn to use story maps to describe your application
Get to know about flight management
Get to know about record bookings and check-in
Learn about the usage of State Charts to model behavior.
Understand about state chart is and how it’s used to model behavior
Examine the booking & passenger state chart
Understand how to create state charts in Dynamics 365.
This video will walk you through the process of using State Charts to model behavior.
Understand what a state chart is
Understand how state chart is used to model behavior
Examine the Booking & Passenger State Chart
Take a look at the SpaceFlight365 data model and how it can be tested with object diagrams.
Examine the SpaceFlight365 Data model
Learn to use object diagrams
Learn to test data.
Take a look at the over-used word ‘App’ and what Apps look like in the Dynamics 365 world.
Learn about the 3 different types of app
Learn about the unified client and it’s evolution
Learn about the Dynamics 365 app designer
This video will walk you through the basics of SpaceFlight365 Data model.
Learn about the moving contact scenario
Learn to preserve the business context of contacts
Take a look at why an account is more than just a ‘company’.
Learn to handle legal hierarchies with accounts
Learn to model ‘individual’ accounts
This video will walk you through the pros and cons of using a multi-select option set field over a lookup relationship.
Understand the differences in behavior of lookups and option set
Learn to configure multi-select option set fields
Learn how Dynamics 365 can manage data time fields with 3 different types of behaviors.
Learn about User local fields
Learn about Date only & time zone independent fields
Learn about an example of the time zone fields in Dynamics 365
This video will give you an overview of how to take payments for bookings in multiple currencies.
Learn about base currency
Learn to calculate currency rollups
Learn about an example about currency exchange rates
Get an overview of Continuous Integration.
Learn to automate build pipeline using continuous integration
Take a look at where CI sits within the software development lifecycle
Understand the benefits of build pipeline
Get an overview of how to add unit tests.
Add C# unit tests to your build so that new and existing code can be tested automatically
Mock the plugin pipeline
Run unit tests
Learn how to add Javascript unit tests using qunit and chutzpah.
Add Javascript unit tests to your build to test new and existing code
Run Javascript unit tests inside visual studio
Understand how to prepare the Visual studio solution so that it can be built and tested automatically within VSTS.
Setup CI build
Create script to automatically set build versions
Create script to pack your solution automatically
Learn to add the build definition in VSTS with the tasks necessary to download the code.
Create a continuous integration build definition in VSTS
Run the build in VSTS
Build and test the artefacts
Learn how to use logging to investigate the cause of your broken build.
Learn to fix a broken build
Add logging to chutzpah unit tests
Download build artefacts
Understand how a release definition in VSTS and create a release definition.
Build artefacts and deploy it to the target environments automatically
Add release deployment tasks
Automatically deploy build artefacts
In this video learn about the data integration for SpaceFlight 365 solution.
Get to know about the framework for successful analysis of the challenges
Get to know about the Data Flow Diagram of the SpaceFlight 365 solution
Get to know about the Data Integration Steps to Success
In this video learn how to categorize each type of data integration.
Get to know about the Logical Architecture Framework
Get to know about the Physical Architecture Framework
In this video learn how to create scheduled jobs that run inside Dynamics to integrate exchange rates.
Call an external webservice and update the exchange rates
Get an cverview of logical and physical architecture
Create Action and Scheduled Job Workflow
In this video learn about scheduled jobs and custom actions.
Create Unit test for the Custom Action Plugin
Add Early Bound Types
In this video learn how to create Unit tests and then implement the custom action plugin.
Call the Exchange Rate Service
Implement the Plugin
Unit Testing and checking the call with Fiddler
This video will give you an overview about how to deploy the custom action plugin and test the workflow.
Registering the Exchange Rate Plugin
Deploy the Plugin using spkl
Test the Workflow and Action
In this video learn about Virtual Entities and how the Telemetry data is queried using one.
Look at the design of our Airport Flight Status Integration
Use Virtual Entities with Custom Data Providers
Look at the Virtual Entities and Data Sources
This video will give you an overview of Custom Virtual Entity Data Provider.
Understand the virtual entity data provider limitations
Get to know the utility of custom data provider
Create a custom data provider to query the telemetry data
In this video how to use the plugin registration tool to register your custom data provider and configure.
Register custom data provider
Configure the virtual entity
Test and debug the custom data provider
This video will walk you through the process of Airport Flight Status Integration.
Understand the logical architecture of the flight status inbound integration
Understand the physical architecture of the flight status inbound integration
Look at the design of the Airport Flight Status Integration
This video will give you an overview of the External Integration User Setup.
Understand how to use Azure AD to create an external application user to be used by the space port hub
Creating External Application ID registration
Test External Authorization using the Application ID and token
In this video create a local queue in Dynamics with a workflow to asynchronously process the status updates.
Create a workflow to update status in response to the hub message
Test using simulated hub updates
Understand how to use Webhooks to send passenger check in updates to the space port hub.
Review of the Check-In Integration Flow
Register Webhook
Test the Webhook message
Understand the implications of moving away from configuration approaches and know where to apply our extensions while customizing forms.
Pros and Cons of Business Rules
Look at Client verses Server Customizations
This video will walk you through the setup process of your client JavaScript so that it is ready for deploying as a single file.
Merge multiple types script files into a single output file
Manage multiple scripts – Form & HTML webresources
Debug typescript with source maps
In this video learn how to deploy Dynamics 365 and register it on a form.
Deploy ClientHooks using spkl
Register ClientHooks on a Form
Debug using source maps
In this video learn how to make a call to the WebApi.
Look at the platform uses IOrganizationService compared to the Organization.svc and WebAPI endpoints
Review the Client Side API for calling the WebAPI
Understand the Form Context and it’s utility
In this video learn how to look up route id from the flight record using the WebApi.
Automatically populate the route
Link your ClientHooks library to a form on change event
Call the WebApi inside an onchange event
Understand how the command bar is constructed at run-time and its history.
Learn about the different types of Command Bar we can customise
Understand the layering of Command Bar Customisations
Get to know about ‘RibbonXml’
In this video learn you will learn to ensure that your JavaScript accepts the correct arguments so that you can access the form context.
Install & open the Ribbon Workbench
Custom buttons in the Space Flight 365 solution
In this video learn to add the JavaScript that is called by the Commands and Enable Rules.
Add the Enable Rule JavaScript
Add Command JavaScript
Use the PrimaryControl argument to access the form context
In this video learn how to use a Populate Command allows you to create dynamic flyouts.
Learn about Flyouts and Menus with Dynamic Populate Commands
Add the Dynamic RibbonXml generation JavaScript
Test the flyout command
In this video learn how to extend the grids to introduce similar functionality to that on the full record form.
Overview of Grid Execution Context
Respond to Grid On Change Events
In this video learn how to write it so that it can be used both inside a form and a grid event.
Create and register the on change JavaScript
Write the JavaScript so that it can be called inside a grid or a form
Test the Editable Grid Events
In this video learn how to respond to changes to grid data in the parent form we can hook into the overall grid control events.
Understand the difference between Grid Context events and Grid Control Events
Add code to the Grid OnLoad event
Access grid rows to total up the booking price
In this video learn how to alert the user and show a notification.
Take a look at each technique and the scenarios they work best in
Go through the various options you have for adding form notifications
Add a recommendation notification to a form
In this video learn how to add icon indicators to draw attention to a flight cancellation using status icons.
Add a status icon to the flight view
Go through the considerations for multiple clients
This video will walk you through the MVVM pattern.
Use the MVVM pattern to create an elegant separation of concerns between your business logic and the user interface
Learn about what and why we use the MVVM Pattern
Review the Seat Selection Design
In this video you will create the library using gulp and add the ViewModel with a stub Unit Test.
Setup gulp to create our ClientUI.js
Create the ViewModel
Create a unit test for our ViewModel
In this video you will add code to provide the view with Seats and Passengers that it can data-bind to.
Create Seats, Rows and Passengers Observable Arrays
Load Seat Configuration
Unit Test the View Model
In this video you will create a View – including a library of User Interface libraries that we’ll use.
Create Select Seats.htm
Create Gulp task to concatenate dependencies into a single library
Update Fiddler to provide redirects for all html/css/js/images
In this video you will add some HTML templates so that we can see the seat layout and drag passengers around.
Instantiate the ViewModel from the View
Add Seat Rendering Template Bindings
Add, Debug, Drag and Drop Bindings
In this video you will make your ViewModel respond to a passenger being dropped so that we can assign the correct seat number.
Assign Seats after a passenger is dropped using the afterMove binding
Add the unassigned passengers area
The Unified Client is common across all devices and so we must ensure that we support touch events as well as mouse events.
Add support for Unified Client Touch events on mobile/tablet devices
Add the jQuery UI Touch-Punch
Test Tablet/Phone UI in the browser
In this video you will load the real seat and passenger data for the space craft assigned to the flight.
Add code to load seats and passengers for booking
Async Functions
Use Promise.all to run async WebApi requests in parallel
In this video you will add HTML Webresource to the form and test how it looks.
Wirte up the View to the ViewModel ‘load seats’
Add the Web Resource to the form
Test the Web Resource inside the Unified Client
In this video you will update the passenger records.
Add Passenger Edited Event
Hook Form Save Event up to ViewModel Save function
Add ‘saveSeatAssignments’ function
In this video you will add some error handling. Luckily TypeScript handles the Promise.catch for us.
Add Error Handling around the async events
Show an alert dialog when there is a simulated save error
In this video you will add some build configuration dependent steps to our gulp tasks.
Minify the output JavaScript ready for release using gulp
Call gulp from the command line passing the build type as a parameter
Microsoft Dynamics 365 Customer Engagement is currently one of the most successful Customer Relationship Management platforms in the market. It is capable not only of the typical Salesforce automation functionality, but it can also serve various other purposes. This flexibility, along with its various deployment options, makes it a very enticing proposition for businesses of any size.
This learning path follows a practical approach and incremental approach that provides in-depth and comprehensive information on Dynamic 365 and its new features. It starts with learning about the core platform structure. We look at the entities, relationships, modules, and internal structure of the platform. A complete hands-on to using 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 Typescripts generated web resources.
Similarly, you’ll then learn to extend your Microsoft Dynamics 365 Customer Engagement business applications using HTML, Typescripts, and CSS using Knockout JS 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.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Getting Started with Dynamics 365 Customer Engagement focus on the main types of licensing option available for Microsoft Dynamics 365 Customer Engagement. We look at the requirements for each option, and how to choose the right one. You will then learn about core platform structure. We look at the entities, relationships, modules, and internal structure of the platform. Throughout this course we create a trial online environment for use during the course, look at out-of-the-box functional modules, and get a better understanding of the main platform components. By the end of the course, you will be able to use proper terminology, communicate effectively with system implementers, and understand the relationships between the various technical and functional elements.
The Second course, Designing and Building Custom Apps using Dynamics 365 demonstrate 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 Typescripts generated web resources. Starting off, the course makes sure you have everything set up 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. You'll then learn to extend your Microsoft Dynamics 365 Customer Engagement business applications using HTML, Typescripts, 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.
About the Authors:
Nicolae Tarla is a Microsoft Dynamics 365 Consultant and Business Solutions MVP, specializing in solution architecture and technical presales. He has worked on various midsize to enterprise-level Dynamics 365 Customer Engagement, Dynamics 365 Finance and Operations, and Office 365 implementations for both the private and public sectors. He has been delivering Microsoft Dynamics CRM solutions since version 3.0 of the platform. He has also published several books on Microsoft Dynamics CRM and has presented at conferences on this topic.
Scott is a Microsoft Business Solutions MVP specializing in Dynamics 365. He is a committed and passionate software architect & technologist with a successful track record of realizing business vision through enterprise/application architectures that are tightly aligned with budget and timescales. By combining his detailed technical knowledge with a clear grasp of the wider commercial issues Scott can identify and implement practical solutions to real business problems. Scott is an excellent communicator and technical author, regularly speaking at conferences in the UK and abroad. Scott’s software career spans more than 20 years where he has moved from assembly language device driver programming, industrial control software and then into enterprise business applications. His experience covers work in Europe, North America, and Japan. He is also the author of the Ribbon Workbench for Dynamics CRM and SparkleXRM.