Tip #433: Tipsters guide to Office 365 Groups: Administration

It’s Video Friday again. We continue our explorations of CRM Online new features with this week introduction to Office 365 Groups and what do you need to do to get it up and running.

YouTube player

Give us your feedback, all of it: good, bad, and ugly, I’m sure we can take it. Suggest new topics either in comments or by sending your ideas to jar@crmtipoftheday.com.

Tip #432: Make your emails look nice, really nice

tl;dr

Today’s post is not about CRM at all, it’s about CTRL + 0 combination in Outlook and Word. Go on, try this shortcut when typing your next email or document.

Boring details

I’m all about style. Not in clothes, in that department I’m hopeless and prefer to delegate. I’m talking about CSS in HTML or styles in Word. I’m firmly in the camp that content should be about content and styling should be done separately by the people who know what they are talking about.

One of my pet hates is when people add extra lines to separate the content. Yes, I told you it’s a pet hate. But then I discovered the CTRL + 0 keyboard shortcut. It flips on/off extra 12pt of space before the current paragraph and makes it stand out, that is all. I use it when I need to break the text flow, to start a new thought.

From where I stand, it does make your emails and documents look more professional. But then, again, why would you take any styling advice from a dude whose definition of the best item to wear is synonymous with “the nearest”.

Bonus

If you get carried away with the formatting and accidentally press this combination in a browser, fear not – it resets the zoom level to the default 100%. Surprisingly, all major browsers support the shortcut.

Tip #431: Avoid Silverlight when living on the Edge

If you ever wondered whether the move of CRM development team under Scott Guthrie is a good idea, now we have the proof. That’s right, details about the support for the upcoming versions of OS, browser and Office have already emerged.

Some vigilantes, like Jason “Scintillating” Lattimer, have kept their cool heads and pointed out the small print:

I thought I had read Edge won’t support Silverlight. Not a terribly big deal immediately as Windows 10 is supposed to ship with IE 11 as well but thinking long term, people will need to starting thinking about converting any Silverlight to HTML/JS.

Oops.

While the book and some Silverlight-based tools are still out there, the writing, according to Jim “Mr SDK” Daly, is on the wall in the SDK:

Microsoft Silverlight web resources remain supported in Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update for backwards compatibility. For components that will be able to be presented on all clients, we recommend using HTML web resources with HTML5 instead of Silverlight.

TODO: find all those .xap resources and start planning the replacement.

Tip #430: Read Only Users and CRM for Outlook

So you have users that have a read only/limited user access type. But you want to have them use CRM for Outlook to provide consistent user interface with your other users for consistency in your training and user documentation.

The problem, however, is that the configuration wizard for CRM for Outlook requires write access to CRM during the configuration, as it updates user settings during the configuration process. This means that if the user had a read only access mode, the configuration of CRM for Outlook will fail.

If you want to have users with read only access type use CRM for Outlook, you will need to give them read/write access mode during configuration, then you can change to read only/limited after the client is configured.

 

Tip #429: Calculating with empty fields

Calculated fields are all the rage, it seems. Today’s tip is from the Lego land, and it does look that CRM people over there do have very long daylight hours to come up with awesome tips. Plus their names look cool. See for yourself, passing the baton to Stig “Not that  Stig” Højmark Jensen.

Hi Tippers

Since I have found many helpful tips from following you on Twitter, I thought it was time to share this little thing that I found out yesterday when trying to meet a requirement using calculated fields.

In this case, the users have three currency fields on the opportunity for recording expected revenue in three different areas.

  • Est. Revenue Furniture
  • Est. Revenue Copy/Print
  • Est. Revenue Supplies

None of the fields is required.

We need the calculated field called Total Est. Revenue, which is pretty easy to make. But if you just add the three fields together, it will only show a result if all three fields have a value. If just one of them is blank, the result will show up as empty (‐‐).

Solution is to create three calculated fields:

Est. Revenue Furniture value
    If Est. Revenue Furniture contains data, result is Est. Revenue Furniture otherwise result is 0
Set Estimated Revenue Non-Blank

Est. Revenue Copy/Print Value and Est. Revenue Supplies value are done in the same way.

Now I can create my Total Est. Revenue by simply adding Est. Revenue Furniture value + Est. Revenue Copy/Print Value + Est. Revenue Supplies value

Result for non-blank calculations

Thanks for a great website and lots of great tips. (Thank you! – t.j.)
Med venlig hilsen / Best regards

Tip #428: Tipsters guide to folder-level tracking: end-user

It’s Friday and it’s video. Derik is here with the second part of the folder-level tracking saga and this time the focus is on end-users. If you are an administrator, make sure you watch the first part.

Give us your feedback, all of it: good, bad, and ugly, I’m sure we can take it. Suggest new topics either in comments or by sending your ideas to jar@crmtipoftheday.com.

YouTube player

 

Tip #427: Making sense out of plugin parameters like a boss

As some of you may know, correcting Joel is one of my hobbies. But being able to add to a Tanguy’s tip takes it to a completely new level. To recall: our challenge is to find all parameters including their types specific to a plugin message.

Instead of writing some temporary code only to delete it later, how about finding microsoft.xrm.sdk assembly in your project references and use Visual Studio Object Browser:
Browse object library

Like a boss memeNote: inherited properties like RequestId, RequestName, etc, are common for all messages and can be found at the OrganizationRequest object level.

Tip #426: Making intelli-sense out of plugin parameters

Our today’s tipster is the man himself: Tanguy “The XRM Toolbox” Touzard.

Did you ever feel lost when you wanted to develop a plugin and didn’t know what keys to use in IPluginExecutionContext.InputParameters or IPluginExecutionContext.OutputParameters? Did you ever wonder why we do use the mysterious “Target” key when writing a plugin for Create, Update or Delete messages? No more!

When writing your plugin class for a specific message, just find the corresponding Request/Response pair and browse the properties of the Request part for InputParameters and Response part for OutputParameters. You can use these object in your code to enumerate all the keys and then remove this snippets right after you found the keys and their types.

For example, if I’m a new developer and want to create a plugin on Create message but don’t know what keys to use, here is the sample code I can write to find these values (note that only properties that are bold on intellisense menu are available for use)
Intellisense for plugin parameters

As you can see, you can even check the type of the parameter to cast it correctly, so your code might end up looking like the following:
Sample plugin code
 

Tip #425: Track your parcels in CRM

It’s great to see how new features like business rules and calculated fields are changing the status quo in CRM development world. Today’s guest post is from Matt Pope is a testimony to that.

(Got a tip of your own? Send it to jar@crmtipoftheday.com)

Delivery Tracking and delivery notifications

I currently have a customer that wishes to manage deliver tracking and notifications within CRM. They have the tracking number and the delivery company but have to manually open the tracking site and type the number in. Removing the need for the user/customer to search for the tracking website and paste the tracking info in is not a huge benefit but with business rules and calculated fields it is so easy to create the functionality why not!

We need five fields on either a new entity or a current one:

  • Delivery Company – Option set all delivery companies used
  • Tracking Number – For the tracking number
  • Tracking URL – Calculates creates tracking URL
  • Tracking URL Start – Start of the tracking URL
  • Tracking URL End – End of the tracking URL

Business Rule

We also need also need a Business Rule. The objective for this business rule is to set the Tracking URL Start and Tracking URL End depending on the option chosen for Delivery Company something like the one below. The URL can be found with a quick google. This Business Rule does need some expansion, for example should a user switch the delivery company from Parcel Force to UPS the end of the Parcel Force URL will still be calculated into the URL.
Business Rule for parcel tracking

Calculated Field

The following calculated field will create your URL.
Calculated field for parcel tracking

Finished solution

The finished solution will look like the one below, the Unused Fields should be hidden from the form. This calculated URL is now available for CRM users and can be sent to customers automatically using an email workflow. There are a lot of areas this solution could be expanded for example a parental relationship for multiple tracking numbers.
FInished work for parcel tracking

If I had a real tracking number it would work!
Parcel tracking in action
 

Tip #424: Convert activities to campaign responses

Today’s tip is from the “Stuff I used to know but forgot about” file.

So you are making a phone call to a customer to follow up on an email that he received as part of a campaign. You want to see if he is going to register for your event.

Wouldn’t it be great to track the client’s response, so you can report on the success of your campaign? But when you click the “convert to” button, you only have the option to convert to a case or an opportunity. Wouldn’t it be nice to be able to convert an activity to a campaign activity?

You can convert a phone call to a campaign response if the activity regarding is set to a campaign activity. Then you will see a new option in the convert to menu “Promote to response.” This is one of the benefits of scheduling your follow up calls via a campaign activity. Calls can be easily converted to campaign responses.