• About

Information Dynamics

Information Dynamics

Category Archives: Uncategorized

Adding webresource LegacyUI vs PowerApps

25 Sunday Jul 2021

Posted by GIRISH SRINIVASA in Uncategorized

≈ Leave a comment

Tags

Dynamics 365, Power Platform, PowerApps

For adding/removing CRM solution components the Legacy UI settings provided a convenient view of the all the different solution components viz., Entities, WebResources etc.

The “Try New Experience” provides a different UI experience although less user intuitive and takes a bit of navigation to get through the section to be able to add a new Web Resource to the solution.

Business Process Flows

29 Wednesday Jul 2020

Posted by GIRISH SRINIVASA in Dynamics 365 CE Online, Dynamics CE 9, Uncategorized

≈ Leave a comment

Tags

Business Process Flow

In this article we look at ways of automating certain business processes while developing an xRM application on Dynamics CE platform. There are actions, workflows, business process flows and dialogues that can be used for the purpose of automating business processes. For Dynamics CE Online Microsoft Flow is gaining more traction for achieving business process automation and this will be covered in a separate article at a later stage.

Business Process Flows (BPF):

  • Key focus is to ensure that the users consistently enter data and follow a set process to complete the transaction.
  • Contained in a custom entity and a record will be created within this entity for each user initiated process. Business Process Flows can span more than one entity as long as there is 1:M relationship between the two entities.

Steps for Creating Business Process Flow:

In the illustrative sample we look at implementing process flow for the following scenario against “Lead” Entity. Every step of the process flow will be a Stage.

Stages Identified to implement Business Process Flow:

  • A new application details are entered – Stage > Submission
  • The details are reviewed – Stage > Review
  • Application Decision (Approve/Reject) – Stage > Decision

BPF1

BPF2

 

The process flow designer window provides components to implement flow.

BPF4

The components of the designer include Stage, Condition for orchestration and Data Step, Workflow providing input values for the flow.

Designing Stage(s)

BPF5

Now define the mandatory data elements required for the Submission stage

BPF6

Once the fields are entered in the Submission stage the next step will be Review Stage

BPF7

Add a Condition component (If … Else)  for Creating a Member Record (For Approved Application) / send notification for Rejected Application

  1. Condition to check for Creating a Member Record

BPF8

2. Condition to check for sending notification for Rejected Applications

BPF9

3. Validate and Activate the Business Process Flow

BPF10

 

How does the above designed Business Process Flow work?

Create a new Prospect Record the UI will display a flow interface with the “Submission” stage marked Active.

BPF11

BPF12

Once Submission Stage is complete Next Stage will take to “Review”

BPF13

BPF14

BPF15

 

 

 

 

 

 

 

 

 

Comparing Windows AD DS, Azure AD and Azure AD DS

29 Friday May 2020

Posted by GIRISH SRINIVASA in Azure, Azure AD, Azure AD DS, Uncategorized

≈ 2 Comments

Tags

Azure AD, Azure AD DS

Windows AD DS:

Provides authentication and authorization to on-premise applications, resources. Access to various resources can be streamlined through Group Policy some examples of implementing GPO for user’s rights assignment are detailed in the article here.

Authentication Protocol: Kerberos and NTLM

AD Database access: Through LDAP query

Creation of Domain Trusts: Allowed

On-Premise Windows Server AD offers 5 core services:

  • Active Directory Domain Services (ADDS)
  • Active Directory Certificate Services (ADCS)
  • Active Directory Rights Management Services (ADRMS)
  • Active Directory Lightweight Directory Services (ADLDS)
  • Active Directory Federation Services (ADFS)

Windows ADDS provides a hierarchical data storage for various objects in the network users, computers, groups, printers etc. The objects are placed within various Organizational Units (OUs). For example the following screen snap shot demonstrates a way of organizing On-Premises ADDS

capture1

 

Azure Active Directory (Azure AD):

While allowing to create users and groups Azure AD provides a flat structure without Organizational Units (OUs) or Group Policy Objects (GPOs).

  • Azure AD does have a domain name
  • Provides no trusts between domains
  • Supports Web based authentication OAuth 2.0, SAML 2.0 and Open ID Connect
  • Use of HTTP/HTTPS to provide identity services
  • Querying Azure AD done through REST API end point called AD Graph API

Azure Active Directory Domain Services (Azure AD DS):

Cloud based PaaS offering providing managed domain services, group policy, Kerberos / NTLM authentication that is compatible with on-premises Windows AD DS.  The following will additional features of Azure AD DS:

  • Integration with Azure AD
  • Cannot extend the schema
  • No Domain / Forest trust
  • Read-Only LDAP

The following screen snap shots show how identity information is synchronized in cloud-only and hybrid models.

Cloud-Only:

capture2

Hybrid Model:

capture3

 

 

WebApi Testing Swaggerui

31 Tuesday Mar 2020

Posted by GIRISH SRINIVASA in Uncategorized

≈ Leave a comment

In article we looked at configuring Swagger UI in ASP.NET Core application, this article looks at using postman and Swagger UI for testing debugging Web API. The sample source code  can be found in Git and for demonstration purposes will be using SEIS.Registration.Api project.

Swagger UI:

From the sample source set SEIS.Registration.Api as start up project and the UI rendered in IIS Express will be as shown below:

swagger

We will debug two API methods viz., POST to Create a Record and GET to Read/Retrieve a Record

To validate the end points for both POST and GET methods are accessible ensure that there is a HTTP Status Code of 200

swaggerget

swaggerpost

Testing POST (aka Create Record)

Run the API project in Visual Studio and attach the Swagger UI process via Debug > Attach to Process 

swaggerpost1

Add the values in the Request under Post and click on Execute

swaggerpost2

The debugging step within Controller method and the Model passed in can be seen as below:

swaggerpost3

After creating record with POST method, debugging the GET method will display the record created.

swaggerget1

swaggerget2

In the next article we will look at using postman for debugging WebAPI.

 

Service Accounts with AD Group Membership for Dynamics installation

29 Sunday Mar 2020

Posted by GIRISH SRINIVASA in Uncategorized

≈ Leave a comment

In the article we looked at defining GPO for setting up Dynamics CRM platform. The various service account(s) required for the installation of CRM platform will map to the AD groups as per the table below:

Service Account AD Group Membership
svc-crm-app svc-crm-app
svc-crm-async svc-crm-async
svc-crm-deploy svc-crm-deploy
svc-crm-install svc-crm-install
svc-crm-monsrv svc-crm-monsrv
svc-crm-sbox svc-crm-sbox
svc-crm-vss svc-crm-vss

For SQL Instance the AD group membership(s) for SSRS, database is as per table below:

svc-sql-agent svc-sql-agent
svc-sql-database svc-sql-database
svc-sql-reporting svc-sql-reporting

 

 

 

 

Custom Web Roles and Entity Permissions

13 Thursday Feb 2020

Posted by GIRISH SRINIVASA in Dynamics 365 Portals, Power Platform, Uncategorized

≈ Leave a comment

Tags

Custom Entity Permissions, Custom Web Roles

In the article we looked at out-of-the-box roles available and how they can be associated to a user. Entity Permissions basically allow user to perform operations on the data depending on the scope.

In this article we will define custom web roles and entity permissions for a users listed in the Contact entity.

PortalAccess9

Requirements definition for highlighted users are as per table below:

PortalAccess10

Defining Custom Web Role for Administrator and User

Navigate to Web Roles and click on New

PortalAccess11

PortalAccess12

Once Roles are defined add Contact records as the requirements table.

PortalAccess13

PortalAccess14

PortalAccess15

Now that Web Role is associated to a contact next we proceed with creating Entity Permission. Navigate to Entity Permissions > New 

PortalAccess16

Entities choosen Event and Event Registration having 1:N relationship

Create two entity permission(s) Entity User Role Permission and Administrator User Role Permission

PortalAccess17

PortalAccess18

PortalAccess19

PortalAccess20

 

PortalAccess21

Associate the newly created entity permission to Management User Role

PortalAccess22

PortalAccess23

 

PortalAccess24

 

Now associate the contact with the Web Role 

 

PortalAccess25

 

PortalAccess26

PortalAccess27

 

 

 

 

Portal Authentication using External Identity Provider

06 Thursday Feb 2020

Posted by GIRISH SRINIVASA in Dynamics 365 CE Online, Dynamics 365 Portals, Power Platform, PowerApps, Uncategorized

≈ 1 Comment

Tags

Portal Authentication

In the article we looked at aspects of Portal Authentication in the following section explains use of third-party identity providers for Portal Authentication.

External authentication using third-party identity providers use OAuth 2.0 protocol to grant access. First we briefly look at underlying concepts of OAuth 2.0.

OAuth 2.0 is a protocol that provides a user with limited access to resources on site. Access Tokens in string format hold the permissions granted to a user to access the resource.  The access tokens are generated in JSON Web Token (JWT) format the three parts of JWT include:

  • Header: Containing metadata about token and cryptographic algorithm
  • Payload: Set of claims, expiration time
  • Signature: Used for token validation

More information about OAuth 2.0 can be obtained from  here. In the context of Dynamics 365 CE portals (power apps portals) the supported Identity Providers (IDP’s) that use OAuth 2.0 are listed here

For demonstration the portal url that will be used is https://spaceflight.powerappsportals.com this is portal provisioned on Dynamics 365 CE Instance.

Consider we want to use Google as third-party identity provider the high level the steps are:

  • Register application
  • Obtain “Client ID” and “Client Secret” pair after registration
  • Configure Client ID and Client Secret in portal site settings to establish secure connection

Registering Application

Logon on GoogleDeveloperConsole here and create a new project

ExternalIDP1

ExternalIDP2

ExternalIDP3

Once the project is successfully created click on “Create Credentials” and choose OAuth client ID as we require “Client ID” & “Client Secret” that are to be used in portal settings

ExternalIDP4

You will be prompted to set a product name on consent screen

ExternalIDP6

ExternalIDP7

In the OAuth consent screen enter the application details

ExternalIDP8

After OAuth consent details are set (this step is kind of similar to what one would do while setting up ADFS Relying Party Trust) select Application Type > Web application

ExternalIDP9

At this stage Client ID and Client Secret will be generated

ExternalIDP10

The above two can always be retrieved from:

ExternalIDP11

ExternalIDP12

There is an option to download the settings as a JSON file.

After the preceding steps above we have essentially set up our portal as a Relying Party and got a reference to Client ID and Client Secret that OAuth 2.0 generates and these now need to be referenced in Portal settings.

ExternalIDP13

ExternalIDP14

The existing OAuth 2.0 providers will be listed as per below

ExternalIDP15

For Google to be used as identity provider add the following OpenIdConnect settings more information can be found here

ExternalIDP16

As a final step Restart the portal from PowerApps Portals admin center

ExternalIDP17

 

Once restart is complete accessing the portal should display Google as the external identity provider

ExternalIDP18

In the next article we will register a external user and login into portal using Google as identity provider.

AutoNumber using XrmToolBox

26 Thursday Dec 2019

Posted by GIRISH SRINIVASA in Dynamics 365, Dynamics 365 CE Online, Dynamics CE 9, Uncategorized

≈ Leave a comment

Tags

Autonumbering

Xrmtoolbox provides a plugin “Auto Number Manager” that can be used to configure autonumbering for any entity in the CRM solution. Refer here for list of available plugin’s. Once AutoManager plugin is installed it will be available in the start up page of Xrmtool box

AutoManager1

Once connected to CRM organization (aka Instance) the list of solutions will be displayed as per below and selecting a solution will display the list of entities for that solution:

AutoManager2

In the following example autonumber format is set for the Account Number field of Member entity

AutoManager3

AutoManager4

The Number Format set in above is as per below

{PreFix}-{6 digit sequence number}-{Random String}

Seed value indicates the starting number of sequence

Click on Update once the format is acceptable.

AutoManager5

 

 

 

 

Enable Docker on Window Server 2016

30 Monday Sep 2019

Posted by GIRISH SRINIVASA in Docker, Uncategorized

≈ Leave a comment

  1. Enable Container feature from the Server Manager Add Roles and Features
  2. Run the following PS commands

#Install Docker Provider

Install-Module -Name DockerMsftProvider -Force

#Install Docker from Provider and reboot

Install-Package -Name docker -ProviderName DockerMsftProvider -Force
Restart-Computer -Force

Failure to access CRM Organization URL with FQDN on the server

18 Wednesday Sep 2019

Posted by GIRISH SRINIVASA in CRM 2011, CRM2013, CRM2015, CRM2016, Dynamics 365, Dynamics CE 9, Uncategorized

≈ Leave a comment

After installing CRM platform and changing the web address from Deployment Manager console as per below

DisableLoopBack

It will not be possible to browse the Organization created from Deployment Manager and the event viewer will record “Event 4625 Audit Failure NULL SID failed network logons..” this is because of LoopbackCheck feature of the Windows Server that prevents IIS sites being accessed using FQDN in the URL. Run the following PS command to disable the loopback check

New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name “DisableLoopbackCheck” -value “1” -PropertyType dword

Also check that the CRM application pool account has the correct SPN set as an example for FQDN crm.idynamics.dev the SPN for app pool account will be

DisableLoopBack1

 

 

← Older posts

Subscribe

  • Entries (RSS)
  • Comments (RSS)

Archives

  • November 2021
  • August 2021
  • July 2021
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • March 2019
  • September 2018
  • February 2018
  • January 2018
  • December 2017
  • January 2017
  • August 2016
  • January 2016
  • November 2015
  • October 2015
  • September 2015
  • November 2014
  • October 2014
  • September 2014
  • July 2014

Categories

  • ADCS
  • ADFS
  • ADFS 4.0
  • ASP.NET Core
  • Azure
  • Azure AD
  • Azure AD DS
  • Azure B2C
  • CRM 2011
  • CRM2013
  • CRM2015
  • CRM2016
  • Docker
  • Dynamics 365
  • Dynamics 365 CE Online
  • Dynamics 365 Portals
  • Dynamics CE 9
  • Knockout and TypeScript
  • OAuth2.0/OpenIDConnect
  • Power Platform
  • PowerApps
  • PowerShell
  • SharePoint 2019
  • Spkl
  • Uncategorized
  • WebAPI
  • Windows Server 2012
  • Windows Server 2016

Meta

  • Register
  • Log in

Blog at WordPress.com.

  • Follow Following
    • Information Dynamics
    • Already have a WordPress.com account? Log in now.
    • Information Dynamics
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...