Archive

Category Archives for "Bring technologies together"
2

Dynamics CRM – Follow the North Star

Polaris (the North Star)

Polaris (the North Star)

Out on the Dynamics CRM website you can find details around the upcoming Polaris release. This is a big one!  Microsoft has been steadily increasing their investment into their CRM platform and these next few releases (Orion, Leo, and Vega) promise to showcase some great new functionality.

Q4 Release Preview
Microsoft recently published a preview guide for the upcoming Q4 service release.  Inside are details around the first steps toward a UI that will rely less on pop-ups.  Reducing the number of windows has been a long-time request, so this is exciting news.  We also see a general theme update in this release, dropping some of the images displayed on the main CRM window.  Skype (or Lync if that’s your preference) integration with the forms is now available in a click-to-dial fashion.  The redesigned “flattened” forms will be seen in Account, Contact, Lead, Opportunity, and Case for Q4.
The other notable addition is the introduction of the process-driven UI.  The potential here is very exciting, as it gives a dynamic visual representation (and quick access to) the steps that are involved when working with this record type.  The Q4 release appears to bring this Process UI for Lead/Opportunity (viewed as one record, rather than two) as well as the Case entity, with more entities to follow in future releases.  By surfacing (no pun intended) these key components of the process, it should help to make a user more productive since they are given better guidance by the user interface.
Enlarged view of the Process section of a Lead/Opportunity form

Note, the latest word on the street is that this is online only for the Q4 release. Whether online or on-premise, this update is opt-in for existing customers.

Lastly, this update brings the first iteration of cross-browser support, though I’ve heard conflicting answers on whether Safari on iPad will be supported in an on-premise environment in Q4…I hope so!  We do get confirmation of Chrome and Firefox on Windows (I’ve seen live demos with both) and Safari on Mac OS.

Statement of Direction
Alongside the preview guide, Microsoft has published an updated Statement of Direction for the CRM product, which gives an idea of what to expect as a CRM online/on-prem customer or partner over the next 3 years.
Continued investment in sales force automation functionality.  We can see this already in the Q4 release with the Process UI, but they’re also discussing improvements in team collaboration, quotation/pricing/ordering components, prospecting, planning, and performance management.
Increased investment in customer service.  This will include emphasis on the sharing of knowledge, improved contact center capability, and multi-channel service.

Major increased investment in marketing automation.  While some of this will undoubtedly be newly developed IP for Microsoft, their recent acquisition of MarketingPilot should give them a (much needed) jump-start in this area.

Baby Steps
When I got my first taste of the next updates to CRM, I got really excited.  Now it’s time to be patient, as these releases are made up by a lot of baby steps.
Bob Wiley and Leo Marvin on Good Morning America

“But it did work that quickly, and that’s the miracle of Baby Steps.”

Dyncamics CRM 2011 Email Sync Options – Simplified

If you’ve ever wanted a quick description of the CRM 2011 Email Router options, and maybe even tried a quick google or bing search, there aren’t a lot of plain-English descriptions.  Sure you can dig up the deployment scenarios document on TechNet, but it’s a 2.4MB Word document that tends to get a bit too technical when explaining to a business user what the difference is.

What are the email options?

There are three options available…and here’s the skinny on each.

Outlook Client Synchronization

An individual user would have Outlook open, which communicates both with CRM and with Exchange (or whatever the email application is).  For email to be copied to CRM or sent from CRM, the person needs to physically have Outlook open with the CRM Plug-In installed, Enabled, and Connected.  This requires the least amount of administration and troubleshooting from an infrastructure standpoint, but introduces time lag in email being tracked in CRM as well as overhead when a user opens Outlook and the synchronization takes place.

Individual Mailbox Monitoring

The CRM Email Router monitors each user’s inbox.  Each email that matches certain rules are copied to CRM.  Depending on the number of Individual Mailboxes, this method can have significant  overhead from an administration and troubleshooting standpoint.  Microsoft puts a figure of fewer than 10 being the ideal number of individual mailboxes to monitor.

Forward Mailbox Monitoring (a.k.a. Sink Mailbox)

The CRM Email Router monitors one inbox (the “Forward” or “Sink” mailbox) that each user’s email is forwarded to.  Emails in the Forward Mailbox that match certain rules are copied to CRM.  A user does not need to be online in order for their email to get into CRM.  As far as administrative overhead and troubleshooting, this is more appealing than the Individual Mailbox Monitoring option.  Though all emails are evaluated through a single mailbox, the resulting emails in CRM are the individual user’s emails (it doesn’t lose the ownership and security, which is consistent with each of these methods).

——–

A couple of other notable items:

  • Note, it’s not an all-or-nothing game in making this decision.  This can be set up differently for different users connecting to the same CRM organization.  Though there is additional administrative overhead involved with tracking and troubleshooting each user’s individualized setting.
  • The Mailbox Monitoring options do not require a user to have the Outlook application, but the Outlook Synchronization option does.
  • Outbound email does not have the concept of a Sink or Individual mailbox, this email is all processed individually.
  • Outbound email that is processed through the email router does not show in the Outlook “Sent Items” view, the email must be found through the CRM interface.
  • Inbound and Outbound email methods can be set differently for each user.  For instance, inbound email could use the Outlook Client while outbound email uses the CRM Email Router.
  • The email router can be used with CRM On-Premise or CRM Online.
2

CRM Report – Removing HTML tags from an Email Activity Detail

I’ve been working with Dynamics CRM reports quite a bit over the last few months.  Most of the work has been using the BI Dev Studio (BIDS) in Visual Studio.  It definitely falls into the artful science category for me, with flavors of Excel, SQL Server, and even Publisher when developing a report.

In the case of displaying Email activities, specifically the body of an HTML email, the art takes a decidedly sad turn.

Simple HTML-formatted Email

Yes, this seems like a nice basic email. Nothing fancy going on here…

Okay, let’s see what that looks like in a simple report that shows a summary of email messages….

HTML tags show up in report

Gah, what happened!? It seemed so harmless…Text and a little image.

This is useful for…nearly nobody.

Matrix Code

Mr. Anderson, maybe you understand this…

There are many ways to try to tackle this…ranging from CRM plug-ins, to complex report design, to, well, something a mentor of mine tipped me off to.

Microsoft.Crm.Reporting.RdlHelper.HtmlUtility.RemoveHtml(field)

This gets used in the report design as an expression, replacing the normal field reference in the report design.  It uses a basic utility that strips out the HTML leaving only the plain text behind.  Okay, if that sounded clunky, a picture is worth a thousand words:

HTML vs Plain Text

Ahh, now that’s much better.

There are certainly more elegant ways of doing this, but if the key is to provide easy, readable email contents in a report this sure foots the bill!  From a user perspective, to see the full HTML version, I like to add in a clickable link to the email that pops the CRM Email Activity record.

I picked up a little tidbit while working through some applications of this:  If you try passing a null field using this utility  it returns an ugly little #Error instead of a blank string.  Also, SSRS will still throw the #Error even if you’ve included an IIF statement in the expression to make sure there’s a value before calling the utility.  Below is a little workaround that gets the job done.

Microsoft.Crm.Reporting.RdlHelper.HtmlUtility.RemoveHtml(field & “”)

If anyone knows an easier way to do that, please drop the details in the comments section.

Again, there’s surely a prettier way to handle this, rendering HTML in the report or including some basic formatting, but this is pretty lightweight and works well when printing a basic list of emails with the body text in a report.

As far as I can tell, this utility is an undocumented feature of CRM, so quite technically speaking it is not supported by Microsoft and is something that they could yank out in a future release without notice.  That said, this is the method used in the out-of-the-box CRM reports to strip out HTML tags.

Objective: Strip out HTML tags from an email message when displaying in a CRM report
CRM Version: Undocumented feature. I’ve tested with CRM 2011 through UR8
Valid as of: 9/10/2012
Permissions Required: Create/Write reports.

UPDATE 9/11/2012:

I received a question regarding a problem someone was having when importing a report that leveraged the expression above.  After a little troubleshooting, the answer was that the report lacked a reference to the following Microsoft assembly:

Microsoft.Crm.Reporting.RdlHelper, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

Vanilla CRM reports and those reports created using the built-in CRM Report Wizard include this reference automatically.  However if you build your own report from scratch, you’ll need to add this manually.  With the report file open in Visual Studio BI Dev Studio, hit the menu item at Report->Report Properties…  Next, click Add and paste in the reference to the assembly and click OK.

Report Properties Window

Way to go, Bobby!

Thanks for the question!  Other comments and questions are welcome.

>