40,79 €
Learn, develop, and design applications using the new features in Microsoft Dynamics CRM
Microsoft Dynamics 365 CRM is the most trusted name in enterprise-level customer relationship management. Thelatest version of Dynamics CRM comes with the important addition of exciting features guaranteed to make your life easier. It comes straight off the shelf with a whole new frontier of updated business rules, process enhancements, SDK methods, and other enhancements.
This book will introduce you to the components of the new designer tools, such as SiteMap, App Module, and Visual Designer for Business Processes. Going deeper, this book teaches you how to develop custom SaaS applications leveraging the features of PowerApps available in Dynamics 365.Further, you will learn how to automate business processes using Microsoft Flow, and then we explore Web API, the most important platform update in Dynamics 365 CRM. Here, you'll also learn how to implement Web API in custom applications. You will learn how to write an Azure-aware plugin to design and integrate cloud-aware solutions. The book concludes with configuring services using newly released features such as Editable grids, Data Export Service, LinkedIn Integration, Relationship Insights, and Live Assist.
This book targets skilled developers who are looking to build business-solution software and are new to application development in Microsoft Dynamics 365, especially for CRM.
Deepesh Somani is a Microsoft Dynamics CRM solutions architect at Dynamisity and a corporate trainer. He is a Microsoft MVP awardee and has been an active contributor to the global technical community. He's authored Mastering Dynamics CRM 2016 for Packt. His blog has had over 280,000 hits and has 500 followers. He's developed 14 free tools with 7,000 downloads and a Learning Dynamics CRM app with 1,500 downloads and 4.4 rating on the Play Store. He's experienced in working in different domains, such as banking, telecommunication, and retail, with teams from different countries and multinational companies. Nishant Rana is a Microsoft MVP – Business Solutions (Dynamics 365) with over 10 years of experience in Microsoft Dynamics CRM, Microsoft SharePoint, and other Microsoft .NET technologies. He has worked as a consultant at Microsoft for 7 years. He is a Microsoft Certified Professional in Microsoft Dynamics CRM, SharePoint, and Azure .NET. He is also a technical reviewer of popular books on Microsoft Dynamics CRM. He is an avid blogger and is also the author of Nishant Rana's Weblog, a technical blog on Microsoft.NET technologies, which has had more than 2.5 million hits and has 1,000 followers.Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 231
Veröffentlichungsjahr: 2018
Copyright © 2018 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Commissioning Editor:0;Aaron LazarAcquisition Editor: Karan SadawanaContent Development Editor: Akshada IyerTechnical Editor: Supriya ThabeCopy Editor: Safis EditingProject Coordinator: Prajakta NaikProofreader: Safis EditingIndexer: Rekha NairGraphics: Jisha ChirayilProduction Coordinator: Arvindkumar Gupta
First published: January 2018
Production reference: 1250118
Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.
ISBN 978-1-78839-978-4
www.packtpub.com
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Deepesh Somani is a Microsoft Dynamics CRM solutions architect at Dynamisity and a corporate trainer. He is a Microsoft MVP awardee and has been an active contributor to the global technical community. He's authored Mastering Dynamics CRM 2016 for Packt. His blog has had over 280,000 hits and has 500 followers. He's developed 14 free tools with 7,000 downloads and a Learning Dynamics CRM app with 1,500 downloads and 4.4 rating on the Play Store. He's experienced in working in different domains, such as banking, telecommunication, and retail, with teams from different countries and multinational companies.
Nishant Rana is a Microsoft MVP – Business Solutions (Dynamics 365) with over 10 years of experience in Microsoft Dynamics CRM, Microsoft SharePoint, and other Microsoft .NET technologies. He has worked as a consultant at Microsoft for 7 years. He is a Microsoft Certified Professional in Microsoft Dynamics CRM, SharePoint, and Azure .NET. He is also a technical reviewer of popular books on Microsoft Dynamics CRM. He is an avid blogger and is also the author of Nishant Rana's Weblog, a technical blog on Microsoft.NET technologies, which has had more than 2.5 million hits and has 1,000 followers.
Debajit Dutta is a Dynamics CRM MVP, with 11 years of IT experience and 8 years of dedicated experience in Dynamics CRM. He is currently working as a freelance architect in Dynamics and enabling CRM setups for clients. He is also an avid blogger and shares any new or interesting topics related to Dynamics 365 through his blog. His previous employers include SanDisk Corporation and Microsoft Corporation.
Currently, he is setting up his own initiative, Xrmforyou, which specializes in end-to-end CRM consulting/delivery and ISV offerings.
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Customize Application Navigation
Overview of the site map
Overview of Site Map Designer
Understanding components in the site map
Getting to know the area, group, and subarea properties
Common operations using Site Map Designer
Editing an existing component in the site map
Adding a component to the site map
Cutting, copying, and pasting a component to the site map
Cloning a component to the site map
Deleting a component from the site map
Organizing a component within the site map
Saving, validating, and publishing changes in the site map
Adding a Subarea component in the site map
Hiding a Subarea component in the site map
Passing parameters to a URL from the site map
Editing the site map and support for clients
Site map editors
Supported clients
Summary
Design Apps Using App Module Designer
Overview of apps in Dynamics 365
Privileges required for configuring apps
Configuring Dynamics 365 apps
Understanding the app properties and designer interface
Understanding the App Designer interface and adding components to the app
Using the custom app
Securing an app
Editing an existing app
Importing and exporting an app
Deleting an app
Web browser and OS support for App Designer
Summary
Define Processes Using Visual Process Designer
Overview of Business Process Flow
Understanding the Business Process Flow users interface
Prerequisites and security roles required for creating a Business Process Flow
Overview of Business Process Flow designer
Creating a Business Process Flow
Editing a Business Process Flow
Understanding task flows
Components of Task Flow
Creating a task flow
Summary
Define Business Rules Using Business Rule Designer
Evolution of business rules
Getting to know the new Business Rule Designer
Specifying conditions using condition components
Taking actions for conditions using action components
Recommendation in action
Additional features of Business Rule Designer
Cut, copy, and paste the component
Deleting the component
Taking a snapshot of the business rule
Set zoom level and Fit to Canvas for ease of readability
Navigating easily using Minimap
Using Business Rule (Text View) to read through the business rule
A few key points about business rules
Summary
Creating Custom Business Apps
Overview of PowerApps in Dynamics 365
Prerequisite for designing PowerApps
Connectors in PowerApps
Managing data for PowerApps
Fetching on-premises data for PowerApps
PowerApps designer
Creating PowerApps using Dynamics 365 data
Creating a PowerApps for case entity
Running PowerApps on a mobile or tablet device
Common Data Service
Creating PowerApps using Common Data Connection
Creating a custom entity
Customizing PowerApps
Summary
Automate Business Processes Using Microsoft Flow
Getting to know Microsoft Flow
Choosing the right Microsoft Flow plan
Understanding the different components of a Flow
Understanding Microsoft Flow in the context of Dynamics 365
Creating a Dynamics 365 Flow
Dynamics 365 Workflow versus Microsoft Flow
Summary
Develop Apps using Web API
Getting started with Dynamics 365 Web API (client-side JavaScript)
JavaScript web resources
Single Page Applications
Working with XMLHttpRequest in Dynamics 365 Web API
Web API URL and versions
Querying data using Dynamics 365 Web API
Standard query options
CRUD operations using Dynamics 365 Web API
Impersonation in Dynamics 365 Web API
Retrieving metadata using Web API
Updates for Web API in Dynamics 365 in version 9.0
Summary
Leverage Azure Extensions in Dynamics 365
Understanding Azure integration with Dynamics 365
Introduction to Microsoft Azure Service Bus
Understanding Dynamics 365 and Azure Service Bus
Understanding the Azure-aware plugin
Understanding different contracts between Dynamics 365 and an Azure solution
Configuring Dynamics 365 and Azure Service Bus integration
Writing a queue listener
Writing a topic listener
Writing a one-way listener
Writing a two-way listener and an Azure-aware plugin
Writing a REST listener
Writing an event hub listener
Summary
Using Editable Grids in Apps
Overview of Editable Grid in Dynamics 365
Prerequisite and security privileges required for configuring Editable Grid
Entities and views supported by Editable Grid
Supported out-of-the-box entities
Web/tablet/phone
Tablet/phone only
Web only
Supported and unsupported data types by Editable Grid
Configuring editable grids for main entity views
Configuring editable sub-grid for forms
Using JavaScript in Editable Grid
Editable Grid and business rules
Editable Grid on mobile devices
Summary
Configure Microsoft Cognitive services
Understanding Microsoft Cognitive Services
Enabling Dynamics 365 Microsoft Cognitive Services Integration
Connecting Text Analytics API with Dynamics 365
Configuring Knowledge Base Suggestions in Dynamics 365
Configuring Similar Records Suggestions in Dynamics 365
Configuring Document Suggestions in Dynamics 365
Monitoring the Text Analytics Service inside the Azure Portal
Summary
Train the Users through Learning Path
Learning Path overview
Prerequisites for using the Learning Path
Enabling Learning Path in Dynamics 365
Content Library of Dynamics 365 Learning Path
Steps to create and configure Learning Path
Publishing content and publishing group
Summary
Other New Features in Dynamics 365
Top new features introduced in Dynamics 365
Understanding visual changes introduced in the web client refresh
Selecting multiple options using multiselect option set
Doing advanced find with Does Not Contain Data filter
Defining web resource dependencies
Understanding the new unified interface
Integrating external data using virtual entity
Implementing auto numbering
Using Relevance Search for improved search experience
Enabling Relevance Search
Exporting Dynamics 365 data using Data Export Service
Configuring Data Export Service
Configuring Relationship Insights
Enabling Relationship Insights
Configuring Relationship Assistant
Configuring Auto Capture
Configuring Email Engagement
Configuring Dynamics 365 Live Assist
Configuring Dynamics 365 Connector for LinkedIn Lead Gen Forms
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
This book will introduce you to the components of new design tools such as SiteMap, App Module, and Visual Designer for business processes. Going deeper, you will get to know how to develop custom Software-as-a-Service (SaaS) applications, leveraging the features of PowerApps available in Dynamics 365. You will learn how to automate business processes using Microsoft Flow then we'll explore the Web API, the most important platform update in Dynamics 365 CRM. You'll also learn to implement the Web API in custom applications write an Azure-aware plugin to design and integrate cloud-aware solutions. The book concludes with configuring services using newly released features such as Editable Grids, Data Export Service, LinkedIn Integration, Relationship Insights, and Live Assist.
This book targets skilled developers who are looking to build business-solution software and are new to application development in Microsoft Dynamics 365, especially for CRM.
Chapter 1, Customize Application Navigation, explores the Site Map Designer, which is a new web-based tool, introduced in Dynamics 365 CRM, which lets the customizer quickly define navigation within an app. Previously, one had to export the Sitemap XML and update it manually in the XML editor, or had to use some third-party tools. The built-in Site Map Designer makes editing the site map for an application much easier.
Chapter 2, Design Apps Using App Module Designer, covers App Module Designer, which makes it easy to add components to a specific app for users. Basically, an app is a collection of related entities, dashboards, and business process flows streamlined in such a way that end users can see only those components of Dynamics 365 CRM that matter to them.
Chapter 3, Define Processes Using Visual Process Designer, explains Visual Process Designer, which brings drag-and-drop design capabilities to Dynamics 365 CRM for business process flows. Business Process Flow in Microsoft Dynamics 365 CRM is a tool meant to help guide users through a business process in the system.
Chapter 4, Define Business Rules Using Business Rule Designer, walks you through Business Rules, which is a new interface that has been introduced in Dynamics 365 CRM. It has been enhanced with a complete UI overhaul, from being a step-by-step action addition to a drag-and-drop action addition.
Chapter 5, Creating Custom Business Apps, explains PowerApps, which provides templates to build custom Software-as-a-Service (SaaS) applications. Microsoft PowerApps allows users at any level in an enterprise to create usable mobile apps.
Chapter 6, Automate Business Processes Using Microsoft Flow, walks you through the creation of automated workflows between your favorite apps and services, in order to work less and do more. It is a cloud-based tool that can be easily used by Power Users without the need for a developer's help. The automated workflows are called flows. To create a flow, the user specifies the actions that should take place when a specific event occurs.
Chapter 7, Develop Apps Using Web API, covers Web API, which is one of the most important platform updates in Dynamics 365 CRM. It replaces OData and, eventually, SOAP-based services in Dynamics 365 CRM. It is based on the OAuth v2.0 and Open Data Protocol (OData) v4.0 standards. Both of these technologies are well established and are platform-agnostic. So, it can be consumed from different types of applications on different platforms.
Chapter 8, Leverage Azure Extensions in Dynamics 365, explains Azure extensions, which post message request data to any of the listener applications listening on the Microsoft Azure Service Bus. This opens up an infinite number of possibilities for integration between CRM and other LOB applications, be they in the cloud or on-premise.
Chapter 9, Using Editable Grids in Apps, explores Editable Grids, which is one of the most highly requested features now available in Microsoft Dynamics 365 CRM. It provides rich inline editing in main grids and sub-grids (web and mobile apps) so that users can perform operations with fewer clicks, without having to navigate to the main record.
Chapter 10, Configure Microsoft Cognitive Services with Dynamics 365, explains the configuration of cognitive services, which enables artificial intelligence to be incorporated into and integrated with Dynamics 365 CRM, specifically to make product recommendations and to suggest knowledge articles. Recommendation Service and Text Analytics Service connections can be configured easily inside Dynamics 365 CRM.
Chapter 11, Train the Users through Learning Path, takes a look at Learning Path, which allows user to author a custom, in-app help experience that could be specific to the CRM Solution. It facilitates learning and user adoption of Dynamics 365 CRM implementation.
Chapter 12, Other New Features in Dynamics 365, gives a brief description of some of the other new features in Dynamics 365 CRM that haven't been covered in the earlier chapters.
This book assumes that the reader has some basic knowledge of Dynamics CRM and would like to learn the new features introduced in Dynamics 365. However, someone who hasn’t worked with the previous versions and is starting afresh with Dynamics 365 will equally benefit from it. Developers, customizers, administrators, and power users will be able to enhance their skills by learning about the latest features and changes introduced in Dynamics 365.
You can try out all the features and topics mentioned in the book using a trial instance of Dynamics 365 (https://trials.dynamics.com/) along with the free community edition of Visual Studio 2017 (https://www.visualstudio.com/vs/community/). Some of the topics covered do not apply to the on-premise version of Dynamics 365.
You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.
You can download the code files by following these steps:
Log in or register at
www.packtpub.com
.
Select the
SUPPORT
tab.
Click on
Code Downloads & Errata
.
Enter the name of the book in the
Search
box and follow the onscreen instructions.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
WinRAR/7-Zip for Windows
Zipeg/iZip/UnRarX for Mac
7-Zip/PeaZip for Linux
The code bundle for the book is also hosted on GitHub athttps://github.com/PacktPublishing/Dynamics-365-Application-Development. We also have other code bundles from our rich catalog of books and videos available athttps://github.com/PacktPublishing/. Check them out!
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://www.packtpub.com/sites/default/files/downloads/Dynamics365ApplicationDevelopment_ColorImages.pdf.
There are a number of text conventions used throughout this book.
CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The listener application needs to implement the IServiceEndpointPlugin interface's Execute method along with WS2007HttpRelayBinding, to which RemoteExecutionContext is passed from the Azure Service Bus."
A block of code is set as follows:
Request: GET [Organization URI] /api/data/v9.0/contacts? $select=firstname&$top=5 Accept: application/json OData-MaxVersion: 4.0 OData-Version: 4.0
Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Do all the changes, and click on the Save Entity button:"
Feedback from our readers is always welcome.
General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.
Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!
For more information about Packt, please visit packtpub.com.
A site map can be defined as a set of links through which a user can navigate and find their way around the website. In Dynamics 365 and in its earlier version, a site map is an XML file that is used for defining the navigation of the application or specific app module for the users. Until CRM 2016, there had been only one site map file for an organization. With the advent of apps in Dynamics 365, now we have one site map file for each of the app modules. As far as customizing the site map was concerned, until now we had to either update it using XML Editor, a text editor or some third-party tools. However, with Microsoft Dynamics 365 we have the built-in Site Map Designer in the product itself. This designer allows the administrator, customizers, or users with appropriate privileges to easily define navigation for an app by simply adding, dragging, and dropping the components within the Site Map Designer canvas. In this chapter, we will be covering the following points:
Overview of the site map in Dynamics 365
Understanding the designer interface and its components—areas, group, and sub areas
Common operations that can be performed on the site map
For every app that is configured, we will have a separate site map defined for it. By default, we will have a Dynamics 365 custom app configured during the set up of the Dynamics 365. We can also have other apps configured while provisioning the Dynamics 365 instance such as Sales, Field service, Project service automation, or Customer service, if we have opted for them while provisioning Dynamics 365. For now, let's try to understand the basics of using the Site Map Designer using Dynamics 365 for a Sales app. Suppose we have selected Sales while provisioning Microsoft Dynamics 365, shown as follows:
This will provision Dynamics 365 with a Sales app. This is how the navigation will look for the Sales app:
Now, as we have covered the basics of site map, let us look at the Site Map Designer interface and what components it has and how we can use it to update our site map for sales.
To access the Site Map Designer for our Sales app, perform the following steps:
Log in to the Dynamics 365 Sales app with a user having System Customizer, System Administrator, or any appropriate security role to customize the site map.
Go to
Settings
|
Solutions.
Create a new solution with the appropriate details. For example, we have created a solution with the name of Site Map Solution, the publisher as default publisher, and the version as 1.0.0.0.
Click on
Client Extensions
and add
Sales App Site Map
in it, shown as follows:
Double-clicking on it will open the Sales App Site Map on the Site Map Designer for us to edit. The Site Map Designer canvas allows us to work with Area, Group, and Subarea components:
Within the designer canvas, we can Add, Cut, Copy, Paste, Clone, and Delete.
Let us look at these components in detail.
Site map consists of three main components:
Area
: Area can be defined as the main node or area inside the navigation pane that consists of groups and their corresponding subarea. A new area can be added or the existing area can be updated or deleted. If an area doesn't consist of any visible subarea, the area will be hidden.
Group
: Groups can be defined as a collection or group of subareas. Just like an area, a new group can be added or an existing group can be updated or deleted.
Subarea
: A subarea can be defined as a navigation link within the area that defines what should load inside CRM's main pane when clicked. The subarea can point to a dashboard, an entity, a URL, or a web resource. Just like area and group, a new subarea can be added and an existing subarea can be updated or deleted.
Referring to our Sales app interface:
Sales
,
Marketing
,
Settings
, and
Training
are termed as areas
My Work
,
Customers
,
Sales
,
Collateral
,
Marketing
,
Goals
, and
Tools
are groups within the Sales area
Dashboards
,
What's New
, and
Activities
are subareas inside the
My Work group
.
The Sales area would have subareas specific to Sales, arranged inside what are termed as groups. Similarly, the Marketing, Settings and Training Area will have corresponding subareas inside the corresponding group. As shown in the following screenshot, the Marketing Area has Dashboards, Activities, Accounts, Contacts, Leads, Marketing Lists, Campaigns, Quick Campaigns, and so on. It also has subareas specific to the marketing module. These subareas are arranged inside the My Work, Customers, Marketing, Collateral, and Tools groups:
Now, as we have got the overview of the site map components, let us look at the different properties of each of these components in the next section.
