Category: Configuration

  • Card Forms and List Views in Unified Interface

    Card Forms and List Views in Unified Interface

    Since the beginning of time, meaning early days of MS CRM, we’ve grown accustomed to the fact that record fields in Dynamics 365 Customer Engagement can be presented either via entity forms or entity views. The entity form shows the editable fields of a single record, whereas the entity view gives us a list of many records from the same entity. Views used to be read only, but as Microsoft finally provided a first-party editable grid feature in December 2016 update for Dynamics 365, that blurred the lines between a view and a form to some extent.

    Showing views on a form has been possible since already 2011 when subgrids were introduced. Now with the expanding feature set of CDS for Apps and their Model-driven Apps (formerly XRM), it’s actually possible to also show forms within a view. No, not just any random form, as that wouldn’t really make all that much sense. After all, if you want to look at an actual entity form with several tabs and sections worth of data, you’re going to want to click away from the view and show the entity form in full screen mode. In Unified Interface there’s even a nice shortcut for you to keep browsing the other records in the source view without having to navigate away from the entity form you’ve opened:

    The scenario for showing form style content within a view is for a different type of a need: presenting several fields from one record in a view when there is no space available for showing columns side by side. This is of course related mostly to the vertical layout of a phone app that has more pixels available from top down than left to right. You could however encounter this type of a layout need when embedding views onto either forms or dashboards, with a narrow space available for any single record from the view to identify itself with its fields.

    The Unified Interface already has a built-in capability to address this scenario with its automatic reflow. If you take the “My Active Contacts” view as an example, when in the web client on a wider screen you’ll see the view columns in the traditional format. However, if you start making the screen (or “viewport” as the developers like to call it) more and more narrow, you’ll eventually reach a point where the presentation mode changes to remove all the columns & sideways scrolling bar, replaced with a card like UI. It will by default show the entity icon and the first three columns available in the original view definition.

    If you want to have more control over how the information would be presented in its compact, mobile friendly format, then the entity Card Form is a tool that you should take a look at. Available as one form type alongside the more familiar Main Form, Quick View Form and Quick Create Form, the Card Form was introduced originally with the Interactive Service Hub (ISH) client. Since this was a very limited client type that predated the Unified Interface, most customers and many consultants probably haven’t worked with it in the past. Now that Unified Interface is set to take over the world from the legacy web client sometime in the future, it’s about time to get familiar with these features.

    Unfortunately Microsoft doesn’t yet provide much documentation about the use of Card Forms. The references in the current documentation are also somewhat misleading, since the term “card form” is also used in reference to what is actually a Quick View Form. Many people will surely have an image in their minds about the Card Form being something like the example shown below. It is not.

    The customization UI in the application itself isn’t that helpful either. Out of the ~14 default forms that the contact entity currently has in a sales focused Dynamics 365 Customer Engagement instance, 4 forms contain the word “card” in their name, but only one is actually of the type Card Form!

    Ignore the false cards and head straight to either the default “Contact Card form”, or alternatively create a brand new one. You’ll land on the classic form editor experience that will present to you the fixed layout and available features of a Card Form:

    It looks like there are familiar elements from the Main Form available here: header, details, footer. What’s different is that there aren’t much properties you could play around with when it comes to the sections, meaning any labels or layout options that a traditional form would have. The maximum number of fields you can drag from the field explorer and drop onto the Card Form are:

    • Header: 3
    • Details: 4
    • Footer: 4

    Given that the intention is to provide just the key attributes of a record in a view, these numbers should be plenty. In fact, you might want to be cautious about not including too many fields onto the Card Form to keep it visually pleasing to the eye. As you’ll see from the example of how the form renders, there will be no form labels provided for any of the fields in the header or details sections, so be sure to only include the kind of fields that will be obvious to the user based on just the data of the field or the context in which the view is available (not just a bunch of date fields, for example). Also note that the footer currently appears to be expanded by default when the view renders, although there’s an upward arrow for you to collapse it for an individual record (you’d think this would be the other way around). You can control whether the footer is expanded by default or not by going to System Settings – General – Set the default card state for Interactive Dashboards.

    How will you then determine where this card form layout will appear? This is where the Custom Control Framework comes into play. We now have a control type in standard Dynamics 365 Customer Engagement called “Read Only Grid” that is different from the “Read-only Grid (default)” control. When you switch one of the clients (web, phone, tablet) to utilize this new control instead, you’ll get the option to link your default or custom Card Forms as the way how the view contents should be rendered. (more…)

  • Configuring Custom Controls for Views in Dynamics 365 CE V9

    Configuring Custom Controls for Views in Dynamics 365 CE V9

    The new Unified Interface that launched in v9.0 of Microsoft Dynamics 365 Customer Engagement gave us all the possibility to try out the next generation CRM user experience in new trial orgs or sandboxes. While the CDU process for upgrading existing customer environments to V9 has not yet been made available by Microsoft (which gives them some time to iron out the remaining wrinkles with a steady stream of Service Updates), now’s a good time to explore what’s new and what’s changing with the imminent arrival of Unified Interface.

    One of the most exciting platform enhancements from a developer perspective is surely the arrival of the Custom Control Framework. Known as CCF for short (no, not that Microsoft CCF you senior members of the community might recall), this is essentially the mechanism through which all of the data visualization in the XRM platform will be handled in the Unified Interface. Not just the custom developed UI components from partners but also everything that Microsoft builds. Take a look at the default solution of a V9 org and you’ll already see a wealth of these components listed in there:

    The bad news is that as of now there’s no documentation nor API available for developers to build new or extend existing controls via CCF. It’s coming, but it just ain’t ready quite yet. In the meantime, us system customizers can get familiar with the concept by tinkering with the configuration options that ship with V9.

    Custom Controls for Views

    Back when the Editable Grid first launched, the feature was rolled out in an “all or nothing” style. What this meant was that you were able to enable it on the entity level, but then it was the only view type that any user would see in the UI (at least in the specified client type). Sure, they were given the option to switch from editable to classic read-only grid if they spotted the option, but the system customizer wasn’t able to target the powers of Editable Grid to only views that actually benefited from this feature.

    V9 has taken this a step further and introduced a Custom Control setting for each individual entity view. This gives us the option to set that only a specific view like “Edit Account Details” would only present the grid in the editable format with all the pros and UX cons that this particular control introduces over a read-only view. This doesn’t apply in the classic web UI (or the “Refreshed UI” as the V9 release refers to it) but on the Unified Interface side we can now see the power that this granular control over controls has on the user experience.

    New View Controls in V9

    In addition to the Editable Grid, there are a number of other grid types that a V9 org presents as options for the system customizer. In the screenshot above you’ll see the Calendar Control having been chosen as the data visualization type for the view. This opens up a number of configuration options that can be set right in the UI, like the date field data sources, description label, colors and so on. What we see here is essentially an example of the point & click configurability that a CCF based control can offer when used in the Dynamics 365 CE solution.

    The Calendar Control is also responsive to the client type. When access via a browser app using the Unified Interface style (in this case a custom Subscription Management app), you’ll see a somewhat ugly legacy calendar with the week days presented horizontally. When viewed via the Dynamics 365 for Phones app it will render in a the above format of vertically stacked records per day. (Yes, those day of the week and month texts are presented in Finnish regardless of the app language setting being English, because that’s how Microsoft prefers things to be).

    There are also other control types available for views in V9 currently, such as Timeline Control. That specific control appears to require quite a specific format of source data that fits the scenario of the Company News Timeline solution, so you might not find it useful in your own customization work. What might be worth noticing is that there are in fact two separate read-only grids available in the current release: the default one and the Read Only Grid with settings to control the entity card form and data reflow behavior.

  • Microsoft Flow and Dynamics 365 – My Slides from CRM Saturday Oslo

    Microsoft Flow and Dynamics 365 – My Slides from CRM Saturday Oslo

    Watch out: the Citizen Developers are coming! They are armed with easy to approach GUI tools like Flow, PowerApps and PowerBI, and they aren’t afraid to connect to any of the 160+ cloud apps that you may or may not know your organization is using to solve everyday business problems that the traditional IT projects have failed to serve.

    This is the common story you hear when Microsoft talks about this new generation Business Platform and how it powers the hottest of the hot buzzwords: digital transformation. While it certainly represents a big shift in the capability to deliver new business apps, there is at least an equally significant impact these tools can have to the more centralized efforts of building organization wide solutions for managing business processes and data – meaning CRM system deployment and development. With this in mind, I set out to explore the current state of Microsoft Flow in regards to how it can be used together with Dynamics 365 Customer Engagement. The results of this study and some of my personal thoughts on how Flow changes the way we deliver CRM projects can be found in the following presentation:

    In these slides you’ll find information about topics such as:

    • How does Flow relate to other MS technologies like Common Data Service (CDS)
    • What traditional CRM process automation scenarios could Flow be leveraged in
    • Is the new Dynamics 365 V9 capability of embedded Flows the replacement to now deprecated Dialogs
    • Why Dynamics workflows are still easier to work with than Flows
    • What licensing and administration considerations do you need to keep in mind with Flow
    • Microsoft Flow vs. Azure Logic Apps, what should you use where

    The actual presentation took place last weekend in Oslo, Norway, where I was invited to speak at the CRM Saturday event. It was the first such event that I had the opportunity to participate in and found it to an awesome experience! I had a great time meeting both the local Dynamics 365 community members as well as spending time with the very knowledgeable speakers and fellow MVPs. A big thanks to Microsoft Norway for graciously hosting us and to the community hero Marius Agur Pedersen for making the event possible in the first place!

    If you aren’t yet familiar with the CRM Saturday concept, I suggest you go check it out and keep an eye for future events where Dynamics 365 community members can get together and exchange ideas on how to make the world a better place for CRM professionals and customers alike. Do also keep an eye on the #CRMSaturday hashtag on Twitter for the latest buzz around the events and information shared from the presentations. At least Mohamed Mostafa and Jonas Rapp have also made their sessions’ slide decks available and I’m sure there’s plenty of other blog posts out there that have been inspired by these events.

  • The Long Road to Unified Interface in Dynamics 365

    The Long Road to Unified Interface in Dynamics 365

    On June 20th Microsoft started taking the cover off its next major release of Dynamics 365 Customer Engagement (formerly known as CRM): v9.0. The biggest announcements in the first day of the Dynamics 365 Preview Executive Briefing were around the client story. With the new Unified Interface (sometimes also referred to as “UCI” for Unified Client Interface/Infrastructure) the plan is to bring a single client technology to cover all the different UI’s across devices. Web, Outlook, Mobile, Tablet.

    This is very exciting news, but there’s a lot of details and footnotes that people in the Dynamics ecosystem need to be aware of. Let’s dive right in!

    The Client Fragmentation of Dynamics CRM

    Most of you will have probably been around when the previous big UX refresh took place with CRM 2013. We then received the MoCA Framework based tablet app with Windows 8 style tile UI and later saw this framework being used in many other places. We even received a brand new client to be used on the (desktop) web, the Interactive Service Hub (ISH). In fact, one year ago it almost looked like MoCA would be eating the world:

    The only problem with this strategy seemed to be that all of these individual parts never formed a sensible whole. Instead, there were so many “seams” visible everywhere you looked in the Dynamics CRM client landscape that many times you just wanted to keep your focus on the traditional web client and wait for things to clear up in these newer areas of the platform. A few examples:

    • Knowledge Articles were introduced only on ISH, but at the same time ISH was too limited/buggy to be used in most of the existing customer service scenarios with customizations in place.
    • Visual Controls were introduced in the phone and tablet, but the main web app forms just kept getting more and more white with nothing but text fields.
    • Dashboards with filters were made available on ISH, but much of the entities (i.e. sales) that typically are analyzed with dashboards were not allowed on the ISH side.

    MoCA was born for the mobile first era of touch UI and understandably it didn’t have all of the traditional capabilities from the web client. However, there were plenty of gaps that didn’t make it ideal for mobile use either. One of the biggest issues I had with MoCA was the “configure once, deploy everywhere” principle, which tried to force the same full CRM configuration onto the mobile device screens. MoCA brought the CRM into your pocket, but most of the time what a user would need in their pocket is a simplified app focused on a limited set of tasks. The limitations with MoCA meant that Microsoft had to rely on a Resco based client for their Field Service app in which the use cases are primarily mobile only.

    This Time It’s Different

    The promise of Unified Interface is that the era of web vs. mobile is over and now we’ll see a UI that’ll both adapt to the device or screen in use, as well as offer the same customization options in each of them. Content will be presented in a way that will reflow into different states of the control as the space available to it changes.

    Unlike with MoCA, this time there can be multiple different apps also accessed on a mobile device. Also web-only features like form switching are now available on all devices which makes it far less challenging for the system customizer to design a solution when all the exceptions and limitations of specific client types are (in theory) no longer in the way. It’s important to set the expectations on a realistic level, though, since I’m quite sure we’ll need to make some more compromises on the web side of the house with this new Unified Interface, but hopefully it’ll be a price worth paying for true mobility of Dynamics 365 business apps.

    For an even more customized experience, the Custom Control Framework that has been gradually introduced as part of the application (like the Editable Grid, for example) is going to introduce a design surface for developers to extend Dynamics 365 Customer Engagement apps in exciting new ways. Not only that, the existing ASPX based UI controls that have been in the core CRM application since forever are now also being transformed into Custom Controls. This is a part of the larger application/platform separation initiative that’s a whole topic of its own. On a high level, the developers should soon have access to basically the same tools for building new UI controls as what Microsoft is using to build their business apps.

    All of this should help in removing many of the gaps that have currently stopped the rolling out of the individual application features in earlier releases for real life business scenarios. There are plenty of promises that MS is making on performance improvements of this new client technology, too. That’s an important aspect to keep in mind and realistically evaluate as the Unified Interface becomes available, since all of the eye candy in the world won’t be of much value if the actual user experience of working with the application isn’t meeting the ever growing expectations of fluid interaction with the data stored in and managed via Dynamics 365.

    Are We There Yet?

    So, all of this looks great – now can we have it by tomorrow, please? The short answer is “no” and the expanded one is “it depends”. As mentioned in my earlier blog post, much of the new features in Dynamics 365 will now be rolled out via Private Previews and Preview programs before general availability. Hopping on to the preview train will shorten the time it takes for gaining hands on experience with the new UI. However, there’s more to it.

    Earlier I mentioned the previous UI refresh of CRM 2013 release (“Orion”), but some of you might still remember the intermediate release of “Polaris” (whereas the official name December 2012 Service Update isn’t something even I remembered anymore). That was perhaps the first Online-only release that Microsoft developed, with a target of not even trying to upgrade all of the application features into the new UI concept but instead just a selected few entities (“COLAC”) received the refreshed forms and Business Process Flow. You could build a simple CRM demo for a new customer with it, but trying to upgrade existing systems into Polaris or building anything with more customization requirements was a no-no. They had to wait until the full CRM 2013 release became available.

    The reason I’m bringing up this is that initially the Unified Interface is likely to be a bit like Polaris. It’s going to be made available only to brand new instances with the Business Edition licensing, or for new Apps that are either built by Microsoft (Customer Service Hub, a.k.a. ISH v2) or by the customer. It will also be available on the Phone and Tablet apps as well as in the lightweight Dynamics 365 App for Outlook (which officially replaces Outlook Client that’s now deprecated). Everywhere else, though, it’s not going to be the time for Unified Interface yet, but instead a refresh of the web client that’ll look something like this:

    Starting to get confused? I don’t blame you! There’s a hint of irony in the fact that the “Unified” Interface will initially be yet another interface variation for the Dynamics 365 application. I’m sure it’s not the way Microsoft would prefer to have these things introduced but reality is usually a bit more messy than PowerPoint presentations. The new client technology simply represents such a major shift in how Dynamics 365 works that upgrading all the complex customizations of existing Enterprise customers into it in one go would not be a smart move. Remember that “everyone’s an enterprise customer” until the Business Edition finally is out the door.

    To truly understand the client strategy that Microsoft is pursuing, you simply have to look at the Business Edition now, regardless of your deployment’s size. It is the dreamy wonderland in which MS can cut back on unnecessary complexity of application features and not worry about breaking any existing deployments, since there is hardly any legacy there. A fresh start that doesn’t need to carry all of the overlapping functionality (like Contracts vs. Entitlements) or provide all the admin options necessary for hybrid environments. It’s not all pure bliss in the sense that all of this will eventually have to live in harmony with the more complex custom UI’s and business logic of big corporations with “non-simplified” CRM systems running on the Dynamics platform. Still, right now we’re seeing a move from “cloud first” to “Business Edition first” when it comes to client innovation.

    Just because the Business Edition is targeting the lower end of the product licensing fees doesn’t mean you should dismiss the functionality that is being introduced in it. If the Sales app mainly streamlines many of the unnecessary complexities of current opportunity management in Dynamics 365 Enterprise, then the Marketing app will bring advanced logic like Customer Journey management that many existing larger customers would surely love to get their hands on. Unified Interface is the big story here that’s driving the release policy. I suspect that it’s the primary reason why the new XRM based Marketing app is only available for Business Edition customers initially, since features like integration with Customer Insights based segmentation and scoring mechanisms are not a feature anyone would build solely with the SMB segment in mind.

    It will all make sense in the end (hopefully), but in the near future both the customers as well as Microsoft will have some work ahead of them before the new promised land of Unification is reached. This is of course not all that different from what other business application platforms with a long market presence must go through every once in a while. Some may claim that Microsoft is following the Salesforce Lightning UI concept here with their Unified Interface and the similarities are surely there to be found. In fact, what I wrote about this the last time when Salesforce was following Microsoft’s lead is still pretty relevant when it comes to user experience evolution, so why not revisit that blog post for some perspective: The Irresistible Force of Great User Experience in CRM Applications.

  • Gentlemen Prefer Solutions: The Expanding Dynamics CRM Footprint

    Gentlemen Prefer Solutions: The Expanding Dynamics CRM Footprint

    If you haven’t worked with CRM Online using Office 365 Global Admin rights recently, you might have missed the new delivery mechanism that Microsoft has created for additional CRM functionality not included in a new Online org by default: preferred solutions. Unlike the traditional solution import mechanism under the CRM application’s Settings area, these preferred solutions are both installed as well as updated (upgraded) via a miniature “CRM app store” controlled by and reserved for Microsoft exclusively. To access these preferred solutions you need to go to the O365 Admin Portal, open the CRM Online Administration Center, choose an instance and click the edit icon next to “Solutions”. You’ll be presented with a list like this one:

    Preferred_solutions_manage

    OK, maybe not exactly like this one, unless you work in the United States. You see, these preferred solutions are also targeted to preferred customers, meaning in practice CRM Online customers who use a tenant located in North America. Let me point this preferred region out to you from the Office 365 and CRM Online datacenter map:

    O365_datacenter_map

    The current availability of the preferred solutions is as follows:

    • Insights for Microsoft Dynamics CRM Online: powered by InsideView, this service is free for CRM Online US customers only. Presumably due to the fact that their database wouldn’t have very good coverage of companies in other parts of the world. You could of course buy the service from InsideView directly if you really must have it.
    • FantasySalesTeam: acquired by MS in August 2015, this gamification solution is built on the concept of fantasy sports that’s apparently a huge industry in the US but less familiar in most other regions. Sales people all around the world surely are a competitive species but no one turns the competition into entertainment quite like the Americans do. Expanded availability of the preview is coming any day now.
    • Voice of the Customer: built in the UK and acquired by MS in March, the solution formerly known as Mojo Surveys has been launched in preview mode for US customers only. Ouch. Well, don’t worry, this feedback management solution will surely come to other geos quite quickly (or MS will need to deal with some customer feedback of their own…)
    • Office 365 Groups: not acquired from anywhere but rather an original Redmond design, this solution became available already back in CRM 2015 Update 1 (v7.1) time frame as a preview globally (yay!)and is now available in full production support mode to all CRM Online customers.
    • FieldOne Sky: only the sky’s the limit for this solution that’s available to CRM Online users with Professional licenses, no matter where your field service personnel may roam. Acquired in July 2015, FieldOne is running mostly on Microsoft’s XRM platform, but the mobile client still relies on Resco and allows only access to a subset of CRM default entities, so for broader mobile use you’ll still need to buy a separate Resco license.

    Although not a CRM solution in technical terms, it’s also worth mentioning that the CRM App for Outlook which was released as US only preview last summer is now available to all CRM Online users who are on CRM 2016 version. I haven’t seen any upgrade time slots being scheduled for existing CRM Online customers yet, so currently mostly newly provisioned orgs can access the Settings – CRM App for Outlook menu to enable users for this lightweight successor to the “heavyweight” Outlook client of the past. (more…)

  • Troubleshooting CRM for Tablets Login Issues with ADFS

    All CRM 2013 and CRM Online customers have access to the CRM for Tablets app that’s available for Windows 8, iOS and Android devices. Since it’s an app from the new age of mobile computing, the users can simply download it from the respective app store of the platform provider and install it. Configuring the app to connect with your CRM organization can however prove to be a bit trickier task than this.

    If you’re using CRM Online hosted by Microsoft in their data centers, connecting the tablet app to the CRM server in the cloud is usually a straightforward process. Just enter the URL for your organization, then punch in the credentials and off you go. Well, to be more precise, upon your first connection the organization you’ll be taken to a screen that asks you to hold on tight while the app is being set up. This is because all of the metadata related to your CRM organization’s customizations first needs to be loaded, so that you’ll see your own CRM instead of some generic, hard coded menus and fields. This step can take quite a while to finish, but just hold on tight, it’s worth it.

    If you’ve got your own on-premises CRM server or you’re logging to CRM Online via your on-premises Active Directory credentials, you may need to work a bit harder to achieve connectivity between the CRM for Tablets app and the CRM server. This is because in both of these scenarios you will have ADFS (Active Directory Federation Services) sitting there in the middle, processing your login request and validating your user credentials. Of course the same technology is also used behind the pure cloud CRM Online service, but MS has done the configuration work for you, whereas with on-premises components you’ll be in charge of performing this.

    CRM_for_Tablets_Were_Sorry

    Recently I was faced with a situation where a customer had deployed Dynamics CRM 2013 SP1 on-premises and done the Internet Facing Deployment via Windows Server 2008 R2 ADFS 2.0, published via Forefront TMG (Threat Management Gateway) 2010. Accessing CRM via the web client through the IFD address was working as expected, so was the CRM Outlook client. CRM for Phones was connecting without issues and I could even connect to the server via tools like XrmToolBox with no issues. There was just one problem: the CRM for Tablets wouldn’t connect to the server, no matter what. In the process of troubleshooting this particular scenario I learned a thing or two about the tablet app connectivity as well as server configuration tasks, so I thought I’d share my findings here on my blog. I’m by no means an expert on anything surrounding ADFS , but I’m stubborn enough to keep searching for answers until I find some from the great wide web.

    RTFM – Read The Friendly Manual(s)

    First of all, you’ll need to know your ADFS version, since there’s a few new hoops you’ll need to jump through when working with Windows Server 2012 R2 and the latest ADFS 2.2 (sometimes referred to as ADFS 3.0, since official version numbers seem to have been dropped by MS, in favor of just shipping ADFS together with Windows Server releases). The architecture of ADFS has changed considerably from earlier 2.0 and 2.1 versions, with no more IIS in the background, so the configuration process for CRM IFD also differs from the previous experience.

    You’ll find the extra steps listed on this article: Configure Windows Server 2012 R2 for CRM mobile clients. On the ADFS 2.2 server you’ll need to enable forms authentication manually, since it’s not enabled by default, like in previous versions. Then you need to run a Powershell script on the CRM server to configure the OAuth provider. Finally, you should register the CRM for Tablets app ID’s with the ADFS server via another Powershell script.

    Tablet_AD_login_promptYou may run into an issue with the login process where the user is prompted for their AD credentials via the standard Windows domain dialog window repeatedly. This is because of some incorrect authentication settings that apparently are caused by the CRM IFD configuration process itself. To avoid these issues, you should run a repair installation on the CRM 2013 server with the Web Application Server role deployed, after you’ve done the IFD configuration and before you attempt to log in with the CRM for Tablets app.

    Another aspect is the requirements imposed by the new Windows 8.1 version of the tablet app. Because of the changes on the OS layer, it’s no longer possible for Win8 apps to connect to any random server at will, but rather the developer has to specify the URL’s of these servers before publishing the app to the Windows Store. For CRM Online the domains for the service are known in advance, but for an on-premises deployment they could be absolutely anything. To overcome this, you’ll need to add a registry entry onto your device before attempting to connect to your server, otherwise the tablet app will just sit there and do nothing. Go to the page Set up CRM for Tablets, expand the section “what the admin needs to do” and grab the Powershell script from there. Running it on your device will prompt you for the CRM organization URL and create the necessary registry key for you. (more…)

  • Dynamics CRM Platform Evolution Revisited

    Dynamics CRM Platform Evolution Revisited

    MVP_year_2_cakeIn celebration of receiving my second Microsoft Dynamics CRM MVP award today (thanks to the whole #MSDYNCRM community for your support!), I’m publishing an article series on the Microsoft Dynamics CRM 2013 Customization and the Platform Evolution.

    For the regular readers of my blog this title may sound eerily familiar, and you are correct. This is indeed a re-release of my earlier webcast topic that I presented in May for MSDynamicsWorld.com. I’ve previously shared the links to the live recording and the slide deck, but this time I decided to put it all down in writing. I had a huge pile of speaker notes, so I tidied them up a bit and published them as articles on this site.

    Why bother revisiting the same old story? Well, it all comes down to my own behavioral patterns and personal preferences. You see, even though there’s an ever increasing number of webcasts, podcasts and other forms of streaming content published these days on highly interesting topics and shared all over the social networks I hang out at, I very rarely find myself actually consuming any of that content. Jeffry van der Goot nicely captured the underlying issue in his recent tweet:

    Stop_the_videos

    Recordings of people presenting on a topic that they claim to be experts in just isn’t a very effective method of online knowledge sharing, if you ask me. Sure, you might be able to convey your message a lot more effectively with the help of audio and video, but the problem is that I, the audience, have a difficult time in assessing whether the content you’ve prepared really is worth my precious time (my precious free time in most of the occasions, I might add).

    It’s not just that all of us can read much faster than we can listen. It’s the avenue of opportunities that a piece of information receives when it’s put down in writing. The audience will be given the chance the glance at the content from a higher level, scan through for highlights that capture their attention and, most importantly, easily revisit any of the words transmitted in this form of communication. The content producer, the presenter of words, also gets to enjoy the same benefits when reviewing his or her own thoughts in a structured manner and designing the detailed message that is to be delivered. Last but not least, written content is infinitely more discoverable via the tools we all now turn to when in need of answers to our everyday questions – the mighty search engines.

    Now that I’ve explained the “why” behind the content strategy, it’s time to return back to the “what”. The Platform Evolution article series is about exploring some of the key themes that are shaping the process of how we can deliver customized business solutions on top of the Microsoft Dynamics CRM 2013 platform. The discussion is broken down into four parts:

    • Part 1: The History. Where does Dynamics CRM as a product originate from and how did we get to where we are now with the CRM 2013 version?
    • Part 2: Mobile Computing. How has the evolution of client devices affected the CRM platform and what should you know about the new client options?
    • Part 3: Customizing CRM Today. What is the difference between a traditional CRM system and a modern business application built to match the CRM 2013 design language?
    • Part 4:  Delivering Responsive Solutions. How could we optimize the user experience of our application without diving into the sea of custom code?

    Hope you find something of interest in these articles, but as said, they are there for you to conveniently scan through and judge for yourself. Because life’s just too short for sitting at your computer, watching long recordings that in the end didn’t quite deliver what you had expected.

  • CRM 2013 SP1: Case Creation and Routing – The Big Picture

    The latest Dynamics CRM Online Spring ’14 release is now rolling out to existing and new customers (starting from the US data centers) and the on-premises equivalent of CRM 2013 Service Pack 1 will soon follow is now available from MS Download Center (here’s the KB article for more details about SP1). The quickest way to check if your CRM Online organization is already updated to the latest release is on the About screen, accessible via the gear icon in the top right corner. If your version reads 6.1.0.575 (or 6.1.anything) then you’ve got the Spring ’14 release available and you can proceed to the Install Product Updates menu to enable the new features.

    CRM2013SP1_version

    This release, previously known by the codename “Leo”, focuses on enhancing the service management capabilities of Dynamics CRM. There’s a great “What’s New” page on CRM Customer Center that provides a detailed listing of the new features launched now, including an eBook of the changes in service management. Instead of repeating all of this information, I’ll try and provide an overview of how the features align with one another and specifically how they could be applied in real world scenarios for managing incoming service cases from customers.

    Enhancements in Case Creation and Queues

    I guess we’ll still need to first list the new options we need to be aware of when configuring the service module in CRM 2013 SP1 to handle emails and cases  via queues. First off, there is now support for server side synchronization of emails (and other activities) between CRM Online and Exchange Online, without having to use the old Email Router technology (no support for hybrid deployments, though). Then there’s a new feature called Case Creation Rule that allows you to automatically convert an email message or a social activity record placed in a queue into a new case record. Finally, we have Routing Rules that can be leveraged for moving items into queues.

    The following is my own interpretation of how these three areas are aligned in CRM 2013 Spring ´14 Update / Service Pack 1. The picture illustrates how an email message from the customer would flow through the system automatically based on the configuration of the aforementioned features. It also includes a few bullet points about the supported actions for each component. (Feel free to click on the image to view a bigger version that won’t stress your eyes so much.)

    CRM2013SP1_Queue_Case_Configuration_small

    When going through the Leo release features I found it a bit challenging to get a clear view of the logical order in which the different functional areas found under the new Service Management settings menu should be applied. Also the relationships between them and the restrictions imposed on the number of records was something I only learned through trial and error. Hopefully this illustration makes it easier to identify the roles of case creation rules and case routing rules in the new release.

    Rules vs. Workflows & Plugins

    Looking at the picture, someone who has previously configured Dynamics CRM to be used in an email, queue and case based support process will surely find many familiar actions from the list. At the end of the day, pretty much everything here has already been possible with previous CRM versions. With those you just needed to leverage the workflow engine in the CRM platform to configure the case creation and routing activities. So, what’s really new here and why has Microsoft built this into the latest product release?

    Behind the scenes, what the case creation and routing rules do is they create the workflow processes for you. This can be seen from the release documentation where the administrator of those rules is reminded about the requirement to have sufficient security roles for performing the corresponding actions via workflows. So, taking a very simplistic view, you could think of these new features available in the Service Management as a dedicated UI for configuring common process automation actions for customer service scenarios.

    There’s definitely value in having these new features available right inside the core product. In previous versions, it has been far from trivial to build the necessary functionality for frequently encountered requirements, such as “email to case”. Several ISV add-ons have been developed to deliver such functionality and system customizers have surely spent a ton of time pushing the CRM workflow editor to its limits in an effort to automate the common tasks that a service organization would need to perform when managing cases in Dynamics CRM. Now there’s a new standard way to implement these processes via a method that is fully supported by Microsoft, which in turn will lead to far more customers taking a serious look at these case management capabilities in their business application platform.

    CRM2013SP1_Service_Management_Settings

    It’s important to keep in mind that these new features don’t replace any of the existing CRM platform functionality. They offer a default method to configure common features, but they will not cover every possible scenario that you’ll come across in real life implementation scenarios. That means you can still use workflows and plugins to extend the process automation for service case management. For example, while a case creation rule provides the possibility to set an auto response email to be sent to the customer upon case creation, there’s nothing stopping you from doing this via familiar workflow process if more complex business logic is needed than what the new Service Management UI in CRM makes available.

    In the next blog post I will take a more detailed look at how the case creation and routing features can be leveraged in practice, so stay tuned!

  • Expanding “Add Activity” Options on CRM 2013 Forms

    CRM 2013 has introduced many UI features that aim to reduce the number of different windows between which the user needs to navigate while performing everyday actions on records. Since customer relationship management systems are often focused on capturing the various interactions between the company and its customers, activity management is naturally a core feature that should be as smooth as possible in a CRM application.

    The refreshed entity forms in CRM 2013 contain the Social Pane (shown as “Notes Control” in the form customization UI due to legacy reasons) that shows three tabs of interaction data related to the record: Activity Feed posts (Yammer posts if available), activities and notes/attachments. In addition to a much richer rendering of the activity content than the previously available subgrids, there’s also an inline control available for adding tasks or phone calls directly on the main entity’s form. This provides quite a slick user experience that makes CRM appear very effortless to use for activity management.

    CRM2013_Activities_1

    What’s missing from the Social Pane then? Well, for starters, not all the activity types are available to be created via the Add buttons on the top of the control. We have phone calls & tasks available immediately, clicking the ellipses (…) button gives us email & appointment, and if we’ve added any custom entities into our solutions they’ll be presented here, too. However, if you’d want to add any of the other default activities for the record you’re working on, meaning a letter, fax, recurring appointment or a service activity, then you’re out of luck. The user would need to navigate away from the form by selecting the Activities menu from the Nav Bar, create a new activity record from there, find the Regarding record to reference on the activity, save it, then return back to the original record.

    Another limitation has to do with the inline editing experience of tasks and phone calls. When you create a phone call via the Social Pane, it will always be record as a completed activity. So, no chance for planning upcoming phone calls and setting up a reminder, unless you record it as a task instead. Another downside of the inline form is that it’s not customizable, which means we can’t display any custom category fields related to a phone call or task. When implementing a CRM system for tracking the activities of sales people and account managers, it is a very common requirement to have some compulsory fields added onto the activity entities that the user must fill to categorize and describe the activity before being able to complete it. Well, since the inline form will log a completed phone call right after clicking on OK, this isn’t exactly the optimal feature for those scenarios.

    Ribbon to the rescue

    While some parts of the new UI are not yet customizable in CRM 2013, we do still have a way to introduce additional features onto the entity forms via the Rib… sorry, Command Bar. Even though in its default setup the Command Bar looks like a stripped down version of the CRM 2011 Ribbon, it’s still built on the very same  Ribbon XML definitions and it supports most of the features from its previous incarnation. As we know, CRM in itself doesn’t provide tools for configuring the contents of the Ribbon, which is why someone just had to do something about it. That “someone” is CRM MVP Scott Durow and the “thing” is his awesome Ribbon Workbench solution that gives us everything imaginable for customizing the CRM 2011 Ribbons as well as the CRM 2013 Command Bar.

    Since many of the common features presented on the CRM 2011 Ribbon get hidden away once the CRM environment is upgraded to 2013, Scott has been covering several scenarios in his blog where this functionality is restored onto the Command Bar. Among these articles is a tutorial on how to restore the Add Activity buttons into a CRM 2013 environment. By following these steps documented by Scott we can enable the creation of letter activities while on an entity form, as well as provide a navigation path to opening the full form of a phone call activity to control the business required fields as well as activity status beyond the options that the Social Pane inline activity form gives us.

    To demonstrate the possibilities of modifying the default activity management features of CRM 2013, I decided to take Scott’s example and expand it a bit further. In his blog post Scott shows you how to make the activity buttons appear on the Command Bar, but due to the limitation of max 5 items being shown directly on the form and the rest being pushed away into the “more actions” menu, it’s not going to be very easy for the CRM user to discover their existence. What I did instead was add a new flyout menu, promote it to the top 5 items on the Command Bar and arrange all the “Add Activity” buttons inside it. The screenshot below shows how this has been configured while in the Ribbon Workbench UI:

    CRM2013_Activities_RibbonWorkbench

    How do we get the buttons to do what we want them to do, meaning creating new activity records like they used to in CRM 2011? Scott’s blog post contains all the details you need for making this happen, but since the inherent complexity of the Ribbon XML language can make it challenging to grasp how the various options relate to one another (I’ll be the first to admit I struggled quite a while with the task before being able to achieve the result I wanted), I’ll recap the main steps here for your convenience.

    First of all, we’re not creating a completely new command but rather customizing a native CRM platform command. While the activity buttons aren’t visible on the Command Bar by default, they do exist in the Ribbon definition and can be accessed in the Ribbon Workbench by switching from the Command Bar tab to the Ribbon tab (bottom left corner of the top menu) and navigating to the Form ribbon (since this is where we want the flyout menu to appear in our example). You’ll see the familiar Ribbon in the format that it would be shown, with the Activity buttons available under the Add tab. Yeah, not too many end users probably ever discovered that second tab of the ribbon on their own, which is why the simplified design of CRM 2013 is definitely a step in the right direction, even if it means us consultants need to do a bit more tweaking of the system to enable the relevant features.

    CRM2013_Activities_RibbonWorkbench_2

    Anyway, now that we’ve found the buttons, we can right-click on them and select “Customise Command”. Effectively what this does is it brings the commands like Mscrm.AddPhoneToPrimaryRecord available for us to reference in the custom buttons that we create. While we’re at it, we can also re-use the icons and labels from the native buttons in our custom flyout menu buttons. The one thing we need to change, however, are the Display Rule settings of the now customized commands, as the Mscrm.HideOnCommandBar rule would otherwise do just what it says and hide the buttons from our flyout menu when viewed on a refreshed UI form.

    As mentioned, please refer to the original blog post to guide you through the detailed configuration of the custom buttons. It will give you everything except the different layout, which is the flyout menu that you can see below. In practice this method allows us to create up to five traditional dropdown menus on the form’s Command Bar. We now have a button labelled “Add Activity” that will open up a list of different activity icons, which in turn will lead the user to the traditional full create form for the chosen activity type. It will pop open in a new window, allow the user to edit the details, then close the window and return back to the parent entity form. Just like in the “good ol’ times” of pre-2013 Dynamics CRM.

    CRM2013_Activities_2

    If you took a closer look at the flyout menu shown in the picture, you may have noticed one non-standard entry at the end of the list: Site Visit. What’s that? And why’s it under a menu section called “Quick Actions”? Thanks for asking, let me explain what it’s all about. (more…)