Where has my option “Allow e-mail router to use my credentials to send e-mail on my behalf” gone is CRM 2013?

This is exactly the same question that my customer had when they upgraded to CRM 2013. In CRM 2011, they could go to Personal Options and in the E-Mail tab could see the following screen

image

If they check the option “Allow E-mail router to use my credentials to send and receive e-mail on my behalf”, they would get an option to enter the username and password. However once they upgraded to CRM 2013, they could not find that option at all in the e-mail tab.

For users who have faced this, don’t be tensed. This option is still available. However in a round-about way.

In CRM 2013 you would need to go to your user record. Once you open the user record, you would find that a default mailbox has been created with your name. For e.g – Check the below screenshot for my user record. You would typically find this under Email Configuration section.

image

Click to open the mailbox. Once you open the mailbox, you could see the section where you can enter your credentials.

image

 

Hope this helps!

Advertisements

Dynamics Record URL does not contain Organization Name in CRM 2013 SP1 – Will be fixed in UR2 of 2013 SP1

My client is on Dynamics CRM 2013 SP1 UR1 and they are facing this problem for their multi-org on-premise deployment. They have a pretty simple workflow on the account entity where they are sending an e-mail and in the e-mail body they are inserting a hyperlink to the account record.

The problem is that when the user is clicking the record URL in the e-mail, since it does not contain the Organization name, it is redirecting to the default organization. Since that organization does not have the record existing, it is giving an error to the end-user.

The issue would be addressed by Microsoft in the Update Rollup 2 of SP1. This can be found in the Fixed Issue section of the download page for the update rollup.

image

Hope this helps!

{Dynamics CRM 2013} Clear out field value using Dynamics CRM 2013 Business Rules? Yes you can!

Business rules are great. Aren’t they? But how many implementations I have seen where customers initially were so much excited about no code development using business rules and finally they found that very simple stuffs cannot be achieved using Business Rules and finally they end up disappointed.

I faced a very similar situation recently. I had a requirement where I had to set a particular field value to something if a condition satisfies and clear it out if the condition does not satisfy. Well very simple requirement isn’t it. I suggested we use custom XRM scripts to do the same but client asked back with much surprise – Business Rule cannot do this? Considering my love for Dynamics CRM, I decided to give it a try.

To continue reading the post, you have to be aware that business rules are internally process records in CRM. If you are not aware of this, you should check out my other blog post –

https://debajitcrm.wordpress.com/2014/12/19/know-how-are-business-rules-created-as-process-records-in-crm/

 

In my example I created two Business Rules for my account entity

  • If Address 1: City equals Bangalore, then populate “Account Number” field as “BNG001”
  • If Address 1: City does not equal Bangalore, clear out “Account Number” field.

Not a very logical requirement but good for our demo. Check for the screenshots below:

image

 

image

In the rule “Address 1: City not equals Bangalore”, I have set Account Number to some “[PlaceHolder Text]”. Remember we are going to set is null. Since you cannot enter empty values here in UI, hence the place holder text. Don’t worry we are going to change it soon!

Now I activate both the rules and export the solution. Once exported I extract the solution. And this is what you find in the extracted solution.

image

 

Open the workflows folder and you can see your Business Rules

image

I open the Business Rule – “Address 1: City not equals Bangalore” and put the content in a XML editor. Once you do that, search for the keyword “SetAttributeValueStep”. Please check the screenshot below where you can see the placeholder text that we set before.

image

Replace the placeholder text with empty string and save the file.

image

Zip back the entire extracts of the solution so that it can be imported back.

Now once you import the solution back, you can see the change in effect.

image

image

Voila! you are there. One more thing, what does CRM return when you query the account number attribute using XRM script. Well lets see.

image

 

No problem. It returns null.

Hope you liked it.

{Dynamics CRM} Are Business Rules created as process records in CRM?

First all, let me give an answer to title of the post. Yes it is! For people who already know this, this is as far as you need to read this post :). However is my day-day project implementations, I come across many technical consultants who are not aware of the underlying implementation of Business Rules. And this post goes to you guys.

As i told, when you create a Business Rule, it basically gets created as a record in the process table in the CRM database. It’s basically a XAML that gets formed and gets rendered as client side script when the form executes. Well they say seeing is believing. So lets look at an example.

I have created a solution named “BusinessRulesTest” where only “account” entity is included and have created a Business Rule for the account. Please check for the screenshot below.

image 

Now i export the solution and extract the solution. Strangely enough there is a Workflows folder although we do not have any workflows in the solution. We just have a business rule.

image

Now lets look what’s there inside the Workflows folder. There is this XAML file SetAccountNumberRule-DC90F0F8-6E87-E411-80D2-C4346BAC9FD4.xaml. When we open the file in a XML editor of our choice, we can clearly see the conditional code in place.

image

 

Hope you found this interesting!

{Business Process flow Security} – Security consideration while targeting business process flows and switching processes for security roles.

Business process flows are everywhere these days. Every project I come across have business process flows implemented and why not? A great feature indeed.

However came across this  very interesting question that one of my client administrators came up with regarding the security aspect of Business Process flows. The following describes the set-up for client CRM system.

  • User A has security role A
  • User B has security role B
  • There are two business process flows created for the case entity. Process A has been targeted for Security Role A and Process B has been targeted for security role B.
  • Both the users belong to the same business unit and their roles provide business unit level write access on the case entity.

User A went ahead and created a case record with Business Process A in place. However the expectation of our client was that since User B has security role B which do not have privilege on the process A, User B would not be able to modify or view Business Process A. However the truth is that User B would be able to modify the fields in the Business Process area of the case record and also move stages.

The reason for this is targeting Business Process flows for security does not prevent a user from accessing and modifying a process already applied to a record. The targeting in effect prevents switching of Business Process flows. If your security role is not targeted for a particular business process, this simply means that the user cannot switch to that process.

Hope this helps in case you are new to the Business Process flows and designing security for the same!

{dynamics crm 2013 SP1} What happens internally when dynamics CRM 2013 SP1 is installed.

By this time many of you might have already installed CRM 2013 SP1 and must have used some wonderful features that came as part of this update, specially with respect to the service module. But how do all these entities come up after installing the product updates? How does the sitemap contain a new link called a service management?

Well if you are guessing correctly, its a solution which is imported in CRM internally. When you install the product updates from SP1, a solution named as “ServiceEnhancements610” is installed. This would not come up in the solutions list when you view through CRM interface. However if query the CRM database (on-premise) or through SDK, you can get this solution and its components.

A very useful knowhow related to your day-day CRM implementations? I would say no. But never a harm to know something tricky. Hence thought  of sharing 🙂

How to make sure that deactivated entity does never show up to the user in Microsoft Dynamics CRM 2013

This interesting issue came up for one of our customers when we upgraded their environment from CRM 2011 to CRM 2013. After upgrade they decided to go ahead with 2013 layout of the forms. Hence we de-activated the Information forms that came from 2011 and made sure that end-users use the CRM 2013 forms. For e.g in the below screenshot, for the Account entity, the Information form is disabled and only the form named account is visible to the users.

image

However our customer was using one third party managed solution from 2011 and they have released a new version of the solution and that solution was still using the information main as active form. Hence when we imported the solution into our environment, the information form got activated again and that form started showing up to the users.

So the trick is to remove all the security roles associated to the form apart from de-activating it.

image

So even if the form gets activated unknowingly as in our case, it would still not show up to the users.

 

Hope this helps!