Archive

Archive for November, 2013

Why ‘RetrieveMultiple’ plug-in not firing when I choose ‘Activities’ roll-up view

November 26, 2013 Leave a comment

I had a plug-in registered  on ‘Activities’ (i.e., ActivityPointer) on ‘RetrieveMultiple’ message.

The Plug-in getting triggered when I open ‘Activities’ from any where (i.e., From ‘Advanced Find’, Sitemap on workplace area, Associated views of  all custom entities) except when I open an account and click on ‘Activities’ associated/roll-up view.

Reason

  • For ‘Accounts’, CRM out of the box provides a rollup view for activities. When you click on ‘Activities’ associated view, CRM uses ‘Rollup’ message instead of ‘RetrieveMultiple’.
Activities Rollup View

Activities Rollup View

  • This is the reason why the ‘Retrieve Multiple’ plug-in is getting ignored when you click on ‘Activities’ link.

Workaround

  • To fire a plug-in when user clicks on ‘Activities’ link from ‘Account’, we need to register a Plug-in on ‘Rollup’ message.
  • However ‘Rollup’ message will not be exposed by CRM (Refer below Plug-in registration tool screen). It needs DB level tweaking to get the message and register a Plug-in which is strictly UN-SUPPORTED
Roll up message unavailable

Roll up message unavailable

  • Refer article how to do it unsupported way.

🙂

Found more than one RibbonDiff entity – Error while publishing customizations

November 24, 2013 3 comments

Other day when I was trying to edit my ‘Account’ entity ribbon using ‘Ribbon Work Bench’ tool, I was getting ‘Found more than one RibbonDiff entity’ error at the time of publishing customization’s.

Refer the KB Article

Reason

  • One of the reason could be, In <RibbonDiffXml>  there might be more than one  element with same ‘Id’.
  • In my case, I had two <HideCustomAction> node with same ‘HideActionId’

Fix

To fix the issue I followed below steps

  • Create a solution with the affected entity and export
  • Extract the folder, open the “customizations.xml”
  • Go to <RibbonDiffXml> and check if any of the XML elements with same Id’s
  • Delete or Rename the duplicate XML elements
  • Save, Re-import and Publish the solution

Note –

If by following the above steps in ‘Fix’ does not solve the problem, try these steps

  • Take a backup of “customizations.xml” file
  • Now open the original ‘customizations.xml’ and clear the xmlelements in <RibbonDiffXml> section
  • Save, Re-import and Publish the solution

Now if you open crm application and open the entity, you don’t find old ribbon changes since we clear all xml elements in <RibbonDiffXml> section.

To get back old changes and fix the issue follow these final steps

  • Export the solution back
  • Open “customizations.xml” file and copy the <RibbonDiffXml> section file from backup file
  • Make sure you don’t have any elements with duplicate Id’s
  • Save, Re-import and Publish the solution

🙂

Show custom messages as banner notifications – CRM 2011

November 17, 2013 Leave a comment

In CRM 2011, one way to show custom messages is using Jscript ‘alert’ function.

In one of our requirement we have to display a custom message on CRM form banner like OOB notification.

Notification

Notification

We can achieve this using Jscript, but it’s an unsupported way and there are no guarantees that this code won’t change in the future.

I am providing 2 scripts which is compatible Pre and Post UR 12.

Post UR 12

// Level – 1 (Critical), Level – 2 (Info), Level – 3 (Warning),

function addNotification(message, level) {

try {

var notificationsList = Sys.Application.findComponent(‘crmNotifications’);

if (notificationsList) {

notificationsList.AddNotification(‘noteId1’, level, ‘namespace’, message);

}

} catch (e) {

}

}

Pre UR 12

// Level – 1 (Critical), Level – 2 (Info), Level – 3 (Warning),

function addNotification(message, level) {

try {

var notificationsArea = document.getElementById(‘crmNotifications’);

if (notificationsArea) {

if (level == 1) { //critical

notificationsArea.AddNotification(‘mep1’, 1, ‘source’, message);

}

if (level == 2) { //Info

notificationsArea.AddNotification(‘mep3’, 3, ‘source’, message);

}

if (level == 3) { //Warning

notificationsArea.AddNotification(‘mep2’, 2, ‘source’, message);

}

if (message == “”) { // Clear the notifications

notificationsArea.SetNotifications(null, null);

}

}

} catch (e) {

}

}

How do I use the method

  • To show custom message as Information, pass message and Level =2

              addNotification(“This is sample message.”, 2);

Note – CRM 2013, has a new feature to display  Notifications which is a supported way.

🙂

‘Selected record types not defined for connection roles’ – Error

November 12, 2013 Leave a comment

In CRM, ‘Connections’ are relationships between two entity records in the system.  It’s a way to create a relationship (link) between two entities records.

I got the below error when I try to connect one of my custom entity record with ‘Account’ by the role ‘Referred by’

Connection Role - Error

Connection Role – Error

Fix

We have to configure the entity type on the “Connection Role”, Referred by

  • Go to ‘Advanced Find’ –> Connection Role
  • Open the ‘Connection Role’, ‘Referred By’
  • Choose the entity you want this ‘Connection Role’ work for
Connection Role - Record Types

Connection Role – Record Types

  • Save and Close

🙂

Undefined Error – Activity Feeds CRM 2011

November 5, 2013 Leave a comment

You might have experienced the below script error, when you click on ‘What’s New’ link on Sitemap

Activity Feeds - Script error

Activity Feeds – Script error

To fix this error, check if the logged in user has “Activity Feeds” security role or not.

Activity Feeds Security Role

Activity Feeds Security Role

 

“Activity Feeds” security roles comes, when you import the “Activity Feeds” managed solution in to your CRM application.

Every user other than ‘System Administrator’ should have “Activity Feeds” security role to view feeds.