Utilize Custom Action to Help Filtering The Lookup View in CRM Form

Utilize Custom Action to Help Filtering The Lookup View in CRM Form

Overview

Sometimes in our project, we have requirement to filter lookup based on some conditions and it can be achieved using addCustomView or addCustomFilter function.

And sometimes it is just not too easy to do it in Javascript or the complex fetch xml, so in my blog I just want to share another method to get the filtered result same as you wanted, that is using Javascript + Custom Action!

Detail

Following my previous post: http://missdynamicscrm.blogspot.sg/2014/08/crm-2013-using-addcustomfilter-to-get-filtered-lookup-field-based-on-linked-entity.html

So, considering you have this filter:

To get the result as per expected, you can use Custom Action.

Steps:

1. You need to create a custom action that give you output, either STRING or ENTITYCOLLECTION

2. Inside the custom action code, if you want to return string, you can use comma delimited concept, or using | as delimiter, or you can just return the Final XML Filter already.

If you use EntityCollection, you might need to parse it again.

3. Then create a javascript that can call the Custom Action, you can use this method for easy way:
http://www.magnetismsolutions.com/blog/paulnieuwelaar/2015/08/12/Call-Action-in-CRM-2015-Easily-from-JavaScript-Library

4. Then you get the result as parameter, you can just set it to the filter = “the Result” (if you use Final XML Filter as the Output) or you parse the GUID if you use the comma or | delimited concept, or if you use EntityCollection then you need to parse it back.

5. See the result

Basically, you just need to get this result:

Either you just easily using String as output or other method it is up to u.

But the point here is we can use Custom Action for solving complex filtering and remember that we can use impersonation also to get the data you want if it is related to the other entities as well, imagine if we also need to have multiple entities involved then it might be easier if we use Custom Action as we just replace the DLL if there is any other changes using Plugin Registration Tool.

Hope this helps!

Thanks,
Aileen

Dynamics 365 and SharePoint integration – Sharepoint folder naming issue in CRM-Sharepoint OOB integration when Primary attribute is more than 128 characters

Sharepoint folder naming issue in CRM-Sharepoint OOB integration when Primary attribute is more than 128 characters

CRM-Sharepoint integration – This topic has certainly lost the steam by now and anybody working in dynamics over the last 7-8 years have tried it out so many times. Done and dusted topic, isn’t it?

But just when I think I know it all, Dynamics surprises me with some hidden nuances and my today’s post is on it.

So here I was, setting up the mundane CRM-Sharepoint OOB integration and directly set-it up in client’s production environment. OOB feature, no testing required. But suddenly one issue reported by customer – “My two records in account are sharing the same folder in Sharepoint”.

But how is that possible? A little bit of digging and this is what I found out.

In Dynamics CRM – Sharepoint integration, the folder gets formed in the format – Primary Attribute Field value_. So if for an account record, it would be _.

Now let’s play around with the Account Name.

This is below account name I have given for one record.

“the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog.”

Below is the name for other account record.

“the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog. lorem ipsum dolor sit amet.”. Notice the part in bold I have changed from the previous account.

Now, let’s go and see the folder created for the first account record.

image

There is no guid in the folder name. The reason is in OOB integration, folder name limit is always 128 characters. So if primary attribute name length is more than 128 characters, it would be trimmed to 128 characters and then the folder name is formed. So first lesson learnt,the Guid is not mandatory in the folder naming in Sharepoint for CRM-Sharepoint OOB integration.

Now it’s obvious that this is a potential root-case of problems. I also uploaded one document for this record and as you can see from the screenshot.

Lets go ahead and see the folder created for record 2.

image

As you can see from the above screenshot, the folder name for record 2 is also mapped to the folder for record 1. This is because the first 128 characters for both the account records are same. Hence the same folder got created. And as you can see, although I have not uploaded any file in record 2, still the file uploaded in record 1 is visible here.

This can be a potential problem.

Hope this helps!

Debajit Dutta

ClickDimensions – Dynamics 365 Blog – Install and Configure ClickDimensions

ClickDimensions – Dynamics 365 Blog

This post will take you through configuration and set up of ClickDimensions along with some tweaks in Dynamics CRM.

Products Used: Dynamics CRM 2016 & ClickDimensions

Features & Licensing:ClickDimensions pricing

Request a trial solution: If you are a ClickDimensions Partner, you can request 30-day trial from ClickDimensions.

Once you’ve submitted a request for a demo account, you will receive an email for ‘registration’. Registration includes a request for more details on your Dynamics CRM organization like:

  • Date Centre Location
  • MS CRM Version
  • Organization URL
  • Organization Unique ID (Can be found under settings>>Customizations>>Developer resources)
  • Login ID

configure clickdimensions web form

Image Source: www.clickdimensions.com

You will receive an email to download the managed solution shortly after you complete the registration form. Once you’ve download the solution, you can now import it into your Dynamics CRM organization.

Once the solution import is successful, refresh your CRM organization and you will be able to see the new entities & features.

configure-clickdimensions-web-form-1

configure-clickdimensions-web-form-2

configure-clickdimensions-web-form-3

Objective: To create a web form, integrate it into the website and Dynamics CRM. On submission of form, a ‘Case’ must be created in Dynamics CRM.

Limitation: ClickDimensions lets you create either a lead or contact (based on your selection in CRM) but not cases.

Tip: Create all custom fields and identify all standard fields which you would be using for your web form before getting into ClickDimensions configuration.

Configuration

Following are the key steps to attain our objective:

Create Domain

Go to Settings > ClickDimensions > Domain > New.

create-domain

Domain: ‘Name’ field on the form; this is where you will enter the ‘domain’ of your website. It must be without http and www.

Sub Domain Alias: This is not a mandatory field. If you don’t want to enter this, your web form URL will include ClickDimensions domain details and not your website’s. For example http://au-clickdimensions.com/smsmtcom-ae3mt/pages/oa0cnh1eeaa58q0a8uyoa.html. However, if you provide sub domain, your URL will include your subdomain, e.g. http://web.smsmt.com/smsmtcom-ae3mt/pages/oa0cnh1eeaa58q0a8uyoa.html

You can test your ‘sub domain alias’ by clicking on ‘Test Alias’ button.

test-subdomain-alias

If you see the following screen, that means you are on track.

process-successful

If you do not have a sub domain alias yet and would like to set it up, visit ClickDimensions Setup CNAMEs page.

Create Form Fields

This is different from what you have done with your Dynamics CRM entities. This is entirely about the web form we want to place on our website. Go to settings > ClickDimensions > Form Fields > New.

create-form-fields

Enter a name for your field, select a field type and type ‘Form Field ID’

Following are the types of Form Fields:

  • Text (single line of text)
  • Check Box
  • Date
  • Date & Time
  • Decimal
  • Email
  • Hidden (to learn more, visit ClickDimensions blog on hidden field)
  • Integer
  • List (drop down/pick list)
  • Money (currency)
  • Radio button
  • Text Area (multiple lines of text)
  • URL (website)

It is really important to have at least one email field on your web form. This would avoid duplication because email ID is checked against all CRM leads & contacts after submission. If the email ID already exists in CRM, data is updated against existing record, and if email ID does not exist in CRM, a new record is created.

Form Field ID: Enter any unique text here if you are going to use standard form builder (current scenario). But if you have to integrate your forms with a form capture visit this ClickDimensions Help page.

Once you click on ‘save’, mapping will be enabled on the form, so, that you can map it to lead or contact field or both.

mapping-will-be-enabled-on-the-form

Tricks on Form Fields: You might not immediately see your custom fields under ‘mappings’. You can overcome this issue by changing your field type to ‘list’ and then clicking on ‘publish custom fields’ under mappings. This will bring all your custom fields under mappings. Once done, you can change ‘field type’ back to its previous state (text in current scenario).

tricks-on-form-fields

Read more about Field Mappings here.

Create Web Content

Go to settings > ClickDimensions > Web Content > New.

create-web-content

Enter an appropriate name, then select the type of web content you have. Lookup your domain. Under ‘Create new visitor as,’ select Lead or Contact if required. These are the types of web content that can be created:

  • Form (current scenario)
  • Survey
  • Subscription
  • Landing Page

In ‘Auto response email,’ select a ClickDimensions email template and under ‘email subject’, type a suitable subject. Once you are done entering details, click ‘Save’. Once saved, you can now design your web form by clicking on ‘Design’. If you want your web form to be compatible and responsive for mobile devices, do select ‘yes’ in ‘Web Responsive’.

feedback-form

Once you click ‘Design’, below screen will pop up.

design

On the right hand side, you will see available fields for web form. After making changes, save the form and click preview:

preview-form

Once ready, you can embed URL in your website or blog by clicking on ‘Embed’. For more details this page.

embed-url-2

After your design is complete, click on ‘Publish’.

publish

Posted Forms

Every time a form is submitted on the website, a ‘Posted form’ and a ‘lead’ record is created in Dynamics CRM. Post Form is a ClickDimensions entity. Posted form includes info about any related lead or contact or both. To know more this page.

posted-forms

Limitation on Achieving the Objective

I could have used the lead record created after submission on website and converted it to a case via workflow automation of Dynamics CRM, but Clickdimensions creates a lead only once in the system with one email ID. Afterwards, if any submission comes from the same email ID, it will only update the existing lead record and not create a new lead. But as we know, ‘Feedbacks/Cases/Complaints’ can come multiple times from the same email ID; this didn’t work for me.

Solution: I used the ‘Posted forms’ instead of using leads. So, I created a workflow in Dynamics CRM, which was to create a case in Dynamics CRM upon creation of ‘Posted form’. All details in this case are pre-populated from my Lead record which is linked to (lookup reference) Posted forms. Below screenshot might help:

solution

Hope you find this post useful. Drop your questions & suggestions in the comment box below.

 

Error : Plugin registration tool stopped connecting to Dynamics 365

 

In case you have been trying to get the Dynamics 365 SDK plugin registration tool to work for latest version of Dynamics 365 online and facing issues like this one:

· At making a connection stage the tool keeps on circling all the data centres and still does not connect and gives error such as Bad username or password

· Error during connection such as Bad request

· IF you pick specific data centre also, still get error while connecting.

Well, you need to download the latest plugin registration tool. Following simple steps help to download Dynamics 365 9.0 tools:

You can follow below steps with screens or for more details information look into Microsoft docs link

1. Open Power Shell from windows menu.

2. Navigate to folder location where tools will download.

clip_image002

3. Copy Paste following command in PowerShell command( referred from the Microsoft Link).

$sourceNugetExe = “https://dist.nuget.org/win-x86-commandline/latest/nuget.exe”

$targetNugetExe = “.nuget.exe”

Remove-Item .Tools -Force -Recurse -ErrorAction Ignore

Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe

Set-Alias nuget $targetNugetExe -Scope Global -Verbose

##

##Download Plugin Registration Tool

##

./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .Tools

md .ToolsPluginRegistration

$prtFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$prtFoldertools*.* .ToolsPluginRegistration

Remove-Item .Tools$prtFolder -Force -Recurse

##

##Download CoreTools

##

./nuget install Microsoft.CrmSdk.CoreTools -O .Tools

md .ToolsCoreTools

$coreToolsFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$coreToolsFoldercontentbincoretools*.* .ToolsCoreTools

Remove-Item .Tools$coreToolsFolder -Force -Recurse

##

##Download Configuration Migration

##

./nuget install Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf -O .Tools

md .ToolsConfigurationMigration

$configMigFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$configMigFoldertools*.* .ToolsConfigurationMigration

Remove-Item .Tools$configMigFolder -Force -Recurse

##

##Download Package Deployer

##

./nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF -O .Tools

md .ToolsPackageDeployment

$pdFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$pdFoldertools*.* .ToolsPackageDeployment

Remove-Item .Tools$pdFolder -Force -Recurse

##

##Remove NuGet.exe

##

Remove-Item nuget.exe

4. Hit enter button Tools will be downloaded in specific folder.

clip_image004

5. After successful execution of command check tools downloaded in specific location.

clip_image006

clip_image008

Try using this Plugin registration tool with latest version of Dynamics 365 and it will work just fine.

Hope it helps and Happy Learning.

Interested in Training: Click here

Any requirements in CRM/Dynamics 365 – end user,Microsoft  partner or an individual?

Requirement Area – Technical, Functional, Training, Development or consulting?

Written By 

Plugin registration tool stopped connecting to Dynamics 365

Styling ClickDimensions Web Forms Using Code Editor

Styling ClickDimensions Web Forms Using Code Editor

ClickDimensions has a drag-and-drop feature to build web forms. I’ve just recently started learning and using ClickDimensions in our project. Building web forms is easy due to its drag and drop feature, but the properties of the controls are limited to just font properties. How about the other styling options? Good thing there’s the Code Editor that allows developers to modify the CSS and JavaScript of the web forms.

The Code Editor can be found in the menu bar of the Web Designer.

code editor

The Code Editor window displays the web form’s HTML, CSS and JavaScript. There’s also a preview box where you can easily view the updated changes you’ve applied in your CSS and JavaScript without going through its URL. Just click on the Refresh button and the updates will display.

Styling ClickDimensions Web Forms Using Code Editor 2

Let’s now try to modify one textbox added in our web form. But the first question here is how to get the ID of the textbox because in CSS, the first thing you need is the ID of the component to modify its properties. With the help of the Developer Tool, I can easily get the ID of one textbox.

We’ll use country code for our example. Since the country code consists of 2 to 3 characters only, we need to shrink the width of the text box to 50. To do this, use the developer tool to get the ID of the text box.

get ID of textbox

get ID of textbox 2

Go back to the CSS Editor and add the specific property you want to modify.

 

 

Refresh the preview box to see the changes.

refresh preview box

Conclusion

ClickDimensions control styling options are limited to font styling. The code editor is a big help when we want to extend the styling of the web controls in addition to what is provided out-of-the-box. It would be better if all styling options are included out-of-the-box, but still, it’s a good way of getting closer to learning CSS.

In my next blog, we’ll talk about applying JavaScript in Web Forms.

Hope this blog helps you.

Adding Javascript Functions Using Code Editor

Adding Javascript Functions Using Code Editor

Here is the second part of my ClickDimensions Code Editor blog. The first part of my blog talks about Styling ClickDimensions Web Forms using Code Editor. For the second part, I’ll show you how to use the code editor to add Javascript functions.

There are some cases wherein you need custom actions on your web form components. Form field is not the same as the event handler of the Dynamics CRM fields. We need to use the code editor to apply Javascript on your form fields. To give you a basic example, I will show you how to hide a textbox based on your dropdown list value.

Here are my fields:

The “Please specify *” textbox will only appear if “Other” is selected from the dropdown list. Otherwise, it will be hidden.

Before we proceed in constructing our javascript, we need the ID of our fields. You can check my way in getting the field IDs on the first part of my blog.

As best practice, you need to encapsulate your code inside this:

This way, your code will not be triggered on load of your web forms.

Here is my code:

Note: For the jQuery code to work, I need to replace $ to clickd_jquery.

To explain the code,
#f_3619cd88192be71180fe3863bb367d68  is the field ID of the drop-down list. I used its change event to trigger the code when the field’s value is changed.
#f_a3ead8a71a2be71181033863bb367e08  is the field ID of the text box. To set the visibility of the textbox, I used its hide/show method.

Paste the code in your JavaScript Code Editor.

Save the Code Editor window, as well as the form and see if it works.

When it comes to web forms, Javascript is always present. It’s a good thing that in ClickDimensions, there’s a code editor we could use to enhance and add more functions to the Web Form components. This is very helpful as most of the clients may require functions that are not included out-of-the-box. But let’s keep in mind the important note coming from ClickDimensions itself when using Javascript for your web forms.

Feel free to add a comment for any clarifications or questions.

Published at Tue, 27 Jun 2017 17:00:41 +0000

Plugin registration tool stopped connecting to Dynamics 365 , Unable to connect Plugin registration Tool

Plugin registration tool stopped connecting to Dynamics 365

In case you have been trying to get the Dynamics 365 SDK plugin registration tool to work for latest version of Dynamics 365 online and facing issues like this one:

· At making a connection stage the tool keeps on circling all the data centres and still does not connect and gives error such as Bad username or password

· Error during connection such as Bad request

· IF you pick specific data centre also, still get error while connecting.

Well, you need to download the latest plugin registration tool. Following simple steps help to download Dynamics 365 9.0 tools:

You can follow below steps with screens or for more details information look into Microsoft docs link

1. Open Power Shell from windows menu.

2. Navigate to folder location where tools will download.

clip_image002

3. Copy Paste following command in PowerShell command( referred from the Microsoft Link).

$sourceNugetExe = “https://dist.nuget.org/win-x86-commandline/latest/nuget.exe”

$targetNugetExe = “.nuget.exe”

Remove-Item .Tools -Force -Recurse -ErrorAction Ignore

Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe

Set-Alias nuget $targetNugetExe -Scope Global -Verbose

##

##Download Plugin Registration Tool

##

./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .Tools

md .ToolsPluginRegistration

$prtFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$prtFoldertools*.* .ToolsPluginRegistration

Remove-Item .Tools$prtFolder -Force -Recurse

##

##Download CoreTools

##

./nuget install Microsoft.CrmSdk.CoreTools -O .Tools

md .ToolsCoreTools

$coreToolsFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$coreToolsFoldercontentbincoretools*.* .ToolsCoreTools

Remove-Item .Tools$coreToolsFolder -Force -Recurse

##

##Download Configuration Migration

##

./nuget install Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf -O .Tools

md .ToolsConfigurationMigration

$configMigFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$configMigFoldertools*.* .ToolsConfigurationMigration

Remove-Item .Tools$configMigFolder -Force -Recurse

##

##Download Package Deployer

##

./nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF -O .Tools

md .ToolsPackageDeployment

$pdFolder = Get-ChildItem ./Tools | Where-Object

move .Tools$pdFoldertools*.* .ToolsPackageDeployment

Remove-Item .Tools$pdFolder -Force -Recurse

##

##Remove NuGet.exe

##

Remove-Item nuget.exe

4. Hit enter button Tools will be downloaded in specific folder.

clip_image004

5. After successful execution of command check tools downloaded in specific location.

clip_image006

clip_image008

Try using this Plugin registration tool with latest version of Dynamics 365 and it will work just fine.

Hope it helps and Happy Learning.

Written by Deepesh Somani, do visit his blog

Plugin registration tool stopped connecting to Dynamics 365

How to setup Dynamics 365 Portals in CRM Online?

How to setup Dynamics 365 Portals in CRM Online?

Follow the below steps to setup Dynamics 365 Portals in CRM Online,

Step 1:Click here and create Dynamics 365 30 day’s trial version

(or)

Use your existing Dynamics 365 Login Credentials to login Office 365 Admin Portal.

Step 2:Click here to navigate to Office 365 Admin Portal.

(For this article, have created Dynamics 365 30 day’s trial version).

Step 3: On the Left hand side menu, you can see Dynamics 365 under Admin Centers. Click on it.

Admin Center - Dynamics 365

Step 4: Follow the below steps,

  1. Click on APPLICATIONS Tab.
  2. Click on Portal Add-On under Manage applications.
  3. Click on MANAGE.

Dynamics 365 Administration Center

Step 5: Provide the below details,

  1. Name: Provide some Name for the Portal.
  2. Type: It is Trial by default.
  3. Select Portal URL: Provide unique name for your portal.
  4. Dynamics 365 Instance: Select your CRM Online Instance name.
  5. Select Portal Language: Select your Portal Language. (For Example: English (United States))
  6. Select Portal Administrator: Select required user to make the person as an Admin for your Portal.
  7. Portal Audience: Select the required Audience to whom this portal for. (For Example: Customer)
  8. Select Portal to be deployed: Select the required portal. Am choosing Dynamics 365 Portals – Custom Portal.

After providing all details, Click on Submit.Dynamics 365 Portal Details

Step 6: Click on Accept.Dynamics 365 Portal - Terms of Service

Step 7: Portal Request is submitted. It will take sometime to import Dynamics 365 Custom Portal Solution to Dynamics 365 CRM and to host the Portal in Azure.

To see the status of the Portal, click on the link as shown in the below picture.

Dynamics 365 Portal - Request Submitted

Step 8: Current Status is as shown below. Please refresh this page after sometime.

Dynamics 365 Portal - Portal being Configured

Step 9: Once portal is created, you can see the Base Portal URL link. Click on it to see your Dynamics 365 Portal.

Dynamics 365 Portal - Portal Created

Step 10: You can see the below Portal Home Page.

Dynamics 365 Portal - Portal Home Page

Step 11: Open Dynamics 365 CRM Online Organization to see the below Portal related Solutions imported and Portals Area in Site Map.

Dynamics 365 Portal - CRM Portals Solutions

Dynamics 365 Portal - CRM Portals Area

Hope you learned a new thing today !!!

Share your valuable feedback on this article.

Advertisements

Published at Mon, 25 Sep 2017 05:33:27 +0000

Microsoft Dynamics 365 Customer Engagement Portals Source Code

Microsoft Dynamics 365 Customer Engagement Portals Source Code

dynamics-365

Click here to download Microsoft Dynamics 365 Customer Engagement Portals Source Code.

Advertisements

Published at Mon, 25 Sep 2017 06:30:48 +0000