Ms Dynamics CRM 2013 Ribbon Customizations,Display Rules,Editor free tutorials in pdf download.

Summary: Ms CRM 2011 Ribbon Customizations online training.
Ribbons:   
              Ribbons allow us to customize the Dynamics CRM Ribbon tabs to add custom buttons.Ribbons are more intelligent and smart that previous system menus. There are two main places where ribbons are located:
  HomepageGrid
  Form
Adding a simple button to the ribbon involves: touching the customization file to include nodes in the RibbonDiffXml node, adding web resources for the images to be displayed in the button, adding a web resource for the JavaScript method to be used when clicked the button.

HomepageGrid
The HomepageGrid is the place located in the home page of any entity where the main grid is located. following figure  shows the HomepageGrid for the Account entity.
Form
The Form is the place located in the entity record form of any entity where the Ribbon is located on top on the form. below shows the Form location for the Account entity.
There are three main controls for Ribbons:
. Tab
. Group
. Button

Every button must be contained on a group and every group must be contained on a Tab control.Because the Ribbon buttons are smart and can change while the user is using the application,there are some rules that will need to be configured for this case so that you can make the button visible or enabled depending on the following conditions:
. Based on Form state:Create, Existing, Read Only, Disabled, Bulk Edit
. Configure Custom rules:By JavaScript functions with parameters
. CrmClientTypeRule:Detects if running in outlook client or web client
. CrmOfflineAccessStateRule:Detects if outlook is running in offline or online mode
. CrmOutlookClientTypeRule:Types CrmForOutlook or CrmForOutlookOfflineAccess
. OrRule:A rule that contains a collection of rules so that this rule will evaluate as true if any of the rules in the collection evaluates as true
. OutlookItemTrackingRule :A rule that detects whether the item is enabled for items tracked in Microsoft            Dynamics CRM in order to enable a Ribbon element
. OutlookVersionRule:A rule that detects the version of Microsoft Office Outlook client.
. PageRule:A rule that evaluates the address of the current page
. RecordPrivilegeRule:A rule that detects a user’s privileges for a specific record in
order to enable a Ribbon element
. SkuRule:A rule that detects the Microsoft Dynamics CRM edition
. ValueRule:A rule that detects the value of a specific field
. ReferencingAttributeRequiredRule:A rule that detects whether the referencing attribute for an entity is required
. RelationshipTypeRule:A rule that detects whether a specific type of formal entity relationship exists between two entities
. EntityPrivilegeRule:A rule that can detect the current user’s privileges for a specific entity
. EntityPropertyRule:A rule that can detect specific Boolean entity properties
. FormEntityContextRule:A rule that can detect whether a form Ribbon is displayed in the context of a specific entity
. MiscellaneousPrivilegeRule:A rule that can detect whether the user possesses a specific Microsoft Dynamics CRM privilege
. OrganizationSettingRule:A rule that can detect two specific organization settings within a DisplayRule; checks for IsSharepointEnabled or IsSOPIntegrationEnabled
. OutlookRenderTypeRule:A rule that can detect whether a form or list item is rendered as a web page or natively in Outlook in order to determine whether a Ribbon element should be displayed
. SelectionCountRule:A rule that detects how many items in a grid are selected The SDK comes with samples that will help you easily add custom buttons to an existing group for all entities or add custom buttons to an existing group for specific entities. In addition you can add custom groups to an existing tab for specific entity, add custom tab to specific entity, add custom groups to the developer tab for all entities in a form, and hide Ribbon elements. These samples are located in the sdk\walkthroughs\ribbon folder.

RibbonDiffXml
The RibbonDiffXml node defines the tabs, groups and buttons, and it contains the following child nodes:
<RibbonDiffXml>
<CustomActions />
<Templates>
<RibbonTemplates Id=”Mscrm.Templates”></RibbonTemplates>
</Templates>
<CommandDefinitions />
<RuleDefinitions>
<TabDisplayRules />
<DisplayRules />
<EnableRules />
</RuleDefinitions>
<LocLabels />
</RibbonDiffXml>
The CustomActions node defines the tabs, groups, and buttons and contains the following
child Nodes:
<CustomActions>
<CustomAction >
<CommandUIDefinition>
<Group >
<Controls>
<Button />
</Controls>
</Group>
</CommandUIDefinition>
</CustomAction>
</CustomActions>
The Button element node contains the following attributes:
. Id:the unique identifier for the button.
. Command:the Id of the command that will be defined in the
CommandDefinitions node of the RibbonDiffXml root node. Each command definition is defined as follows:
<CommandDefinitions>
<CommandDefinition
Id=”Solution.all.HomepageGrid.MyGroup.Help.Command”>
<EnableRules />
<DisplayRules />
<Actions>
<JavaScriptFunction FunctionName=”ShowHelp”
Library=”$webresource:webforti_Script.js” />
</Actions>
</CommandDefinition>
</CommandDefinitions>
Inside the command deifintiions you can include the rules for enable or disable the buttons (inside the EnableRules node), show or hide the buttons (in the DisplayRules node) and the actions to be performed when the button is clicked.
. Sequence:The integer number of the sequence to define the position of the button related to the other buttons in the same group.
. LabelText:The Id of the localized label that is defined inside the LocLabels node
for example:
<RibbonDiffXml>
..................
<LocLabels>
<LocLabel Id=”Solution.all.HomepageGrid.MyGroup.Help.ToolTip”>
<Titles>
<Title languagecode=”1033” description=”Help” />
</Titles>
</LocLabel>
</LocLabels>
</RibbonDiffXml>
Inside the Title node you can enter as many Title node as languages you want. The languagecode used on this sample 1033 refers to the English language.
. ToolTipTitle:The Id of the localized label that is defined inside the LocLabels node, similar to the LabelText node
. ToolTipDescription:The Id of the localized label that is defined inside the LocLabels node, similar to the LabelText node
. TemplateAlias:The alias of the template to be used, this will affect the way the button will be displayed, o1 will display the button big, and o2 will display the button small.
. Image16by16:The id of the web resource used for the 16 by 16 pixels image, this is the image that is used for small buttons. If you use a web resource you need to enter a value as follows $webresource:<name of the web reosource>.png.
. Image32by32:The id of the web reource used for the 32 by 32 pixels image; this is the image that is used for big buttons. If you use a web resource you need to enter a value as follows: $webresource:<name of the web reosource>.png.

0 comments:

Post a Comment

Popular Posts