Solutions in CRM 2011 – New Features.


Hi,

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


http://www.dynamicscrmtrickbag.com/2011/05/28/dynamics-crm-2011-solutions-part-1/


http://www.slideshare.net/jukkan/microsoft-dynamics-crm-2011-walkthrough-part-2

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


View


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.


http://crm.davidyack.com/journal/2010/9/20/exploring-crm-2011-solution-framework-update-scenarios.html

http://www.resultondemand.nl/support/blog/post/Tips-in-using-managed-and-unmanaged-solutions-in-CRM-2011-%28MSCRM-2011%29.aspx

And of course MSDN

http://msdn.microsoft.com/en-us/library/gg334576.aspx

Hope it helps.


Teams in CRM 2011 – New Features


Hi, 

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


Hi,

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.

Read-Write:-

Administrative:-

Read:-

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.

http://crmdynamics.blob.core.windows.net/docs/Pricing_Licensing_Guide.pdf

Hope this helps.

Business Unit in CRM 2011 – New features


Hi here i am just putting down all the new features that i have found while learning about business unit in CRM 2011.

Root business unit can now be renamed.

As in CRM 4, we cannot delete or disable root business unit. If we try to delete it we get the following message.

If we try disabling the root business unit we get the following message

Let us create a new business unit and try deleting it.

Again the same message that we need to disable it before we can delete it.

Clicking on Disable from More Actions, disables the record and clicking on delete deletes it.

A default team gets created for every business unit having named same as the business unit.

The user that belongs to business unit automatically becomes the member of the default team created.

If we try removing the member added to the default team, we get the following error message.

And if we trying adding members to it, we get the following error message

We can write workflows and dialogs against business unit entity.

When a BU is disabled: – Although the Users cannot access MICROSOFT DYNAMICS CRM, the user records themselves are not removed or disabled. Therefore, the licenses of those users will not be withdrawn. If a user is disabled when the Business Unit was disabled, the user must be enabled before he or she can access Microsoft Dynamics CRM after the Business Unit is enabled.

Before we can delete permanently a Business Unit, you must remove any child Business Units, Users or Teams. This can be done by deleting or re-assigning them individually, or by using the Reassign Records option as mentioned above. The exception to this is the default team of the Business Unit, which will be deleted with the Business Unit. Facilities/Equipment and Resource Groups do not have to be removed beforehand (though they can be if you want to preserve them).

Check this informative post also

http://www.magnetism.co.nz/blog/11-03-24/Business_Units_and_Teams_in_Dynamics_CRM_2011.aspx

Hope this helps.

Enabling button in SubGrid on selection of record (SelectionCountRule) in CRM 2011


 

We had a requirement to have a custom button on a subgrid for an entity, and the button should only be enabled if and only if one record is selected.

It should get disabled in case if no records are selected or more than one record selected.

Used the below ribbondiffxml to achieve that

   <RibbonDiffXml>
        <CustomActions>
          <CustomAction Id="MyOrg.CustomAction" Location="Mscrm.SubGrid.entitySchemaName.MainTab.Management.Controls._children" Sequence="50">
            <CommandUIDefinition>
              <Button Id="MyOrg.Button" ToolTipTitle="Upload Required Document" ToolTipDescription="Upload Required Documents for the Case" Command="MyOrg.Command" Sequence="50" LabelText="Upload Document" Alt="Upload Document To Portal" Image16by16="/_imgs/ribbon/AddEmail_16.png" Image32by32="/_imgs/ribbon/Email_32.png" TemplateAlias="o1" />
            </CommandUIDefinition>
          </CustomAction>
        </CustomActions>
        <Templates>
          <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
        </Templates>
        <CommandDefinitions>
          <CommandDefinition Id="MyOrg.Command">
            <EnableRules>
              <EnableRule Id="MyOrg.EnableRule"></EnableRule>
            </EnableRules>
             <DisplayRules />
            <Actions>
              <JavaScriptFunction Library="$webresource:new_test" FunctionName="showvalue">
                <StringParameter Value="Guid(s) Selected"></StringParameter>
                <CrmParameter Value="SelectedControlSelectedItemIds"></CrmParameter>
              </JavaScriptFunction>
            </Actions>
          </CommandDefinition>
        </CommandDefinitions>
        <RuleDefinitions>
          <TabDisplayRules />
          <DisplayRules />
          <EnableRules>
            <EnableRule Id="MyOrg.EnableRule">
              <SelectionCountRule AppliesTo="SelectedEntity" Maximum="1" Minimum="1"></SelectionCountRule>
            </EnableRule>
          </EnableRules>
        </RuleDefinitions>
        <LocLabels />
      </RibbonDiffXml>
	  

Hope it helps

 

Sample code for adding a custom button on a custom tab for SubGrid of an entity in ribbon (CRM 2011)


Just replace the schema name of your entity.

 <RibbonDiffXml>
        <CustomActions>
          <CustomAction Id="Sample.SubGrid.entitySchemaName.CustomTab.CustomAction" Location="Mscrm.SubGrid.entitySchemaName.ContextualTabs._children" Sequence="40">
            <CommandUIDefinition>
              <Tab Id="Sample.SubGrid.entitySchemaName.CustomTab" Command="Sample.SubGrid.entitySchemaName.CustomTab" Title="Custom Tab" Description="Custom Tab Description" Sequence="500">
                <Scaling Id="Sample.SubGrid.entitySchemaName.CustomTab.Scaling">
                  <MaxSize Id="Sample.SubGrid.entitySchemaName.CustomTab.FirstGroup.MaxSize" GroupId="Sample.SubGrid.entitySchemaName.CustomTab.FirstGroup" Sequence="10" Size="LargeMedium" />
                </Scaling>
                <Groups Id="Sample.SubGrid.entitySchemaName.CustomTab.Groups">
                  <Group Id="Sample.SubGrid.entitySchemaName.CustomTab.FirstGroup" Command="Sample.SubGrid.entitySchemaName.FirstGroup" Sequence="10" Title="Custom First Group" Template="Mscrm.Templates.3.3">
                    <Controls Id="Sample.SubGrid.entitySchemaName.CustomTab.FirstGroup.Controls">
                      <Button Id="Sample.SubGrid.entitySchemaName.CustomTab.FirstGroup.FirstButton" ToolTipTitle="ButtonToolTipTitle" ToolTipDescription="ToolTipDescription" Command="Sample.SubGrid.entitySchemaName.FirstButton" Sequence="10" LabelText="LabelText" Alt="LabelText" Image16by16="/_imgs/ribbon/AddEmail_16.png" Image32by32="/_imgs/ribbon/Email_32.png" TemplateAlias="o1" />
                    </Controls>
                  </Group>
                </Groups>
              </Tab>
            </CommandUIDefinition>
          </CustomAction>
        </CustomActions>
        <Templates>
          <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
        </Templates>
        <CommandDefinitions>
          <CommandDefinition Id="Sample.SubGrid.entitySchemaName.FirstGroup">
            <EnableRules>
              <EnableRule Id="Mscrm.Enabled " />
            </EnableRules>
            <DisplayRules>
            </DisplayRules>
            <Actions />
          </CommandDefinition>
          <CommandDefinition Id="Sample.SubGrid.entitySchemaName.CustomTab">
            <EnableRules>
              <EnableRule Id="Mscrm.Enabled " />
            </EnableRules>
            <DisplayRules>
            </DisplayRules>
            <Actions />
          </CommandDefinition>
          <CommandDefinition Id="Sample.SubGrid.entitySchemaName.FirstButton">
            <EnableRules />
            <DisplayRules />
            <Actions>
              <JavaScriptFunction Library="$webresource:new_test" FunctionName="showvalue">
                <StringParameter Value="Guid(s) Selected" > </StringParameter>
                <CrmParameter Value="SelectedControlSelectedItemIds"></CrmParameter>
              </JavaScriptFunction>
            </Actions>
          </CommandDefinition>
        </CommandDefinitions>
        <RuleDefinitions>
          <TabDisplayRules>
            <TabDisplayRule TabCommand="Sample.SubGrid.entitySchemaName.CustomTab">
              <EntityRule EntityName="entitySchemaName" Context="SubGridStandard" />
              <EntityRule EntityName="entitySchemaName" Context="SubGridAssociated" />
            </TabDisplayRule>
            <TabDisplayRule TabCommand="Sample.Form.entitySchemaName.CustomTab">
              <EntityRule EntityName="entitySchemaName" Context="Form" AppliesTo="PrimaryEntity" />
            </TabDisplayRule>
            <TabDisplayRule TabCommand="Sample.Grid.entitySchemaName.CustomTab">
              <EntityRule EntityName="entitySchemaName" Context="HomePageGrid" />
            </TabDisplayRule>
          </TabDisplayRules>
          <DisplayRules />
          <EnableRules />
        </RuleDefinitions>
        <LocLabels />
      </RibbonDiffXml>

This is the helpful post

http://dynamicscrm2011.wordpress.com/tag/adding-a-button-to-the-crm-2011-sub-grid-ribbon/

Hope it helps !