Tag: Microsoft Connect

  • How Would You Change the Dynamics CRM Navigation?

    How Would You Change the Dynamics CRM Navigation?

    CRM 2013 introduced the first big change in the navigation logic of Dynamics CRM since version 3.0 in 2005. We went from a hierarchical, popup window driven UI with many ERP-ish menus to a more modern experience of a single window app with touch optimized navigation bars and a reduced number of menu options visible to the user at any given time. Hopefully many of you have already had the chance to try out the new flow UI, in a CRM Online trial instance, for example.

    Dynamics_CRM_menu_sales

    When big changes are introduced to the user interface of an application, it always takes a while for the existing users familiar with the previous interface to get adjusted to the new ways to perform the same underlying actions in the application. There was a very interesting piece published a while ago where a UX designer having worked with the Windows 8 Modern UI (formerly known as Metro) shared his opinions on the impact to the users and one possible rationale behind Microsoft’s decisions on revamping the world’s most popular OS:

    “Familiarity will always trump good design. Even if something is vastly better, if it is unfamiliar it will be worse. That’s why people act like a unicorn was murdered every time Facebook releases a new redesign. The Windows 7 start menu IS better because it is familiar. We’ve used that design paradigm for the last 20 years. Metro is going to take some getting used to.”

    Just like Windows 8’s new UI probably wasn’t perfect in the initial release, there are some areas in the CRM 2013 navigation features that might work better with a little fine-tuning and enhancements to the functionality. For example, one feature that I’ve always promoted to the CRM Outlook client users is leveraging the favorite folders (Shortcuts in newer versions unless you’ve disabled the solutions module in Outlook). No amount of role tailoring can replace the convenience of allowing users to select exactly the 5 menus that they most frequently require during the day. Wouldn’t it be awesome if there would be a similar feature available in the more modern web client UI of Dynamics CRM 2013? Something a bit like this:

    Dynamics_CRM_menu_favorites_small

    “Cool! I want it, how can I get it?” Easy: all you need to do is sign in at Microsoft Connect with your Microsoft Account (what used to be Windows Live ID), navigate to the Dynamics CRM Suggestions site and vote for the feature suggestion on having a Personal Navigation Bar.

    Will this guarantee that the feature will be included in the next Dynamics CRM version? Of course not. Will it make any difference to vote on the items on Connect then? Yes, it will. While only a fraction of the feature suggestions posted on Connect can ever get the chance to become a release item in the actual product, the suggestions that gain more than a couple of upvotes will most certainly have a far higher likelihood of being raised up onto the list that the Dynamics CRM product team will use when evaluating the priority of possible future features.

    Microsoft_ConnectWhile you’re logged in, don’t forget to use the search feature on the site to look up other suggestions that touch areas of the product which you’ve thought to be in need of minor adjustments or features that are currently lacking from Dynamics CRM. Since we’re discussing the new navigation in CRM 2013, here’s a few items I’d recommend you to take a look at and vote for, if you consider them to add value into the Dynamics CRM product for a significant enough share of customers:

    Well, for the last one there’s actually a nice workaround you can apply already today. Still, since the vast majority of users will never now about these power users tips and an unfortunately large share of CRM organizations will likely not have the top Navigation Bar items nor Command Bar items customized due to the system admin’s lack of knowledge on great free tools available for Dynamics CRM customizers, the importance of the default settings and out-of-the-box functionality of a software product like Dynamics CRM cannot be overemphasized.

    If you’ve got any CRM 2013 navigation related ideas that you’d like to see implemented in the next release, then please do the following: 1) perform a search on MS Connect to see if anyone else has already logged in the suggestion, 2) if not, create a new suggestion describing the “what”,”why” and “to whom” behind your idea, then 3) leave a comment on this blog post with a link to the suggestion, so others interested in the topic of improving the CRM user experience can also easily find them and vote them up on the list.

  • Advanced Queries with Advanced Find

    Advanced Queries with Advanced Find

    Dynamics_CRM_Advanced_FindOne of the more powerful features of Microsoft Dynamics CRM has to be the Advanced Find tool. What may initially seem like an intimidating maze of menus to a new Dynamics CRM user unfamiliar with the underlying data model, Advanced Find may quickly turn into an invaluable tool for anyone who needs to be able to retrieve specific sets of data from CRM, be it for marketing campaign target groups, ad-hoc data analysis or simply streamlining the usage of the system with saved views for surfacing frequently needed information from the database.

    Here are a couple of examples that show you how Advanced Find can go beyond the typical queries and deliver results that you might have not initially thought of being possible with the tool.

    Referencing the Current User

    Suppose you have a Business Unit structure set up in Dynamics CRM to reflect organizational units where the users generally work together on the same accounts. However, you’ve not restricted their visibility to records from other BU’s, so their view of all active accounts displays the complete contents of the database in a long list. While the users can easily filter their own records by using the My Accounts view, you’d like to offer them an option to see just the accounts owned by any user from their own Business Unit.

    Sure, you could create a long list of system views that are dedicated to a particular business unit (“Accounts from Finland”, “Accounts from Sweden”, “Accounts from Cayman Islands” etc.). The problem with this approach, apart from the number of view variations you need to create and present in the view list, is that it’s not dynamic by nature. Since you can’t centrally set different default views for different user groups in Dynamics CRM, all the users would have to know how to navigate to the “View” tab and click on the “Set As Default View” button to select the view specific to their business unit.

    Instead of all that manual labor, why don’t we build a query criteria with Advanced Find that says “show all accounts where the related owner is in a business unit that has a user that is me. Yes, it’s not exactly the way you would formulate the sentence when communicating with human beings, but this is the language that works with Advanced Find. If you don’t believe me, just try the query below for yourself:

    Advanced_Find_Acocunts_from_My_Business_Unit

    How about if you’re using Teams and would like to create a “my team’s records” type of a view? No problem, you can use the exact same method as with Business Units. Just reference the Team record under the Owning User entity and then add the same “user equals current user” criteria under the related user entity.

    In fact, since starting from CRM 2011 all business units also have a default team where the BU’s users are automatically added to as members, the team approach actually covers both the “my business unit” and “my team” scenarios. If, on the other hand, you’d like to only reference custom teams and not BU teams, include a criteria for the team records that says “Is Default equals No” to exclude the default business unit teams from your view results.

    Ok, so we get the results we were after, but what is the underlying logic that makes this query work? What we are doing in the Advanced Find query criteria definition in the above examples is referencing the relationships through this type of a pattern:

    Advanced_Find_Current_User_Relationships

    The key takeaway here is that there’s no need to limit your queries to only traditional one-to-many (1:N) type of hierarchies. In this example you start from the N side, then go through a “1” and spread out back into the N. Due to the flexible nature of the Advanced Find query designer in presenting all the available relationships, we are free to explore multiple different types of connections between the same entity in a single query. We pass through the user entity more than once but approach it from different relationships in order to define the final filter for the query.

    Multiple Conditions for Related Child Record

    Taking the exploration further, here’s a query method that may seem even less intuitive but is actually a more common requirement than the team/BU membership example. Sometimes you need to search for parent records that have two or more specific child records underneath them, meaning that the single query will have to find several different matches from the child records in order to qualify the parent record into the query results. Examples of such a scenario could be:

    • Accounts that have child contacts with the roles Decision Maker and Influencer
    • Customers who have bought both product A and B
    • Contacts that have attended events in the years 2011, 2012 and 2013
    • Orders that included line items for both Sales Inventory and Services

    When building such queries the problem you may face is that the results include parent record that meet any single criteria, when what you’re interested in is only the records that meet all the different conditions. Taking the last example of searching for line items of several different product types and using the Opportunity and Opportunity Product entities, if we’re including the Sales Inventory and Services values into a single condition for the Product Type field, any opportunity that has either Sales Inventory or Service products will be retrieved. (more…)

  • Connections don’t merge, so be careful with duplicate records

    Update 22.3.2012: this has now been fixed in Update Rollup 7 for Microsoft Dynamics CRM 2011 (KB 2600643). Go and get the file here, unless you’re using CRM Online.

    Connections are a nice new feature in Dynamics CRM 2011 that allow you to create ad-hoc relationships between two records of almost any entity type. Additionally, you can specify roles for both the Connected To and Connected From parties, to describe the connection in more detail, as well as provide start and end dates for the connection. These are very handy for recording non-hierarchical relationships between contacts and accounts that tend to exist in the real world. As an example, a person working as the CEO of Company A might be a member of the board in Company B, which means they should be visible under both accounts. Company A would then be the parent account of the contact, whereas there would be a connection between the contact and Company B.

    Another common real life phenomena is that duplicate records find their way into the CRM database. This can be due to data imports from external databases, web forms feeding in new contacts, or simply two users being unaware of each other’s records and entering data with slightly different spelling or email address variations. Luckily Dynamics CRM has a built-in functionality that allows you to merge duplicates from the database. This process will move all the child records from the subordinate record to the master record, thus ensuring that everything remains linked to the active record and not the deactivated duplicate.

    Except that for connections this doesn’t happen! Once the merge is done, all the connections will still be referencing the inactive record, not the master record. In the aforementioned example, you would have effectively lost the information about the contact’s relationship with Company B. Even though you could still see it by opening up Company B’s record and seeing the connection there, how would you ever have known where to look?

    There is an existing feedback item 683301 on Microsoft Connect regarding this functionality:

    Here’s a quote of the comment I’ve posted on the item:

    I think this is a serious flaw that undermines the perceived reliability of the Merge Duplicates feature in the eyes of the end users. The merge screen indicates that all child records related to the subordinate record to be deactivated would be transferred to the master record, but it doesn’t warn that connections would need to be manually checked.

    The merge process works just fine for custom entities, activities and pretty much everything except connections. Why would the user ever want to leave behind some non-duplicate information to the deactivated record? By merging two accounts or contacts the user is effectively declaring that these represent the same object in the real world. If something in the database has a relationship with either of these records, it should be carried over to the active record, as the inactive record no longer serves any other purpose than indicating the prior existence of a duplicate entry and the possible differences in attribute values compared to the current active record.

    If you think connections should be transferred over to the master record when merging duplicates, be sure to log in to Microsoft Connect with your Windows Live ID and cast your vote on this item. In the meantime, if you’re planning to use the connections entity for recording any data related to accounts, contacts, or leads, my suggested options are:

    • Don’t do it. Create a new custom entity for recording this data, as they will merge over to the master record just fine.
    • Develop you own plugin for capturing any merge events and updating the related connection records accordingly.
    While we’re on the topic, I also tested what happens to the old Relationship records that were used for connecting account, contact and opportunity records in versions prior to CRM 2011 (and are still visible in an upgraded organization). The result? When merging two contacts, any relationships referencing the subordinate record are deleted! Yeah, crazy, I know. If you’ve got any insight on what is the reason behind this perplexing system behavior for either connections or relationships when dealing with duplicate records merging, please leave a comment in the box below.