Custom Ribbon Button to get the Guid of the record in CRM 2011

Update :- Works for CRM 2013 as well.


Normally to get the guid we need to click on “Copy a link” button and then get id from the url, so just thought of creating a custom button that only copies the guid.

Clicking on Get Guid button will copy the id to the clipboard


      <CustomAction Id="Sample.all.form.GetGuid.CustomAction"
          <Button Id="Sample.{!EntityLogicalName}.form.GetGuid.Button"
                  Image32by32="/_imgs/ribbon/copyshortcut32.png" />
      <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
      <CommandDefinition Id="Sample.form.GetGuid">
          <EnableRule Id="Mscrm.FormStateNotNew" />
        <DisplayRules />
          <JavaScriptFunction FunctionName="getGuid"
                              Library="$webresource:new_formActions" >
            <CrmParameter Value="FirstPrimaryItemId" />
      <TabDisplayRules />
      <DisplayRules />
      <EnableRules />
      <LocLabel Id="Sample.all.GetGuid.LabelText">
          <Title languagecode="1033" description="Get Guid" />
      <LocLabel Id="Sample.all.GetGuid.ToolTip">
          <Title languagecode="1033" description="Get the guid of the current record." />

Download the managed solution here ( Change the extension to zip from doc).

Hope it helps.

Adding the existing Add Notes button to Actions Tab for Incident Entity Ribbon in CRM 2011

We had a requirement to add the Add Note button to Actions tab for incident entity.

Defines the location where we want to add the Add Notes button.

Below is the RibbonDiffXml we used to achieve that.

<CustomAction Id="MoveAddNoteCustomAction" Location="Mscrm.Form.incident.MainTab.Actions.Controls._children" Sequence="1">
<Button Id="Mscrm.Form.incident.AddNote" ToolTipTitle="$Resources:Mscrm_Form_Other_Related_Document_AddNote_ToolTipTitle"
ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Tooltip.AddNote" Command="Mscrm.AddNoteToPrimaryRecord"
LabelText="$Resources:Ribbon.HomepageGrid.Add.Document.AddNote" Alt="$Resources:Ribbon.HomepageGrid.Add.Document.AddNote"
Image16by16="/_imgs/ribbon/AddNote_16.png" Image32by32="/_imgs/ribbon/noteyellowadd32.png" TemplateAlias="o1" />
<RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
<CommandDefinitions />
<TabDisplayRules />
<DisplayRules />
<EnableRules />
<LocLabels />

Hope it helps.

Custom Entity in CRM 2011


Let’s first start with the Entity Definition

Display Name, Plural Name, Description are the properties that can be changed at any time in the future.

Name and Ownership cannot be changed once the entity is created.

If we check Define as an activity entity check box,

Ownership drop down becomes disabled i.e. Activity entities cannot be organization owned.

We can additionally specify if we want this entity to be displayed in the Activity Menus along with other activities.

These options cannot be changed once set i.e. if we have defined the custom entity as activity entity we won’t be able to change it back or if we have unchecked Display in Activity Menus option while creating the entity and then we decide later to enable it, we won’t be able to do so.

For activity type custom entity, we can’t specify the area where they can be displayed (expect the Activity Menus)

Notes, Connections and Queues will be automatically enabled.

We can enable Document Management, Auditing, Duplicate Detection etc. on the custom Activity Entity.

For our non-activity type Custom Entity, we can set the following options

  1. Areas where we can want to display them; this can be changed anytime in the future.
  2. Mail Merge, Document Management, Duplicate Detection, Auditing, Mobile express, Reading Pane in Outlook, Offline Capability are the options that can be changed, i.e. enabled\disabled as required.
  3. Notes, Activities, Sending Email, Connections and Queues: – These options once enabled cannot be changed\disabled later.

Hope it helps.

Solutions in CRM 2011 – New Features.


The different components that can be part of a solution are

Grouped by type:-

What are the differences between managed solution and unmanaged solution?

Unmanaged solution during export can be exported either as a managed solution or unmanaged solution.

If exported as managed and imported in the other organization, we don’t have to publish them. Unmanaged solutions after import have to be published.

Managed solution can be uninstalled/deleted.

For unmanaged solution we get the following message.

Managed solution cannot be exported.

What happens if we change the publisher of the original solution that we exported as managed solution and try to import the same?

What happens if we try importing the same solution that we have already imported as managed now as unmanaged?

And the unmanaged one as managed?

While importing the managed solution that have already been imported into the system as managed we get the following message

Some versioning information that I could find

Now let us create a solution having an existing entity lead and a new custom entity.

If we export this solution as managed and import it in my new organization and if we want to make changes to either the lead or the custom entity what do we need to do?

Well we get this message if we open the managed solution after importing it in other organization.

It says that we can’t directly edit the components within the managed solution, but if we want to do that then we can always do that from customization area or create a new unmanaged solution, add those components and then make changes to them.

But what if we want to restrict that?

Well we can do that using Managed Properties.

So we go back to our original unmanaged solution click on lead entity there and select Managed Properties option from the tool bar.

So by default the “Can be customized” option is set to true and all the other options are also set as true and disabled. We can’t edit it. So we have no control over the system entities, even if we export them as managed they can still be modified or further customized.

So what about our custom entity?

For our custom entity we can set the managed properties.

Now let us set it as false and again export the same unmanaged solution as managed and import in our other organization.

Let’s open the custom entity from customization area,

As expected we can see all the fields are disabled for our custom entity.

So what are the different managed properties that we can set for our custom components?

At entity level

Form level

Field level


Same for Charts and Relationship and other components of Solution like web resources, charts etc.

Although we can’t set managed properties for our system entities, we can definitely set the manage properties for any of the custom component created for those entities.

Also please check out these posts for more information like Conflict resolution and Dependency Tracking.

And of course MSDN

Hope it helps.

Teams in CRM 2011 – New Features


Records in CRM 2011 can either be user owned or team owned.

A default team gets created when a business is created with the same name. The users that are in business unit automatically become member of that default team.

Default team cannot be deleted, renamed, moved to other business unit.

We can neither add nor remove member from the default team.

We can write dialogs and workflows against team

While creating a new team we need to specify Team Name, Administrator and Business Unit.

We can also specify Default Queue for the team, if we do not specify and save the record, queue with the name same as Team name gets created.

Team can now be deleted (except default team which gets deleted when we delete the business unit). To delete the team, we need to first remove all the records owned by the team by either deleting those records or assign those records to a different owner.

We can also use Reassign Records option to reassign them.

If we try deleting the team that owns the record we get the following error

The team record got deleted after I re-assigned the record owned by the team.

Finally few things to remember while working with team

Hope it helps.

Client Access Licenses (CAL) in CRM 2011 – New Features


In CRM 4 for CAL we had the following options :-

In CRM 2011 it has changed,

We now have License Type associated with the Access Mode.




Device CAL – With a device CAL, the CAL is assigned to a device and may be shared by non-concurrentusers over time, such as in a shift worker or call center scenario.

Hope this helps.

%d bloggers like this: