Monthly Archives: August 2020

ALM for Power Platform/Dynamics 365 Projects in Azure DevOps/VSTS using Power Platform Build Tools – PART 1

Couple of months back I wrote a post on how to implement CI/CD for Dynamics 365 CE. That post can be found here and is still relevant.

In this series of blog, we will explore building out DevOps processes for Dynamics 365 Customer Engagement (CE) and Power Platform projects by utilizing Power Platfrom Build Tools.

Problem Statement

I have started working on ALM when I was assigned as a Platform Engineer for a Dynamics 365 CE and Power Platform implementation project. At that time, I had a few key challenges with deployments. I have listed those below:

  • Solution files were manually extracted and imported to target as a deployment process
  • Multiple deployment process is followed between release environments. For example, in Dev and Sit environment, the solution was migrated manually, and in UAT, Pre-Prod and Prod environment DB compare was applied to promote changes
  • Master data were mutually entered in each environment
  • Multiple developers working in the same organizations overwriting the changes.

To solve the above challenges, I have started working on ALM process. Before we start solving the problem, let us take a moment to see some of the Pre-Requisites which we required for building the ALM Process

Pre-Requisites

How to Setup Azure DevOps

You will need an Azure DevOps environment. Navigate to https://azure.microsoft.com/en-us/services/devops/ and click on the Start free option.

You will need to sign in with your Microsoft account. After logging in, it will take you to the https://dev.azure.com/dharani1743/

Next, we can start by creating a new project in Azure DevOps. This will contain your pipeline and your source repository.

After creating the project, you will be able to see the below screen

Install PowerPlatform Build Tools

Next, we will see how we can install the PowerPlatfrom Build Tools into your Azure DevOps instance.

Choose your specific Azure DevOps organization (in case you have many)

select the install and click on download. Now we have installed the PowerPlatform Build Tools in your Azure DevOps instance.

In my next blog, we will see how to setup the repository and how to create a VSTS Build and Release definition to save a Power Platform solution to Source Control and import the solution into the target instance.

If you are interested in this topic and would like to do some further self-study I encourage you to check out my blog on this.

Resource Scheduling Optimization (RSO)- Initial configuration steps – Part 1

In my previous blog, I have explained “How to configure the RSO in Dynamics 365 Instance“.

In this blog, I will explain how to start with the Initial configuration steps of RSO.

Once the RSO solution has been deployed, you will be able to see the RSO Application as follows:

After installing RSO, Initial steps need to be configured inside your Dynamics 365 instance. We need to enable the functionality in your Dynamics 365 environment and defining what should be optimized by the solution.

By default, RSO will not be enabled (it will be in turned off) state, so it will need to be turned on.

This can be enabled from the Resource Scheduling Optimization app by selecting Administration > Resource Scheduling Parameters.

When RSO is installed, the RSO will add a Resource Scheduling Optimization tab. From the tab you can enable RSO by setting the Enable Resource Scheduling Optimization field to yes.

You can define a default goal for the organization if needed. You can select the default goal, or you can create your own goal from the Optimization goals tab.

How to configure Bing Maps in RSO?

RSO mainly use the map functionality to locate the closest resource to work on an item, so it is important that the organization has enable the map functionality

By default, the Connect to Maps field will be set to no in the scheduling parameters. You will need to set this to yes to ensure the schedule board and schedule assistant will use maps to schedule items.

Navigate to Administration in the RSO Application, open the scheduling parameters and update the Connect to Maps field to Yes.

By default, it will use Bing Maps, but you can configure it to work with any map provider by providing a specific Map API Key value for the mapping provider you want to use in the Map API Key field.

In the next blog I will show you the “how to prepare data for optimization”

I hope this blog post helps you. If you are interested to know more about this topic then, I encourage you to check out my blog on this.

How to configure the Resource Scheduling Optimization (RSO) in Dynamics 365 instance

In this blog post, I will explain how to configure the Resource Scheduling Optimization (RSO) to your Dynamics 365 CE instance.

Organizations that require automated scheduling and optimization can purchase the Resource Scheduling Optimization (RSO) add on solution.

  • Purchase Field Service. Go to the Microsoft 365 (Office 365) Admin Center > Billing > Purchase Services and then we need to purchase Resource Scheduling Optimizations (RSO) from Add-ons.

Once purchased, the solution can be deployed to a specific Dynamics 365 instance from the Power platform Admin center by navigating to the https://admin.powerplatform.microsoft.com/resources/applications .

The RSO application will be listed in the available applications list. Once located, it can be configured for a specific instance by selecting the manage button.

Once you click on manage it will navigate you to the https://rsomanagement.dynamics.com/

When deploying the solution, you will need to provide the organization it should be deployed to and agree to the licensing agreement. When it is deployed, RSO creates a Microsoft hosted Azure instance that hosts the optimization engine and service.

This instance is managed and maintained by Microsoft and is used only for the RSO deployment. After the RSO solution has been deployed, it can be managed from this same area moving forward.

After it is deployed, the RSO instance management screen provides the following capabilities:

Open CRM Organization: Allows you to access the Dynamics 365 organization that is associated with the RSO instance.

Delete current Deployment: This will delete the RSO Azure resources. The RSO solution will remain in your Dynamics 365 environment. It does not impact anything inside the Dynamics 365 organization.

It will take at least 15 minutes to deploy RSO into Dynamics 365 CE instance. Once it is deployed, it will display as configured in the resources page in Power Platform Admin center as follows:

After the solution has been deployed, it will need to be configured inside your Dynamics 365 instance. In the next blog I will show you how to do the configuration in Dynamics 365 CE instance.

I hope this blog post helps you. If you are interested to know more about this topic then, I encourage you to check out my blog on this.

How to Integrate Dynamics 365 with Azure Service Bus

Here is next blog on “How to Integrate Dynamics 365 with Azure Service Bus” without writing any code.

Azure Service Bus and Dynamics 365

Azure Service Bus provides a native integration with Dynamics 365. This means we can send messages to Azure Service Bus from CRM when an event occurs, these messages can then be used to integrate with several downstream applications.

SAS (Shared Access Signature) authentication is used to access Service Bus resources. SAS authentication involves configuring a cryptographic key with associated rights on a Service Bus resource. Clients such as Dynamics CRM can get access to that resource by presenting a SAS token.

Let us build a CRM to Azure Service Bus integration.

Pre-Requisites:

  1. Azure Subscription
  2. Dynamics 365 CE instance
  3. Dynamics 365 Plugin Registration Tool

Here is an overview of how to integrate Dynamics 365 CE with Azure bus by without writing any code

  1. Create an Azure Service Bus in the Azure Portal
  2. Create a Queue on the Bus
  3. Create a Shared Access Key (SAS) for writing messages to the Bus
  4. Copy the Connection String
  5. Register a Service Endpoint in Dynamics with the Plugin Registration Tool
  6. Register a Step under the Service Endpoint for the Entity we want to send
  7. Perform the action in the Dynamics 365 CE and check the results with Service Bus Explorer/Azure Portal.

Step 1: Configure Azure Service Bus and obtain a connection string

You will need an active Microsoft Azure account. Browse to the Azure Portal and click Service Bus. We will start by creating a new namespace.

Next, create a new Service Bus instance by clicking on the below Add button.

Next, create a new Service Bus Messaging Entity such as Queue.

Finally, obtain the connection string by browsing to newly created Shared Access Policy or you can create your own Shared Access Policy.

After the SAS has been created. Then click on the copy button next to the Primary Connection String. We will be using this to tell Dynamics 365 CE in the Plugin Registration Tool.

Step 2: Use CRM plugin tool to make a connection to CRM and Azure Service Bus

Open the Dynamics 365 CE Plugin Registration Tool and Create new connection and login to your Dynamics CRM 365. Next, register a new Service Endpoint.

Copy and paste the connection string obtained in Step 1 in the below high-lighted textbox.

New Service Endpoint now appears in the list of registered plugins.

Step 3: Define events which will post messages to Azure Service Bus

Right-click the Service Endpoint and add a new step. Enter trigger action such as create, delete, etc. in the ‘Message’ box. Enter the primary Entity on which the action will occur. Also, mark the execution mode as ‘Asynchronous’.

Now we have configured the endpoint in Plugin Registration Tool, it is time to test it out. Login to you Dynamics CRM 365 CE and go to case and create a new case. This should trigger an action on the Service Endpoint.

Verify that a message is queued on the Azure Service Bus. Go to Queues -> Overview you can see all the messages in the queue.

And that’s how you can easily configure Azure Service Bus for Dynamics 365 CE without writing any code.

I hope this blog post helps you. If you are interested to know more about this topic then, I encourage you to check out my blog on this.

How to enable Microsoft Teams integration in Dynamics 365 CE

Here is next blog on “How to enable Microsoft Teams integration in Dynamics 365 CE”

  1. Sign in as a System administrator to Common Data Service.
  2. Go to Settings > Administration > System Settings > General tab.
  3. To enable basic collaboration experience, select Yes for Enable Basic Microsoft Teams Integration.
  • 4.      To enable enhanced collaboration experience, select Yes for Enable Enhanced Microsoft Teams Integration.
    • When you select Yes to Enable Enhanced Microsoft Teams Integration, there is two consent permission popup boxes that will display. If you have a pop-up blocker and you don’t see the second consent dialog, then you need to disable the pop-up blocker in your browser.
  • On the second consent dialog box, select the checkbox for Consent on behalf of organization and then select Accept.

 Note

If you don’t select Consent on behalf of organization option, then when another user tries to pin an entity record or view to Microsoft Teams and shares the tab with another user, they will get this error message, The admin has not consented to use user sync feature, you can add them manually.

  • After the second consent is accepted select, Finish and then select OK on the System Settings screen. If you don’t select OK on the System Settings screen then you will lose your changes.

Once it is enabled, you need to install the Microsoft Teams App and set up the Microsoft Teams Collaboration Channel Tab In my upcoming post I will show you how to install and set up the Dynamics 365 in Microsoft Teams.

I hope this blog post helps you. If you are interested to know more about this topic then, I encourage you to check out my blog on this