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

2 comments

Posted on 12th November 2011 by Jukka Niiranen in Annoyances |Features

, , ,

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.

Activity Feeds are here, so “What’s New” in CRM then?

7 comments

Posted on 26th October 2011 by Jukka Niiranen in Features |Tips

, , , , ,

Microsoft Dynamics CRM Q4 2011 Service UpdateIt’s been nine months since Microsoft Dynamics CRM 2011 was released. Given the large number of new features and functionality included in the new version, I’m sure many organizations have been able to keep themselves busy with thinking about how to leverage all of them. Anyway, the time is now upon us when we see the first true deliverable from the new agile development path that the Dynamics CRM product development team has adopted. The “Q4 2011 Service Update”, “November Service Update” or “CRM Online R7″, however you like to call it, gives a taste of things to come, as new features and improvements are now introduced bi-annually instead of a big bang release every 2-3 years.

There’s lots of neat things included in the update, such as multi-category charts, user access auditing, lookup and date fields for dialogs, ignoring null values and inactive records in duplicate detection rules etc. Have no doubt, though, this release will be remembered from the Activity Feeds, so let’s proceed straight to them.

More than just an accelerator for CRM

Microsoft has split the delivery method of the Activity Feeds functionality into two tiers. The platform level changes are delivered with Update Rollup 4, which brings us a selection of new default entities, such as the feed Post. These will provide the building blocks not only for the visible Activity Feeds released now but also web services API enhancements, which are covered in the 5.0.7 update of the SDK.

The Update Rollups can nowadays be considered pretty much as “business as usual” hotfixes like the ones released for other Microsoft products, both on server and client side, as they are delivered through the common Microsoft Update mechanism. Testing and planning for the Rollups is of course very much recommended still, as significant changes can be included in them, and yes, they do occasionally break compatibility between versions. Furthermore, the Update Rollup 5 required for Activity Feeds to function cannot be uninstalled if things go wrong.

Anyway, unlike the hotfixes that can be expected to be installed on almost all CRM environments, the Activity Feeds user interface components will probably remain missing from many instances. Why? Because there is no automatic delivery method for them, unless you are using a CRM Online environment that has been provisioned after the R7 release became available. You see, Activity Feeds still are kind of like an accelerator package, as the solution file will need to be downloaded from the Dynamics Marketplace and installed by the system administrator.

Download the Activity Feeds solution for Microsoft Dynamics CRM 2011 from the Dynamics Marketplace

Not even installing the solution file and publishing the customizations is enough – you still need to configure them. The menu item for “What’s New” will appear in the UI after the solution installation, but none of the entities in your CRM have yet been enabled for Activity Feed posts. To do this, you’ll need to navigate to Settings and go to Activity Feeds Configuration menu. Create a new Post Configuration record for each entity that you wish to relate posts to. The configuration UI of the solution is not too nice, as you’ll actually need to use the logical name of the entity rather than the display name. So, to enable the new functionality for the user entity (which is the very first thing you must do!) is enter the value “systemuser” and click save. Make sure you check the box for “enable walls for this type of record form” and don’t forget to publish the entity’s customizations after clicking on save.

Activity Feed Post Configuration

What’s a “wall”? If you’re on Facebook (and who isn’t), you’ll know this refers to the place where the posts related to a user will be displayed in a descending chronological order. Now, in CRM it’s not only users that can have walls, but any entity for which you have created a Post Configuration entry for. Even your custom entities, like “project” or “event” can be set to have their own Wall. However, bare in mind that not all the system entities are supported for the Activity Feeds functionality, so you can’t have a discussion related to, say, competitor or product records (which kind of sucks, as those are some very common topics for employee discussion around the water cooler, but guess you’ll still need to get away from your desk every now & then). For a complete list of supported system entities, see this page on the SDK.

Account record wall

As you can see from the image above, the wall is actually a web part that is presented on a new tab, that is located before the first default tab (general). The tab will be collapsed by default and the form actually scrolls to the general tab right after the form script is loaded, so a user may not notice anything new on the form. However, if you click on the anchor on the left side navigation, the Record Wall will be revealed in all its glory. Here the user will have the option of adding the record into his list of followed CRM records, see who else is following it, and of course post an update on the wall. (By the way: if you have multiple forms per entity, you’ll need to add the Record Wall web parts manually, by following these instructions.)

There’s also a Personal Wall that shows the user all the content from followed records, and that’s the first entry visible on the updated sitemap for Workplace. What’s really nice is that you have a link right after the “What’s New” header, which will allow you to pop up the wall in a new window. This way you can have the feed view quickly available for you at any time, no matter with which CRM entities you are currently working on in the main application window.

Activity Feeds personal wall

Furthermore, every user has a User Record Wall, which would be identical to the concept of a Facebook profile page. Sorry, no timeline design available here yet!

Not just for mindless chatter: business logic for Auto Posts

If all that Activity Feeds provided was the ability to chat with your colleagues or manually post updates related to records, then it would have a tough time competing with established enterprise microblogging apps like Yammer. Luckily the Dynamics CRM platform can offer much more than that. By allowing certain events related to CRM records to generate content for the Activity Feeds the system can actually serve as a tool that removes the need for you to email information about business events or type updates into a microblogging app. A traditional way to demonstrate the CRM workflows has been to create email alerts on closed opportunities, but now you can reduce the clutter in your inbox by moving these into the right context (opportunity form) with the ability for users to comment and see others’ comments. (more…)

CRM 2011 subgrids ain’t what associated views used to be

4 comments

Posted on 20th June 2011 by Jukka Niiranen in Features |Tips

, , , , ,

Back in the days before we had Microsoft Dynamics CRM 2011 available, it was a commonplace customization to show entities related to the parent entity directly on the parent’s form by utilizing an iFrame. Making information such as latest history items (nowadays called closed activities) quickly visible to any user opening the form is often justified, as one key functions of a CRM system is to share information about what interaction has taken place with the customer. Referencing the URL of the related view on the iFrame was not exactly supported, but it was a relatively safe customization to apply nonetheless.

Due to popular demand, Microsoft introduced an official method for achieving this UI customization in CRM 2011 through the use of the form sub-grid element. As a part of the entity forms redesign, the subgrids have now become an out-of-the-box feature on several default entities, such as accounts, contacts and opportunities.

Different navigation points, different views

It’s important to note that subgrids don’t use the entity associated view definition, which is applied when traditionally navigating to the view by using left side menu items on an entity form. Instead they allow you to separately choose a filter to “view only related records”, in combination with any of the system views available for the entity in question (but not the associated views, as those are “special” views). 9 times out of 10 you’ll want to keep the filter on, as showing non-related records on the entity’s form would under normal circumstances defy the standard UI logic of how Dynamics CRM presents records in different windows.

OK, fair enough, so that’s why the columns in a subgrid aren’t updated after you edit the entity related view, like you used to do in CRM 4.0 and previous versions. We can live with that. In order to provide a consistent user experience, I would recommend that these two views are set up so that they have identical contents. This is because an “oldskool” CRM user may navigate through the left side menu by habbit, whereas a person new to Dynamics CRM will probably prefer to just scroll through the form. Sadly there’s no “save as” functionality available on the entity related view, and you can’t promote a normal view to become a related view (since there’s only one of them). This means you have to manually configure the two views to be indentical in terms of attributes, column order, width, sorting and (in some cases) filters.

Rolling up the records

Another thing that may surprise a seasoned Dynamics CRM consultant until he learns the tricks of the latest version is that the aforementioned feature has further implications specific to accounts and opportunities in particular. As we’ve come to know, these entities have special capabilities enabled in the activity views: the roll-up functionality. Instead of being restricted to only activities directly related to a record, we can actually see a bit further. Let’s take a simple example of an account and it’s open activity associated view:

It’s that “Include Related Regarding Records” selection above the grid which allows us to view activities not only related to the account itself but also the ones regarding a contact of the account and an opportunity related to it. Pretty neat, as it’s often the people working at an account that we associate communication and activities to, such as emails and appointments.

Now, let’s take advatage of the new CRM 2011 functionalities and look at the activity subgrid that’s conveniently available in the out-of-the-box configuration of an account form:

Huh? Where did my activities go? They’re still there, but this particular navigation path will not allow you to view them, since you’re on a subgrid and, as we previously concluded, subgrids can’t show the entity associated view. This means there’s no way for you to apply the “Including Related Regarding Records” functionality over here.

I’ll be the first to admit I’ve fallen for this trap in customer demos more than once. The menu anchor for accessing the Notes & Activities subgrid is just too tempting to click, when what you really intended to do was to view the fully featured activity associated view and access a complete list of the related activities. If the difference between view columns was a minor inconvenience, then this is downright misleading to many users I’m sure.

The quick solution for this would be to just remove the activity subgrids from the account and opportunity entity forms where the results can be contradicting, thus forcing the user to navigate through the old fashioned menus into the related activities views. Another option would be to perform the old iFrame trick and just embed this view onto a form iFrame, which does sound a bit 4.0-ish. The last option is to go and vote on Microsoft Connect, requesting MS to include the full roll-up functionality for subgrid views in a future version of Dynamics CRM. (more…)

Dynamics CRM 2011 Walkthrough Part 2: another 100+ slides of new features

3 comments

Posted on 7th November 2010 by Jukka Niiranen in Features

, , , ,

Four weeks ago I released the Part 1 of my Microsoft Dynamics CRM 2011 Walkthrough slides and now it’s time for Part 2: Solution & System Management. Thank you all for the positive feedback from the first part, much appreciated. :)

While the first slide deck was focused on how the new CRM 2011 features look like from the system end-user perspective, this time I have taken a look at the toolset available for system customizer, administrator or solution developer. Since I’m not a programmer, I’ll gladly skip the detailed discussion about CRM 2011 platform SDK enhancements (like WCF, OData, REST, LINQ and other hot acronyms) and leave them to the experts. Instead I’ve tried to cover featues that will have an effect on how to design and plan your CRM implementation or custom solution. Just like before, there are plenty of screenshots included, so that also users without access to a CRM 2011 Beta environment can preview how the features appear in the UI.

The topics included in my presentation are as follows:

  • Customization menus
  • UI customization options
  • Solution management
  • Web resources
  • Processes (workflows and Dialogs)
  • Custom activities
  • Queue enhancements
  • Multiple forms per entity
  • Security features
  • Cloud services (CRM Online, Dynamics Marketplace, Azure AppFabric)
  • Upgrading from CRM 4.0
  • What’s not there in CRM 2011

To summarize my core message after giving this presentation, the following would be my key takeaways from the slides:

  • Solutions and web resources will challenge both how you’ve built your CRM enhancements and how you have managed them, so invest time in planning your own processes before rushing into the operational tasks
  • Process automation / work management functionality is becoming an increasingly integrated part of the Dynamics CRM story and 2011 offers great improvements on that front, but remember that it’s still a work in progress area in many ways
  • You can’t escape the cloud, no matter which deployment model you or your customers are currently using, so at least familiarise yourself with what’s out there
  • Despite of the 500 new features in CRM 2011, there’s still plenty of room for add-ons and tweaks. The more the platform expands, the more we’ll demand from it

That’s all the slides I have for now, but I’m sure there will continue to be lots of interesting features discovered and news items to discuss before Dynamics CRM 2011 comes out in January (RTW) / March (RTM) next year. I recommend you to keep an eye on the #CRM2011 hashtag on Twitter to follow the community buzz around the upcoming release.

Switch to our mobile site