MB2-866 - CRM 2011 Customization and Configuration – …



MB2-866 - CRM 2011 Customization and Configuration – Exam NotesContents TOC \o "1-3" \h \z \u MB2-866 - CRM 2011 Customization and Configuration – Exam Notes PAGEREF _Toc323757727 \h 1Microsoft Dynamics CRM 2011 Customization and Configuration Course Number 80294 PAGEREF _Toc323757728 \h 3Workflow and Dialog Processes in Microsoft Dynamics CRM 2011 Course Number 80444 PAGEREF _Toc323757729 \h 3Reporting in Microsoft Dynamics CRM 2011 Course Number 80445 PAGEREF _Toc323757730 \h 3Internet Lead Capture with CRM 2011 for non-US customers/partners PAGEREF _Toc323757731 \h 3Custom workflow actions in Microsoft Dynamics CRM 2011 Online PAGEREF _Toc323757732 \h 3Solution Components PAGEREF _Toc323757733 \h 3Controlling User Synchronization Settings PAGEREF _Toc323757734 \h 4Business Unit in CRM 2011 – New features PAGEREF _Toc323757735 \h 7Managing Users, Teams and Security PAGEREF _Toc323757736 \h 7Tips in using managed and unmanaged solutions in CRM 2011 (MSCRM 2011) PAGEREF _Toc323757737 \h 7Solutions - Managed & UnManaged PAGEREF _Toc323757738 \h 8Solutions & Release Management – CRM 2011 PAGEREF _Toc323757739 \h 8Attach a File in Microsoft Dynamics CRM Online 2011 PAGEREF _Toc323757740 \h 8Introduction to Solutions PAGEREF _Toc323757741 \h 9Delete an Unmanaged Solution PAGEREF _Toc323757742 \h 9Use Managed Properties PAGEREF _Toc323757743 \h 10Apply Managed Properties PAGEREF _Toc323757744 \h 10BusinessUnit Entity PAGEREF _Toc323757745 \h 10Form Sub-Grids in Dynamics CRM 2011 PAGEREF _Toc323757746 \h 10Customize Entity Forms in Microsoft Dynamics CRM PAGEREF _Toc323757747 \h 11Manage Role Based Forms PAGEREF _Toc323757748 \h 12Managing the Fallback Form PAGEREF _Toc323757749 \h 12Strategies to Manage the Fallback Form PAGEREF _Toc323757750 \h 13Design Considerations for Read-Only Forms PAGEREF _Toc323757751 \h 13Form Scripts in Read-Only Forms PAGEREF _Toc323757752 \h 14Read-Optimized Forms PAGEREF _Toc323757753 \h 15Microsoft Dynamics CRM for Outlook Reading Pane Forms PAGEREF _Toc323757754 \h 17View Data with Visualizations (Charts) PAGEREF _Toc323757755 \h 17Microsoft CRM 2011: Multiple Forms basics PAGEREF _Toc323757756 \h 17Multi-Column Sorting Views in Dynamics CRM 2011 PAGEREF _Toc323757757 \h 18How to Create a Silverlight Web Resource that Interacts with CRM 2011 Forms PAGEREF _Toc323757758 \h 18Building Silverlight Apps For CRM PAGEREF _Toc323757759 \h 18Building Multi-Purpose Silverlight Web Resources in Dynamics CRM 2011 PAGEREF _Toc323757760 \h 18Silverlight (XAP) Web Resources PAGEREF _Toc323757761 \h 18Creating Silverlight Web Resources PAGEREF _Toc323757762 \h 18Writing and Testing Silverlight Web Resources PAGEREF _Toc323757763 \h 19How Role-Based Security Can Be Used to Control Access to Entities in Microsoft Dynamics CRM PAGEREF _Toc323757764 \h 19Roles PAGEREF _Toc323757765 \h 19Privileges PAGEREF _Toc323757766 \h 20Access Levels PAGEREF _Toc323757767 \h 20Putting it All Together PAGEREF _Toc323757768 \h 21How Record-Based Security Can Be Used to Control Access to Records in Microsoft Dynamics CRM PAGEREF _Toc323757769 \h 21Access Rights PAGEREF _Toc323757770 \h 22Create Access PAGEREF _Toc323757771 \h 22Sharing Records PAGEREF _Toc323757772 \h 22Sharing and Inheritance PAGEREF _Toc323757773 \h 23Assigning Records PAGEREF _Toc323757774 \h 23How Field Security Can Be Used to Control Access to Field Values in Microsoft Dynamics CRM PAGEREF _Toc323757775 \h 23Video: Add Personnel to Microsoft Dynamics CRM Online PAGEREF _Toc323757776 \h 24Auditing Feature Overview PAGEREF _Toc323757777 \h 24Key Concepts PAGEREF _Toc323757778 \h 24Data that can be Audited PAGEREF _Toc323757779 \h 25Configure Entities and Attributes for Auditing PAGEREF _Toc323757780 \h 25Auditing and Table Partitions in Dynamics CRM 2011 PAGEREF _Toc323757781 \h 25CRM 2011 - Feature of the week (9/13/2010) – Auditing PAGEREF _Toc323757782 \h 25TransactionCurrency (Currency) Entity PAGEREF _Toc323757783 \h 26Customize Global Option Sets in Microsoft Dynamics CRM PAGEREF _Toc323757784 \h 27Global Option Sets in Dynamics CRM 2011 PAGEREF _Toc323757785 \h 27Merge Option Set Options PAGEREF _Toc323757786 \h 30Use Managed Properties PAGEREF _Toc323757787 \h 30Apply Managed Properties PAGEREF _Toc323757788 \h 30Update Managed Properties PAGEREF _Toc323757789 \h 30Check Managed Properties PAGEREF _Toc323757790 \h 31Managed Properties PAGEREF _Toc323757791 \h 31Use PowerShell to Call the Deployment Web Service PAGEREF _Toc323757792 \h 32How to Find the Entity Type Code PAGEREF _Toc323757793 \h 33Entity Options that can’t be disabled PAGEREF _Toc323757794 \h 34Create Custom Get Started Pane Content PAGEREF _Toc323757795 \h 35Get Started Pane PAGEREF _Toc323757796 \h 35Web Resources for Microsoft Dynamics CRM PAGEREF _Toc323757797 \h 35Capabilities of Web Resources PAGEREF _Toc323757798 \h 35Web Resource Types PAGEREF _Toc323757799 \h 36Referencing Web Resources PAGEREF _Toc323757800 \h 36Sample: Pass Multiple Values to a Web Resource Through the Data Parameter PAGEREF _Toc323757801 \h 38Sample HTML Web Resource PAGEREF _Toc323757802 \h 38Use the REST Endpoint for Web Resources PAGEREF _Toc323757803 \h 40What Is REST? PAGEREF _Toc323757804 \h 40Microsoft Dynamics CRM Implementation of REST PAGEREF _Toc323757805 \h 40Customize Entity Metadata PAGEREF _Toc323757806 \h 41Options Available When Creating a Custom Entity PAGEREF _Toc323757807 \h 41Enable Entity Capabilities PAGEREF _Toc323757808 \h 42Editable Entity Properties PAGEREF _Toc323757809 \h 42Entity Metadata Messages PAGEREF _Toc323757810 \h 43Enable Document Management for Entities PAGEREF _Toc323757811 \h 43Introduction to SharePoint Integration with Microsoft Dynamics CRM PAGEREF _Toc323757812 \h 44SharePoint Storage Concepts PAGEREF _Toc323757813 \h 44Supported SharePoint Server Versions PAGEREF _Toc323757814 \h 44Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010 PAGEREF _Toc323757815 \h 45SharePoint Integration is Enabled by Default PAGEREF _Toc323757816 \h 45Integrate SharePoint with Microsoft Dynamics CRM PAGEREF _Toc323757817 \h 45Microsoft Dynamics CRM 2011 Customization and Configuration Course Number 80294 and Dialog Processes in Microsoft Dynamics CRM 2011 Course Number 80444 in Microsoft Dynamics CRM 2011 Course Number 80445 Lead Capture with CRM 2011 for non-US customers/partners Dynamics CRM 2011 Online has a feature called Internet Lead Capture (ILC):This feature creates a page that enable us to capture web leads with Microsoft Dynamics CRM 2011.However, the ILC functionality is (at the moment) only available for customers based in the US.We have had in EMEA several customers and partners asking for that and we have tried together with the Product Team to understand the feasibility of bringing that functionality to the EMEA customers and partners. But unfortunately, we still don’t have any timeline for its availability.So, at the moment, the recommended workaround that we propose, is the usage of the Customer Portal Accelerator for Microsoft Dynamics CRM 2011:Custom workflow actions in Microsoft Dynamics CRM 2011 Online to a technical limitation we are unable to support custom workflow activities in CRM 2011 Online. Custom workflow activities is a widely used feature and having direct support for it in Online is one of our top priorities, we are considering enabling this support in a future release.Solution Components can be in a solution? Almost anything you need to customize Dynamics CRM. Suppose you’re just starting out in a brand-new uncustomized CRM 2011 organization, and you start in customizing. If you click Settings, Customizations, and then Customize the System, you’ll open the solution explorer, and although it might not be obvious at first, you will be customizing the default solution. Every organization starts out in an uncustomized state, with its default solution exposed in what can also be referred to as the “unmanaged solution layer”. This is a good place to see all of the different types of components that can make up a solution:Controlling User Synchronization Settings of the items frequently requested, especially in large deployments of Microsoft Dynamics CRM, has been the ability to control Outlook client synchronization. CRM for Outlook provides a fantastic bi-directional synchronization between CRM and Outlook for Contacts, appointments, tasks, and other activities, but in some organizations, business requirements dictate that some or all of the synchronization be disabled, or that the settings not be user modifiable.With CRM version 4.0, there were SQL database updates that could be used to prevent some types of synchronization, but they were unsupported and could often be overridden by a user updating his CRM for Outlook settings.Also, contact synchronization options in CRM 4 are based on the user’s local data rules. By default, when users are created, their local data rules default to contacts owned by current user. While this worked well in some situations, in many cases, this either resulted in the user’s Outlook contacts being filled with too many contacts (if they own many contacts), or the contacts that they want to have not being synchronized to their outlook contacts. While this could be fixed by updating the user’s local data rules, it was often a surprise for users who just installed the client without first making modifications to their settings.With Microsoft Dynamics CRM 2011, Microsoft has introduced a supported method for setting synchronization setting and controlling them from a global perspective.First thing you will notice is that in CRM 2011 for Outlook, there are no more checkboxes to enable/disable synchronization for tasks, contacts, or appointments. Now everything is controlled through the local data rules, which are now called Outlook Filters.Now for CRM 2011 for Outlook, you will not only see Outlook Filters for contacts, you will also see one for each activity type. These still default to the records that you own or are to which you are a party (such as appointments you are attending). However, you can now change the filter rules to change what activities synchronize to your calendar.Imagine a sales manager who wanted to see all appointments involving someone on his team—he could update his outlook filter and include records where the owner of the appointment was on his team.Also, if someone wanted fewer appointments or tasks to synchronize than everything owned by her, or wanted to turn off task synchronization,you can modify her filter rule for tasks, or disable it altogether.Controlling Synchronization FiltersSo what do you do if you want to control Outlook Filters for all of your users—say you want them to get a different set of filters than the default “my” filters, or you want to disable synchronization for contacts?CRM 2011 introduces a new feature called filter templates. Outlook filters are stored in the SavedQuery table of the MSCRM database. Filter templates allow you to set one SavedQuery record as the default per entity, then when new users are added to the system, their data rules will reflect the default filter rules.See this link from the CRM 2011 SDK regarding filter templates: you could create one user, set their Outlook filters to the desired default, then set the SavedQuery.IsDefault attribute to 1 on the SavedQuery records for that user. Then subsequent users will default to these rules.This gives system administrators much greater control over users default Outlook Filters, but what about preventing users from modifying their data rules later?The security roles in 2011 have been enhanced with a new privilege setting called “Manage User Synchronization Settings” located on the bottom of the Core Records of the security role definition.If you disable this setting, users will not be able to modify their outlook filters, ensuring that your default settings go unchanged.Keep in mind that you may not want to do this, especially if you want users to be able to control what record synch/don’t synch; however, if your business requirements dictate limiting synchronization setting modification, this is a welcome addition.Business Unit in CRM 2011 – New features 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).Managing Users, Teams and Security UnitsNames can be changed.Can change the name of the root business unit to something other than the name of the organization.Can delete business units in CRM 2011. To delete a business unit, you must remove all users, remove all teams, and then disable the business unit. Then it can be deleted.Users and TeamsIn CRM 2011, both are full security principles – i.e., records can be assigned to both users and teams.Users must always be assigned to a business unit, and they can only be assigned to a single business unit at a time.Teams must be assigned to a business unit also, but the teams you create can include members (users, that is) from any business unit.Teams, just like users, can be assigned security roles.When users are added as members of a team, they keep all security privileges included in any of the security roles they’ve been assigned, plus they inherit all of the privileges from the team’s security roles. Since security roles are “additive”, this means that adding a user to a team will never give them less privileges and may give them more.Default business unit teams are created by the system when a business unit is created. These teams behave differently in some important respects from regular teams. Default business unit teams:Cannot be deleted.Cannot have their names changed.Cannot have members not in the business unit.Automatically assign membership to every user assigned to the business unit; cannot have their membership changed apart from changing a user’s business unit.Tips in using managed and unmanaged solutions in CRM 2011 (MSCRM 2011) basic difference is whether you can or cannot modify the customizations within a solution. You can compare Managed solutions with compiled code which cannot be modified. Unmanaged solutions can be modified once published. Every new solution starts as unmanaged. When you export your solution you have the option to export it as managed or unmanaged. By importing in a new or the same organisation, the solution can become managed.Solutions - Managed & UnManaged & Release Management – CRM 2011 a File in Microsoft Dynamics CRM Online 2011 Note: The types of files that can be attached and the maximum file size are defined by your system administrator. If you are having trouble attaching a file, the file type or size may not comply with the standards set by your system administrator. If you are the system administrator, navigate to Settings > System > Administration and click System Settings. Set the file types to block in the General tab under Set blocked file extensions for attachments. Set the maximum file sizes in the E-mail tab under Set file size limit for attachments. (This applies to all attachments even though it’s under e-mail.)Introduction to Solutions PropertiesUsing managed properties, the creator of a managed solution can control whether a solution component is customizable and which specific parts of it can be customized.Note - Managed properties must be set in an unmanaged solution. The managed property settings are only applied after the managed solution has been packaged and installed.The exact managed properties available depend on the type of solution component. The following screenshot shows the managed properties for a custom entity.Managed properties for an entityBy default, the managed property settings assume that any kind of solution component is fully customizable. Solution developers are encouraged to enable solution components in their solutions to be customizable. However, there are situations where the definition of a solution component must be ”locked down” to avoid potential breaking changes or to make future maintenance of the solution component easier.Delete an Unmanaged Solution you delete an unmanaged solution, you are just deleting the group used to contain references to solution components. The solution components in an unmanaged solution remain in the system but they are no longer associated with the unmanaged solution you delete.Note - If you delete a solution component in an unmanaged solution, it is deleted from the system and is no longer available from any other unmanaged solution. Use “remove” instead of “delete” if you just want to remove a solution component from an unmanaged solution.Use Managed Properties can control which of your managed solution components are customizable by using managed properties. You should allow as much customization as possible for those solution components that represent business entities. This lets organizations customize your solution to their requirements. Limit or eliminate customization of critical solution components that provide the core functionality of your solution so that you can predictably support and maintain it.Managed properties are intended to protect your solution from modifications that may cause it to break. Managed properties do not provide digital rights management (DRM), or capabilities to license your solution or control who may install it.Apply Managed PropertiesYou apply managed properties when the solution is unmanaged. The managed properties will take effect after you package the managed solution and install it in a different organization. After the managed solution is installed, the managed properties cannot be updated except by an update of the solution by the original publisher.Most solution components have a Managed Properties button when viewing a list of solution components. You can view or update the managed properties for a solution component when you click this button. To access managed properties for solutions that do not display this button, select Managed Properties from the More Actions drop-down list.By default, all custom solution components are customizable. To change the managed properties for a solution component, click the Managed Properties button in the toolbar for the solution component. Each solution component has a Can be customized (IsCustomizable) property. As long as this property is true, more properties specific to the type of solution component can be specified. If you set the IsCustomizable.Value property to false, after the solution is installed as a managed solution the solution component will not be customizable.BusinessUnit Entity organization in Microsoft Dynamics CRM, such as a holding company or a corporation, is made up of business units. A business unit is a unit of the top-level organization. Business units can be parents of other business units (child business units). The first business unit created for an organization is called the root business unit. New in this release is the ability to delete a business unit. The root business unit cannot be deleted. In Microsoft Dynamics CRM 2011, this entity is customizable. To see which customizations are enabled for this entity, see BusinessUnit Entity Metadata.A parent business unit is any business unit with one or more business units that report to it in the hierarchy.A child business unit is a business unit that is immediately under another business unit in the business hierarchy of an organization.A business unit can own records as defined in the ownership type in the metadata definition for an entity. For more information, see Entity Ownership.You can call the WhoAmIRequest message to find out the business unit for the currently logged on or impersonated user.Form Sub-Grids in Dynamics CRM 2011 of the new UI capabilities in CRM 2011 is the Sub-Grid. This powerful feature gives users with proper security the ability to view, create, and modify records for a related entity directly within a form.Customize Entity Forms in Microsoft Dynamics CRM sub-grid control allows for definition of an in-line control where you can display a list of records, a chart, or both. The user can interact with the sub-grid using options specified by using the form editor. These options are set in FormXML using parameters. For more information aboutvalid parameters for the sub-grid element, see <parameters> (FormXML).The sub-grid control is available in the Xrm.Page.ui.controls Collection but it is not associated with an attribute. The getAttribute method will return null. The sub-grid control has a refresh method that will refresh data displayed in the sub-grid.The first four sub-grids can be populated with data in a form when it loads. If more than four sub-grids exist on a form, the remaining sub-grids require some user or form script action to retrieve data. This is for performance optimization.Add Find Columns frequently encounter ‘Power Customizers’ who are unaware of a very basic customization feature: Add Find Columns. Each CRM entity has two special views: Quick Find and Lookup.The Quick Find view is the view displayed after an user invokes a Quick Find Search:The Lookup view is the view displayed in the lookup boxes.Both of these views can be customized normally in the Forms and Views section of the Entity Customization screen. However both Lookup and Quick Find views have an extra feature: Add Find Columns.Basically what this does is configure the search criteria for these views. By adding additional attributes to the Find Columns you essentially add the equivalent to a SQL ‘OR’ statement into your search. OK – what does that mean in English? Let’s look at an example:Let’s say that I have First Name and Last Name listed as my Find Columns for the Contact Quick Find View. When I use the Contact Quick Find to search for a contact (let’s imagine I type in Philip) it will return a list of all Contacts with the First Name of Philip and a Last Name of Philip.Manage Role Based Forms When you have more than one main form defined for an entity, you can select which forms users will see based on their security roles. Because each entity must be able to display a form for any user, at least one form must be designated as a ”fallback” form – a form visible to users whose security roles do not have any forms explicitly assigned to them.Managing the Fallback FormWithin the Form editor or from the Forms grid you can assign security roles to a form. However, if there is only one form for the entity, you will not be able to clear the Enabled for fallback option in the Assign Security Roles dialog box. In this case, even though you have assigned security roles to the form, anyone associated with a security role you did not include will still be able to view the form because it is enabled for fallback.After you create a second main form for the entity, you will be able to clear the Enabled for fallback option for one of them. The system will always make sure that at least one form is enabled for fallback.Strategies to Manage the Fallback FormStrategies to manage the fallback form include the following:Don’t use multiple formsCreate a contingency formCreate a generic formUse form scriptingDon’t Use Multiple FormsIf you do not require multiple forms for an entity you do not need a fallback form. All users view the same form.Create a Contingency FormIf you are using role-based forms because you want to restrict the information people might view or edit, consider creating a form that has a minimum of information displayed. Then, in the Assign Security Roles dialog box, select Display only to these selected security roles, but do not select any roles except System Administrator, and select Enabled for fallback. The result is that this form will never be seen by anyone except the System Administrator and anyone whose security roles have not been associated with a specific form. You could include a HTML Web Resource in the form with information about why little information is visible in the form and a link to information about how to request being added to a security role that is associated with a from or to include a new security role for a form.Create a Generic FormIf you use role-based forms to provide a customized user experience based on a person’s role in the organization, you can set your least specialized form as the fallback form and configure it to display for everyone. Then, create customized forms for specific security roles and configure those forms to only display for security roles that require them. Do not enable these forms for fallback. Finally, in the Forms list use the Form Order dialog to specify which forms to display ranking them from most exclusive to least exclusive. Your fallback form will be at the bottom of the list. This strategy will cause people seeing the form that has been customized for their role as the default form, yet they can still use the form selector to select the most common form if they want. Whatever form they select will remain their default form until they select a different form.Use Form ScriptingFinally, you can use scripts in the form Onload event to use the Xrm.Page.ui.formSelector Remember that the navigate method will cause the form to load again (and the Onload event to occur again). Your logic in the event handler should always check some condition before you use the navigate method to avoid an endless loop or unnecessarily restrict users options to navigate between forms.Design Considerations for Read-Only Forms you design forms in Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online, you should consider how the forms will function in the application. This topic describes design considerations for the Microsoft Dynamics CRM for Microsoft Office Outlook reading pane and read-optimized presentations of the main entity forms. The following table lists the different presentation of the main forms for an entity.Form Scripts in Read-Only FormsForm scripts are often used in an edit form to create dynamic forms. Because scripts are not available in read-only forms you should consider how they will affect the way read-only forms are displayed without scripts. Form scripts are frequently used to do the following:Control visibility of form elements.Display calculated values.Read-only forms rely on the default visibility values set in the form definition to control which form elements are displayed. Each form tab, section, or field has a Visible by Default property that controls whether the element is displayed by default in both edit and read-only forms. This property corresponds to the visible attribute found in <tab> (FormXml), <section> (FormXml) and <cell> (FormXml) elements. Rather than using form scripts in the form OnLoad event to hide elements, you should set them to be hidden by default and then use the client-side setVisible method to show those form elements as appropriate in the edit form.Alternatively, consider using role-based forms to control which data users can view. For more information, see Manage Role Based Forms.For form designs that rely on form scripts to display calculated values, the recommended approach is to perform these calculations using a synchronous plug-in running in an isolated environment (sandbox) that is applied when a record is retrieved so that client-side calculation is not required. If the form script is just calculating values that already are in the form, this can be performed quickly using a plug-in. If the calculated field requires retrieval of related records you can expect that this additional processing time is reflected in the time that is required to load the form. In this case, it may actually be faster to view the form in edit mode and perform calculations asynchronously using JavaScript.If the calculation cannot be performed by using a plug-in, consider setting the visibility for the form fields so that they will not be displayed by default in the read-only form, and then make them visible using a form OnLoad event handler script in the edit form.Read-Optimized FormsRead-optimized forms were included in Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online Update Rollup 7. This capability provides the option for an organization to let users decide whether they would prefer to view records using a form that is optimized to load quickly. The read-optimized form improves productivity for users who primarily read records instead of edit records. It also helps prevent unintentional editing of field values.Some considerations for read-optimized forms:When the edit form contains custom form scripts or web resources, the read-optimized form will not be displayed. The user will always see the edit form.When read-optimized forms are enabled, all entities use them. It is not currently possible to set a default form mode per entity.When entities have more than one form enabled, read-optimized forms use the definition of the form that the user last viewed.Control Use of Read-Optimized Forms for an OrganizationBy default read-optimized forms are not enabled. An organization administrator can control whether read-optimized forms are enabled and whether users can decide to enable them.To Control Use of Read-Optimized Forms for the OrganizationIn the Navigation Pane, click Settings.In the System group, select Administration.Select System Settings.In the Customization tab, under Form Mode, select either Read-Optimized or Edit as the default mode for viewing forms.Set the Allow users to select a mode for viewing forms check box to control whether users will be able to decide between the options.With these two settings an administrator has the options listed in the following table.These settings can be controlled programmatically by setting the organization entity Boolean attribute values listed in the following table.Note - These settings are not included in the system settings that can be included in a solution.When the Organization.AllowUserFormModePreference value is true, users will be able to make a choice in their personal options to override the default setting for the organization. This setting is stored in the UserSettings.EntityFormMode attribute with the options listed in the following table.As an administrator, you can specify the UserSettings.EntityFormMode for users.To Specify Preferences for Specific UsersNavigate to Settings and select Administration.Select Users.In the list select one or more users.In the far right side of the ribbon use the Form Mode button to select either Read-Optimized or Edit.Use of IFRAMES with Read-Optimized FormsUnlike the Microsoft Dynamics CRM for Outlook reading pane, read-optimized forms display IFRAMEs. This can be problematic if the content of an IFRAME was designed to access the Xrm.Page object in Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online or the crmForm object that is available for backward compatibility with Microsoft Dynamics CRM 4.0.To improve performance, the Xrm.Page and crmForm objects do not occur in read-optimized forms. Any scripts running in the IFRAME that access parent.Xrm.page or parent.document.forms[0] can be expected to fail. There are some ways to work around this. If your organization has IFRAMEs that fail because of dependencies on scripts in the IFRAME page, configure the IFRAME in the form so that it is not displayed by default.Another option, rather than use the Xrm.Page to access data about the record, is to configure the IFRAME using the Pass record object-type code and unique identifier as parameters check box. By using this information, and when the target of the IFRAME is in the same domain as your Microsoft Dynamics CRM server, you can include code in your page to query the REST endpoint to access information about the current record. One way to make sure that the page displayed in the IFRAME is in the same domain is to make a web resource the target of the IFRAME. An HTML web resource can accept the same object type code and unique identifier parameters that may be passed to an IFRAME.If the page is in another domain, using the object type code and unique identifier passed through to the page, the server on the other domain will have to connect to your Microsoft Dynamics CRM server to retrieve information about the record.Use of Web Resources with Read-Optimized FormsA form that includes a web resource will not be displayed using the read-optimized form. If it is required that a web resource be displayed in a read-optimized form, you may be able to create an IFRAME in the form that uses a URL to point to the web resource, but there are some limitations.Web resources that include code that depends on accessing the Xrm.Page object will still fail if they are displayed in an IFRAME. Microsoft Silverlight web resources designed to interact with Xrm.Page using the HTML Bridge will fail and should not be displayed in an IFRAME.Image web resources displayed in a form can have alternative text set that provides descriptions for users of software for people with disabilities. This alternative text cannot be set in an IFRAME, but you can include the image in an HTML page to provide the alternative text and set the IFRAME URL to point to that HTML web resource instead of the image web resource.Microsoft Dynamics CRM for Outlook Reading Pane FormsBoth the Microsoft Dynamics CRM for Microsoft Office Outlook reading pane and the read-optimized form share some common characteristics:Form scripts are not enabled.Web resources are not displayed.However, the Microsoft Dynamics CRM for Microsoft Office Outlook reading pane does not display IFRAMEs.View Data with Visualizations (Charts) VisualizationsCharts enable you to view summaries of grid data. The charts are built using the Microsoft Chart Controls for Microsoft .NET Framework 3.5. For more information about Microsoft Chart Controls, see Chart Controls for .NET Framework.These charts are integrated with the grids in the Web application. When you apply a filter (query) to the data in a grid, the filter is applied to the chart as well, and the chart is updated accordingly. Similarly, when you perform drill-down operations on a chart, the grid data is updated automatically.A chart attached to an entity is available for all the views for the entity. A chart displays data according to the currently selected (or displayed) view of an entity. A chart can display data from both a saved query (organization-owned view) and a user query (user-owned view).Charts display data for only those saved queries (organization-owned views) that use FetchXML (SavedQuery.FetchXml) to filter the records. If a saved query uses the query API (SavedQuery.QueryAPI) to filter the records, the chart will not appear for that saved query. This limitation is not applicable for user queries (user-owned views) because the user query entity does not use QueryAPI to filter the records.Microsoft CRM 2011: Multiple Forms basics to assign forms to roles - Go to the Customize tab on the ribbon and choose Design, Form to open the Form Editor.Choose Assign Security Roles: Under 'Assign Security Roles' you can select the roles that you want to have access to this form (or use the radio button to give all roles access). There is also a 'Enabled for fallback' option (selected below, by default unselected).This works as follows:If a role has forms assigned to it, only the forms that are explicitly assigned are shown.If a role has no forms assigned, all forms that are 'enabled for fallback' are shown. It is mandatory for an entity to have at least one form with 'enabled for fallback' checked.This means that as soon as you explicitly assign a form to a role, the default form is no longer shown. If you want to continue to have the default form available to that role, you need to explicitly assign the default form as well.Default form visibilityThe default 'Information' form is assigned to no roles and has 'enabled for fallback' selected. New forms are by default assigned to 'System Administrator' and 'System Customizer'. This means that for 'us customizers' a newly published form will replace the default form as we now have a form assigned explicitly, but for all other users the new form remains invisible. This is nice default behavior as it will enable us to test the new situation for the role we intend to target for the form.Multi-Column Sorting Views in Dynamics CRM 2011 within Microsoft Dynamics CRM 2011, by default, support up to two pre-defined sortable columns, which are selected when the view is defined.However, it is possible to manually sort any View on multiple columns using a combination of your mouse and keyboard.How to Create a Silverlight Web Resource that Interacts with CRM 2011 Forms Silverlight Apps For CRM Multi-Purpose Silverlight Web Resources in Dynamics CRM 2011 Silverlight (XAP) Web Resources Silverlight Web ResourcesSilverlight Web resources are easily created using the Web resource form by entering a name, a display name, selecting Silverlight (XAP) as the type, and uploading the .xap file. The Web resource must be published before you can use it. However, because Silverlight Web Resources typically provide some interaction with contextual data in Microsoft Dynamics CRM, you should plan how you create your Web resources.Accessing Context dataWhen you use the Preview button in the Web resources form or just browse to the URL provided, the Silverlight application is hosted in a generic HTML page without context information. If your Silverlight application does not require contextual information, you can use this URL to view your Silverlight Web resource.If you do require contextual information, you must either:Add your Silverlight Web resource to an entity form.View your Silverlight Web resource using an HTML Web resource configured to provide context information.If your Silverlight Web resource is designed to be viewed in an entity form, the form has an Xrm.Page.context object you can use to access contextual information.If you need your Silverlight application to appear outside the context of the form you must configure an HTML Web resource to provide this context information by adding a reference to the ClientGlobalContext.js.aspx page. After this reference is added, your Silverlight application can access contextual information in the same way it can in an entity form.Writing and Testing Silverlight Web ResourcesIf your Silverlight Web resource is independent of any contextual data from Microsoft Dynamics CRM, you can write and test your Silverlight application as you typically would. After you create a new Web resource by uploading your .xap file, you can test it by using the Preview button in the Web resource form after you have saved and published the Web resource.However, it is more likely that your Silverlight application has contextual data dependencies that cannot be fully simulated outside of Microsoft Dynamics CRM.The process of creating a Silverlight Web resource that includes form or context dependencies is as follows:Create your Silverlight Application project.You should select to create a Web application with your project.Write and test as much of the application as you can without requiring contextual data from Microsoft Dynamics CRM.Create Web resources by uploading the .xap and .htm files as Silverlight and HTML Web resources.Write code in your Silverlight Application project.Build your Silverlight application project.Upload the built version of the .xap file from the Web application project ClientBin folder to update the Silverlight Web resource you created in step 3.Test your Silverlight Web resource by either:Viewing it using the Preview button of the host HTML Web resource you created.Viewing it in the context of an entity form that you have added it to.Use this option is your Silverlight application has dependencies on Form elements or context information.Repeat steps 4 through 7 until you are finished.How Role-Based Security Can Be Used to Control Access to Entities in Microsoft Dynamics CRM In Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online the fundamental concept in role-based security is that a role contains privileges that define a set of actions that can be performed within the organization. For example, the salesperson role is assigned a set of privileges that are relevant to the performance of the tasks defined for that role. All users must be assigned to one or more predefined or custom roles. In Microsoft Dynamics CRM 2011, roles can also be assigned to teams. When a user or team is assigned to one of these roles, the person or team members are assigned the set of privileges associated with that role. A user must be assigned to at least one role.A privilege authorizes the user to perform a specific action on a specific entity type. Privileges apply to an entire class of objects, rather than individual instances of objects. For example, if a user does not have the privilege to read accounts, any attempt by that user to read an account will fail. A privilege contains an access level that determines the levels within the organization to which a privilege applies. Each privilege can have up to four access levels: Basic, Local, Deep, and Global.RolesMicrosoft Dynamics CRM includes fourteen predefined roles that reflect common user roles with access levels defined to match the security best-practice goal of providing access to the minimum amount of business data required for the job. With these roles you can quickly deploy a Microsoft Dynamics CRM system without having to define your own roles. However, you can create custom roles using the predefined roles as a template, or you can define a new set of roles. For a list, see List of Predefined Security Roles.Each role is associated with a set of privileges that determines the user or team’s access to information within the company.You can create roles within Microsoft Dynamics CRM and modify or remove these custom roles to fit your business needs. The roles you create for your business unit are inherited by all the business units in the hierarchy.You can assign one or more roles to a user or to a team. For example, a user can have the Sales Manager role in addition to being a Customer Service Representative, in which case that user has all the privileges of both roles.You cannot modify privileges at the user level, but you can create a new role with the desired privileges. For example, John is given a Salesperson role, which requires him to accept all leads assigned to him. However, the administrator wants John to be able to reassign leads assigned to him. As a result, the administrator either has to modify the Salesperson role to allow this or create a new role that incorporates this specific privilege and add John to this role. Creating a new role is the recommended option unless you think it necessary that all users who are assigned the Salesperson role now have this additional privilege.PrivilegesIn Microsoft Dynamics CRM, there are over 580 privileges that are predefined system-wide during setup. A privilege is a permission to perform an action in Microsoft Dynamics CRM. Some privileges apply in general and some to a specific entity type. For a complete list of the privileges available in Microsoft Dynamics CRM, see Security Role and Privilege Reference.Microsoft Dynamics CRM uses privileges as the core of the underlying security check. Privileges are "built in" to the product and are used throughout the application and platform layers. You cannot add or remove privileges, or change how privileges are used to grant access to certain functionality, but you can construct new roles from the existing privilege set.Each role defines a set of privileges that determines the user or team's access to information within the company. The platform checks for the privilege and rejects the operation if the user does not have the necessary privilege. A privilege is combined with a depth or access level.For example, the Salesperson role could contain the privileges Read Account with Basic access and Write Account with Basic access, whereas the Sales Manager role might contain privileges like Read Account with Local access and Assign Contact with Local access.Access LevelsThe access level or privilege depth for a privilege determines, for a given entity type, at which levels within the organization hierarchy a user can act on that type of entity.The following table lists the levels of access in Microsoft Dynamics CRM, starting with the most access. The icon is shown in the security role editor in the Web application.Putting it All TogetherIf a user has the Deep Read Account privilege, this user can read all accounts in his or her business unit, and all accounts in any child business unit of that business unit.If a user has Local Read Account privileges, this user can read all accounts in the local business unit.If a user is assigned the Basic Read Account privilege, this user can read only the accounts that he or she owns or the accounts that are shared with him or her.A customer service representative with the Basic Read Account privilege can view accounts that he or she owns and any accounts another user has shared with this user. This makes it possible for the representative to read the account data that is relevant to a service request, but not to change the data.A data analyst with the Local Read Account privilege can view account data and run account-related reports for all accounts in his or her business unit.A finance officer for the company with the Deep Read Account privilege can view account data and run account-related reports for all accounts in his or her business unit and accounts in any child business unit.How Record-Based Security Can Be Used to Control Access to Records in Microsoft Dynamics CRM security in Microsoft Dynamics CRM and Microsoft Dynamics CRM Online applies to individual records. It is provided by using access rights.The relationship between an access right and a privilege is that access rights apply only after privileges have taken effect. For example, if a user does not have the privilege to read accounts, that user is unable to read any account, regardless of the access rights another user might grant to a specific account through sharing.Access RightsAn access right is granted to a user for a particular record. The following table lists the descriptions for these access rights.Create AccessThe right to create a record for an entity type is not included in the previous table because this right does not apply to an individual record, but instead to a class of entities. Create is handled as a privilege instead of as an access right. The user who creates a record has all rights on that record, unless his or her other privileges forbid a specific right.The Create privilege controls whether you can create a record. If you have the Create privilege with Local, Deep, or Global access, you can create records for other users. If you have Create and Read privileges with Basic access, you can create records for yourself.Sharing RecordsSharing lets users give other users or teams access to specific customer information. This is useful for sharing information with users in roles that have only the Basic access level. For example, in an organization that gives salespeople Basic read and write access to accounts, a salesperson can share an opportunity with another salesperson so that they can both track the progress of an important sale.For security reasons, develop the practice of sharing only the necessary records with the smallest set of users possible. Only grant the minimum access required for users to do their jobs.Microsoft Dynamics CRM provides the following sharing capabilities:Share. Any user who has share privileges on a given entity type can share records of that type with any other user or team in Microsoft Dynamics CRM. To share a record, use GrantAccessRequest.When you share a record with another user, indicate what access rights (Read, Write, Delete, Append, Assign, and Share) you want to grant to the other user. Access rights on a shared record can be different for each user with whom the record is shared. However, you cannot give a user any rights that he or she would not have for that type of entity, based on the role assigned to that user. For example, if a user does not have Read privileges on accounts and you share an account with that user, the user will be unable to see that account.Modify share. You can modify the rights granted to a shared record after it has been shared. To modify sharing for a record, use the ModifyAccessRequest.Remove share. If you share a record with another user or team, you can stop sharing the record. After you remove sharing for a record, the other user or team loses access rights to the record. To remove sharing for a record, use the RevokeAccessRequest.A user might have access to the same record in more than one context. For example, a user might share a record directly with specific access rights, and he or she might also be on a team in which the same record is shared with different access rights. In this case, the access rights that this user has on the record are the union of all the rights.Sharing and InheritanceIf a record is created and the parent record has certain sharing properties, the new record inherits those properties. For example, Joe and Mike are working on a high priority lead. Joe creates a new lead and two activities, shares the lead with Mike, and selects cascade sharing. Mike makes a telephone call and sends an email regarding the new lead. Joe sees that Mike has contacted the company two times, so he does not make another call.Sharing is maintained on individual records. A record inherits the sharing properties from its parent and also maintains its own sharing properties. Therefore, a record can have two sets of sharing properties—one that it has on its own and one that it inherits from its parent.Removing the share of a parent record removes the sharing properties of objects (records) that it inherited from the parent. That is, all users who previously had visibility into this record no longer have visibility. Child objects still could be shared to some of these users if they were shared individually, not from the parent record.Assigning RecordsAnyone with Assign privileges on a record can assign that record to another user. When a record is assigned, the new user or team becomes the owner of the record and its related records. The original user or team loses ownership of the record, but automatically shares it with the new owner.In Microsoft Dynamics CRM, the system administrator can decide for an organization whether records should be shared with previous owners or not after the assign operation. If Share with previous owner is selected, then the previous owner shares the record with all access rights after the assign operation. Otherwise, the previous owner does not share the record and may not have access to the record, depending on his or her privileges. The Organization.ShareRoPreviousOwnerOnAssign attribute controls this setting.How Field Security Can Be Used to Control Access to Field Values in Microsoft Dynamics CRM Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online, you use field-level security to restrict access to high business impact fields to specific users and teams. For example, you use this to enable only certain users to read or update the credit score for a customer. For this release, field security can be applied to custom fields only.The following steps describe how to restrict access to a field:Create a field security profile.Associate users or teams with the profile.Add specific field permissions, such as Create, Update or Read to the profile.Role-based security lets you see a specific entity type, record-based security lets you see individual records, and field-level security lets you see specific fields.Video: Add Personnel to Microsoft Dynamics CRM Online Auditing Feature Overview often need to be in compliance with various regulations to ensure availability of customer interaction history, audit logs, access reports, and security incident tracking reports. Organizations may want to track changes in Microsoft Dynamics CRM data for security and analytical purpose.Microsoft Dynamics CRM supports an auditing capability where entity and attribute data changes within an organization can be recorded over time for use in analysis and reporting purposes. Auditing is supported on all custom and most customizable entities and attributes. Auditing is not supported on metadata changes, retrieve operations, export operations, or during authentication.The following table lists the supported and unsupported auditing features for Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online.Key ConceptsThe following bullets identify some key auditing concepts:You can enable or disable auditing at the organization, entity, and attribute levels. If auditing is not enabled at the organization level, auditing of entities and attributes, even if it is enabled, does not occur. By default, auditing is enabled on all auditable entity attributes but is disabled at the entity and organization level.For Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online servers that use Microsoft SQL ServerEnterprise editions, auditing data is recorded over time (quarterly) in partitions. A partition is called an audit log in the Microsoft Dynamics CRM Web application. Partitions are not supported, and therefore, not used, on a Microsoft Dynamics CRM 2011server that is running Microsoft SQL ServerStandard edition.The ability to retrieve and display the audit history is restricted to users who have certain security privileges: View Audit History, and View Audit Summary. There are also privileges specific to partitions: View Audit Partitions, and Delete Audit Partitions. See the specific message request documentation for information about the required privileges for each message.Audited data changes are stored in records of the audit entity.Data that can be AuditedThe following list identifies the data and operations that can be audited.Create, update, and delete operations on records.Changes to the shared privileges of a record.N:N association or disassociation of records.Changes to security roles.Audit changes at the entity, attribute, and organization level. For example, enabling audit on an entity.Deletion of audit logs.When (date/time) a user accesses Microsoft Dynamics CRM data, for how long, and from what client.Enabling or disabling of field level security by setting the IsSecured attribute cannot be audited.Configure Entities and Attributes for Auditing are three levels where auditing can be configured: organization, entity, and attribute. The organization level is the highest level, followed by the entity level, and finally the attribute level. For attribute auditing to take place, auditing must be enabled at the attribute, entity, and organization levels. For entity auditing to take place, auditing must be enabled at the entity and organization levels.There is a slight difference in how auditing is enabled or disable for an organization compared to an entity or attribute. You enable or disable auditing at the organization level by setting a particular attribute value of the organization record. However, for entities and attributes, you set a property value of the entity or attribute metadata.A user must be assigned the System Administrator or System Customizer role to enable or disable auditing.Auditing and Table Partitions in Dynamics CRM 2011 2011 - Feature of the week (9/13/2010) – Auditing Key Features:Out of the box and provided by the Microsoft Dynamics CRM Platform.Supports any entityAccess to logs is controlled by standard CRM privilegesCan be enabled and controlled:Globally via System SettingsPer Entity via the Solution editorPer field via the Attribute editorLogs are automatically “partitioned” every 3 months and made available for archiving or deletion via the Audit Log Management area. This is only available to users with the privileges: View Audit Partitions and optionally Delete Audit Partitions.Audit history for an individual entity is available via the Audit History area off the entity form. This is only available to users with the View Audit History privilege.You can drill into any audit to see the details.The Audit History can filtered, to only show updates / changes to a particular field.Additional Feature Breakdown: Breakdown of other standard CRM features that are and are not available on Audit Logs or Audit Partitions:Advanced Find: No Bulk Delete: No Export to Excel: No Customizable: No (No Audit Extension Base table)Filtered View: Yes (FilteredAudit)Workflow: No Report Wizard: No TransactionCurrency (Currency) Entity Dynamics CRM 2011 is a multicurrency system, in which each record can be associated with its own currency. This currency is called the transaction currency. The multicurrency features enable users to perform financial transactions like opportunities, quotes, orders, and invoices in multiple currencies. This feature also provides a currency choice to the end user when a financial transaction occurs.Multiple records in different transaction currencies can be aggregated, compared, or analyzed with regard to a single currency, by using an exchange rate. This is known as the base currency. You first define a base currency for the organization and then define exchange rates to associate the base currency with transaction currencies. The base currency is the currency in which other currencies are quoted. The exchange rate is the value of a transaction currency equal to one base currency.By using the transaction currency properties you can do the following:Select the currency in which you want to define and transact opportunities, quotes, orders, and invoices.Define currency exchange rates relative to the base currency.Define transaction currencies and define an exchange rate to associate the base currency with the transaction currency.Capture the value of the transaction in the base currency and the transaction currency in all financial transactions.Define product pricelists for each currency.To use multiple currencies, the base currency must be defined for an organization during server installation and organization setup. After the base currency is set for an organization, it cannot be changed. This value is stored in the Organization.BaseCurrencyID attribute.Transaction currencies are defined as a part of the system settings. An unlimited number of transaction currencies can be defined. Transaction currencies are related to the base currency with the definition of a currency exchange rate.After the definition of base and transaction currencies, pricelists must be defined. An organization can have multiple pricelists, which are also typically defined for a target geographical market in the local currency.All entities that are involved in financial transactions support transaction currency. The currency is typically inherited from the account, opportunity, and so on, but can be changed as needed.You can specify the decimal precision for the transaction currency by using the TransactionCurrency.CurrencyPrecision attribute. To specify the source of the precision for the attributes of type Money, use the MoneyAttributeMetadata.PrecisionSource attribute.All money properties in a record share the same transaction currency, for example, see the Account.CreditLimit attribute. For each money attribute in an entity, Microsoft Dynamics CRM automatically creates a corresponding read-only, system calculated, money attribute that is called the "base". This is a money attribute that stores the value of the corresponding attribute in a base currency equivalent, for example, see the Account.CreditLimit_Base attribute.Customize Global Option Sets in Microsoft Dynamics CRM, you use global option sets to set fields so that different fields can share the same set of options, which are maintained in one location. You can reuse global option sets. You will also see them used in request parameters in a manner similar to an enumeration.When you define an option value by using OptionMetadata, we recommend that you let the system assign a value. You do this by passing a null value when you create the new OptionMetadata instance. When you define an option, it will contain an option value prefix specific to the context of the publisher set for the solution that the option set is created in. This prefix helps reduce the chance of creating duplicate option sets for a managed solution, and in any option sets that are defined in organizations where your managed solution is installed.Global Option Sets in Dynamics CRM 2011 you customize Dynamics CRM, there’s a lot to like about Dynamics CRM 2011. (I’ve noticed that a lot of my CRM 2011 articles have a gushing quality to them, so I thought I’d go for understatement in this one.)For what I’m writing about here, the general thing to like is how much more we can re-use things in CRM 2011. A couple of examples:Web Resources are explicitly designed for re-use, e.g., functions in JScript libraries are now stored in the CRM database and can be called from different entity forms.The same point applies to HTML pages, stylesheets, XML data, and images: these are all web resources too, and can all be used from different entities in your CRM.The specific thing I’m writing about here – Global Option Sets – provides an easy way to create what in CRM 4.0 we referred to as “picklists” (and now call “option sets”) and make the available for an entity in the system. If you’ve ever had to manually synch up similar picklists across multiple entities in CRM 4.0, I probably don’t need to tell you how much time global option sets will save you, but just in case you haven’t, here’s a 4.0 scenario:Suppose you use all four of the CRM sales process transaction entities: opportunities, quotes, orders and invoices. And suppose you’ve got a custom picklist on the opportunity form and you want to carry the selected value through the entire sales process: first as the quote is created, then the order, then the invoice. You can do this fairly easily the first time around: add the field to each of the four entities with the same list of values, and then map the field from opportunity to quote, quote to order and order to invoice…But then, you decide you need to change the values in the picklist…so you change them in all four places…manually…and then another change needs to be made…This is the kind of time-consuming problem solved by global option sets. With these things you create an option set once, and then simply point to it for the values of a field on any entity in the system. If you need to change its values, you change them in one place and they show up everywhere it’s used.I’ll illustrate how they work with an example using leads and opportunities, where you want the same picklist (option set, that is) on forms for both record types.In the demonstration I also map the field from lead to opportunity, so a value selected on lead is automatically populated if the lead is converted to an opportunity. (But just keep in mind that the mapping bit is really a separate issue, useful in situations where one record is created from another as part of a process, but not necessarily related to global option sets.)To create a global option set in CRM 2011, follow these steps:In the site map, click Settings, and then in the Customization group, click Customizations.On the Customization page, click Customize the System.In the Components section of left navigation, click Option Sets.On the Option Sets toolbar, click New.Supply an appropriate name for the option set, and then use the Options section at the bottom of the Option Set window to add values, just as you would a regular option set. Here’s a picture of what one might look like as you build it:When you’ve got your values entered, click Save & Close in the Option Set window. Then click Publish on the toolbar to publish out your new option set.Once created, how do you use it? In the demonstration below, I show it both for leads and opportunities and add the mapping afterwards, but here’s the step-by-step, using Leads as an example:In the site map, click Sales, and then click Leads. (You can do the customization from within an open form, or simply from the grid. In the steps that follow I’ll do it from the grid, but in the demo I do it from the form.)Click the Customize tab on the ribbon.In the Design group on the Customize tab, click Form. The form editor opens.At the right-hand side of the form editor is the new Field Explorer. At the very bottom is the New Field button; click that to create a new field.In the new field form, supply an appropriate value in Display Name, and use the default value for Name or change it as you’d like, along with any of the other options.In the Type section, select Option Set (picklist) in the Type drop-down list.Then – here’s the key thing – select Yes for the Use Existing Option Set field.Then you can select the option set created previously in the Option Set drop-down list (I almost said, “in the Option Set option set”, but that would sound dumb!) Here’s a screenshot of what it might look like as you’re creating a new option set field, pointing it to an existing Global Option Set:You can select a default value or use the “Unassigned Value” option. Then click Save and Close.The new option set will now be available in the Field Explorer, so locate it and drag & drop it out where it belongs on the form.You can run the form in “Preview” mode to see how it works, and then publish the form when ready so users see the new option set. Again, the whole point of this exercise is to be able to use it elsewhere, so you can repeat the same steps to add it to any other entity’s form(s) throughout your CRM.So that’s how global option sets work. Here’s a demonstration, using a simple “Business Line” global option set shared by the lead and opportunity forms, and mapped from qualified leads if they’re converted to opportunities.Merge Option Set Options Microsoft Dynamics CRM 2011 each new option set option will be initialized with an integer value assigned that includes an option value prefix. The option value prefix is a set of five digits prepended to the option value. An option value prefix is generated based on the solution publishers customization prefix but may be set to any value. The option value prefix helps differentiate new option set options created in the context of a specific solution publisher and reduces the opportunity for collisions of option values. Using the option value prefix is recommended but not required.A managed solution usually updates or adds options for option sets that are already in the organization, for example, the account Category or Industry option sets. When a managed solution modifies the options available in an option set, all the options defined in the managed solution are available in the organization. When the managed solution is uninstalled, the option set options will be returned to their original state.Use Managed Properties can control which of your managed solution components are customizable by using managed properties. You should allow as much customization as possible for those solution components that represent business entities. This lets organizations customize your solution to their requirements. Limit or eliminate customization of critical solution components that provide the core functionality of your solution so that you can predictably support and maintain it.Managed properties are intended to protect your solution from modifications that may cause it to break. Managed properties do not provide digital rights management (DRM), or capabilities to license your solution or control who may install it.Apply Managed PropertiesYou apply managed properties when the solution is unmanaged. The managed properties will take effect after you package the managed solution and install it in a different organization. After the managed solution is installed, the managed properties cannot be updated except by an update of the solution by the original publisher.Most solution components have a Managed Properties button when viewing a list of solution components. You can view or update the managed properties for a solution component when you click this button. To access managed properties for solutions that do not display this button, select Managed Properties from the More Actions drop-down list.By default, all custom solution components are customizable. To change the managed properties for a solution component, click the Managed Properties button in the toolbar for the solution component. Each solution component has a Can be customized (IsCustomizable) property. As long as this property is true, more properties specific to the type of solution component can be specified. If you set the IsCustomizable.Value property to false, after the solution is installed as a managed solution the solution component will not be customizable.Update Managed PropertiesAfter you release your managed solution, you may decide that you want to change the managed properties. You can only change managed properties to make them less restrictive. For example, after your initial release you can decide to allow customization of an entity.You update managed properties for your solution by releasing an update to your solution with the changed managed properties. Your managed solution can only be updated by another managed solution associated with the same publisher record as the original managed solution. If your update includes a change in managed properties to make them more restrictive, those managed property changes will be ignored but other changes in the update will be applied.Because the original publisher is a requirement to update managed properties for a managed solution, any unmanaged solution cannot be associated with a publisher that has been used to install a managed solution.Note - This means you will not be able to develop an update for your solution by using an organization where your managed solution is installed.Check Managed PropertiesUse the IsComponentCustomizableRequest to check whether a solution component is customizable. Alternatively, you can check the solution component properties but you must consider that the ultimate determination of the meaning depends on the values of several properties. Each solution component has an IsCustomizable property. When a solution component is installed as part of a managed solution, the IsManaged property will be true. Managed properties are only enforced for managed solutions. When checking managed properties to determine if an individual solution component is customizable, you must check both the IsCustomizable and IsManaged properties. A solution component where IsCustomizable is false and IsManaged is false, is customizable.Entity and attribute have more managed properties in addition to IsCustomizable. These managed properties are not updated if IsCustomizable is set to false. This means that in addition to checking the individual managed property, you must also check the IsCustomizable property to see if the managed property is being enforced.Managed Properties Using managed properties, the creator of a managed solution can control whether a solution component is customizable and which specific parts of it can be customized.Note - Managed properties must be set in an unmanaged solution. The managed property settings are only applied after the managed solution has been packaged and installed.The exact managed properties available depend on the type of solution component. The following screenshot shows the managed properties for a custom entity.By default, the managed property settings assume that any kind of solution component is fully customizable. Solution developers are encouraged to enable solution components in their solutions to be customizable. However, there are situations where the definition of a solution component must be ”locked down” to avoid potential breaking changes or to make future maintenance of the solution component easier.Use PowerShell to Call the Deployment Web Service PowerShell cmdletsThe following table lists the cmdlets available for use with Windows PowerShell.?Cmdlet Description Disable-CrmServerDisables the specified Microsoft Dynamics?CRM server.Disable-CrmOrganizationDisables the specified Microsoft Dynamics?CRM organization.Edit-CrmOrganizationEdits properties of the specified Microsoft Dynamics?CRM organization.Enable-CrmServerEnables the specified Microsoft Dynamics?CRM server.Enable-CrmOrganizationEnables the specified Microsoft Dynamics?CRM organization.Get-CrmOrganizationRetrieves one or all of the organizations in the deployment of Microsoft Dynamics CRM.Get-CrmOperationStatusRetrieves the status on asynchronous operations sitting in the deferred operation queue for Microsoft Dynamics?CRM.Get-CrmSettingRetrieves a Microsoft Dynamics?CRM deployment setting object. For a list of the settings objects, see Deployment Entities and Deployment Configuration Settings.Get-CrmServerRetrieves a server object for one or all Microsoft Dynamics?CRM servers in a deployment.Get-CrmLicensePropertyRetrieves the license properties object for Microsoft Dynamics?CRM.Get-CrmAdvancedSettingGets an advanced setting value for Microsoft Dynamics?CRM. The metadata specify that the setting is readable in order to retrieve the specified value.Get-CrmAccessLicenseRetrieves the server licensing and CAL licensing information for the deployment of Microsoft Dynamics?CRM.Get-CrmDeploymentAdministratorRetrieves the deployment administrators for the Microsoft Dynamics?CRM deployment.Get-CrmCertificateRetrieves the certificate information for Microsoft Dynamics?CRM. The certificate object contains the public key of the service bus signing certificate.Import-CrmOrganizationInitiates the process to import a Microsoft Dynamics?CRM organization database into the deployment.New-CrmOrganizationInitiates the process to create a new organization in the Microsoft Dynamics?CRM deployment.New-CrmDeploymentAdministratorCreates a new deployment administrator for the Microsoft Dynamics?CRM deployment.Remove-CrmOrganizationDeletes the specified organization from the Microsoft Dynamics?CRM deployment.Remove-CrmServerDeletes the specified server from the Microsoft Dynamics?CRM deployment.Remove-CrmCertificateRemoves the specified certificate from Microsoft Dynamics?CRM.Remove-CrmDeploymentAdministratorRemoves the specified deployment administrator from the Microsoft Dynamics?CRM deployment.Set-CrmProductKeySets the product key for the Microsoft Dynamics?CRM deployment.Set-CrmSettingSets the specified Microsoft Dynamics?CRM deployment wide settings. For a list of the settings objects, see Deployment Entities and Deployment Configuration Settings.Set-CrmAdvancedSettingSets an advanced setting value for Microsoft Dynamics?CRM. The metadata specify that the setting is writable in order to set the specified value.Set-CrmCertificateCreates a certificate record or sets the properties of an existing certificate record in the Microsoft Dynamics?CRM configuration database.Update-CrmOrganizationUpdates the specified Microsoft Dynamics?CRM organization with the latest software updates or upgrades the organization from Microsoft Dynamics CRM 4.0 to Microsoft Dynamics CRM 2011.How to Find the Entity Type Code can use a simple OnLoad script to determine the type code for an entity. This is particularly useful for determining the type code for a custom entity. This sample assumes that you have a custom entity called Bank Account and the schema name is new_bankaccount.Add a Script to run when a form is loadedIn the Navigation Pane for the Web application, click Settings, click Customization, and then click Customize Entities.Open the Bank Account entity, and then click Forms and Views.Click Form, and then on the Actions toolbar, click More Actions, and then click Edit.Click Form Properties.Click onLoad, and then click Edit.On the Details tab, select the Event is enabled check box to enable the event, and in the text box, enter the body of the script shown below.alert("This is the type code: " + crmForm.ObjectTypeCode);Test your scriptOn the Preview menu, click Create Form.Your script is executed when the form loads.To close the Preview form, on the File menu, click Close.Click OK to close the Form Properties dialog box.Click Close to close the form, discarding your changes because you do not want to see this alert all the time.Click Close to close the entity.Entity Options that can’t be disabledCreate Custom Get Started Pane Content Dynamics CRM 2011 and Microsoft Dynamics CRM Online provide a get started pane above the main grids for several entities. You can create custom get started pane content for your custom entities or replace existing content with content customized for your organization.Note - Customizing the application Help content for on-premises Microsoft Dynamics CRM 2011 is no longer supported. Because of this restriction, customizing the Getting Started pane is a useful workaround because it allows you to provide links to custom Help, which is readily visible in the grid view.Get Started PaneThe default content for the get started pane is located with the Help content. The content is exposed in the application through attributes in the <SubArea> (SiteMap) element for specific entities. This content cannot be included in a solution and, therefore, cannot be transported with a solution.The method to make custom get started pane content that can be included in a solution is to create Web resources to be presented in the get started pane, and to modify the SiteMap so that your custom content is presented for entities you select instead of existing get started pane content.Get Started Pane TemplateTo help you create custom get started pane content, the Microsoft Dynamics CRM SDK includes a set of files that replicate the appearance and behavior of the get started pane pages. There is also a Readme.docx file that has instructions. These files are located at SDK\Resources\GetStartedPaneTemplate.Web Resources for Microsoft Dynamics CRMWeb resources are virtual files that are stored in the Microsoft Dynamics CRM database and that you can retrieve by using a unique URL address.Tip - The Developer Toolkit for Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online provides a streamlined experience for deployment of web resources in Visual Studio 2010. For more information, see Create and Deploy Web Resources Using the Developer Toolkit.Capabilities of Web ResourcesWeb resources represent files that can be used to extend the Microsoft Dynamics CRM web application such as html files, JScript, and Silverlight applications. You can use web resources in form customizations, the SiteMap, or the application ribbon because they can be referenced by using URL syntax.The URL syntax for web resources allows for relative path references. With your development tools, you can create a group of interdependent files on a development server by using file types compatible with web resources. Then, if you use a consistent naming convention and relative path references, the website will function after you upload all the files into Microsoft Dynamics CRM.Because web resources are stored in Microsoft Dynamics CRM and are solution components, they can be easily exported and installed to on-premises deployments of Microsoft Dynamics CRM or to Microsoft Dynamics CRM Online. Web resources are also available to users of Microsoft Dynamics CRM for Microsoft Office Outlook with Offline Access when offline because they are synchronized with the user's data.You can use the form editor to add and configure form-enabled web resources into your entity forms.Because web resources are stored as records in the database, they can be managed programmatically by using the standard techniques to create, retrieve, and update records. Text-based web resources (JScript, CSS, XML, XSL, and HTML) can be edited and saved in the application.Limitations of Web ResourcesThere is no type of web resource that supports the capabilities of an (.aspx) page to execute code on the server. Web resources are limited to static files or files that are processed in the browser. A web resource can contain code that is processed in the browser to execute web service calls to interact with Microsoft Dynamics CRM data. For more information, see Use Web Service Data in Web Resources (REST and SOAP Endpoint),Web resources are only available by using the Microsoft Dynamics CRM web application security context. Only licensed Microsoft Dynamics CRM users who have the necessary privileges can access them.Size LimitationsThe maximum size of files that can be uploaded is determined by the Organization.MaxUploadFileSize property. This property is set in the E-mail tab of the System Settings in the application. This setting limits the size of files that can be attached to email messages, notes, and web resources. The default setting is 5 MB.Web Resource TypesYou can use ten file formats to create web resources. The following table lists each file format, the allowed file extensions, and the type value that you use for each.Referencing Web ResourcesThere are several methods that you can use to reference web resources.NoteWhen possible, use the $webresource directive. Only references that use the $webresource directive in SiteMap or ribbon commands will establish dependencies. Dependencies are not created when web resources reference each other.To display a Silverlight web resource outside an entity form or chart, create an HTML web resource to be the host page for the Silverlight web resource. Then use the $webresource: directive to open the HTML web resource.$webresource DirectiveYou should always use the $webresource directive when referencing a web resource from a ribbon control or from a SiteMap sub area. Use the $webresource directive anywhere the XML allows a URL value. The following sample shows how to use it.$webresource:<name of Web Resource>Note - When using the $webresource directive, Microsoft Dynamics CRM will create or update solution dependencies.Relative URLWhen referencing a web resource from areas that do not support using the $webresource: directive, a relative URL can be used. To enable this, we recommend that you use a consistent naming convention for the web resources that reflect a virtual file structure. The solution publisher’s customization prefix will always be included as a prefix to the name of the web resource. This can represent a virtual ”root” folder for all web resources added by that publisher. You can then use the forward slash character (/) to simulate a folder structure that will be honored by the web server.From another web resource, you should always use relative URLs to reference each other. For example, for the webpage web resource new_/content/contentpage.htm to reference the CSS web resource new_/Styles/styles.css, create the link as follows:Note - Do not use a relative URL using the WebResources folder as the root path for the URL. For example, do not use this: /WebResources/<name of web resource>. When a user belongs to more than one organization on a server, this path will always refer to the users default organization. If the user is not using their default organization and the expected web resource is not included in the user’s default organization, a “File Not Found” error occurs even though the web resource does occur in the organization the user is currently working in.Full URLThe following sample shows the style of URL you can use to view web resources:The application will process this URL and return the file that contains the latest version of the web resource. This URL will look like this:The GUID value is updated when you publish customizations and ensures that the browser uses the latest cached version of the web resource. Because of this, use a relative path to a web resource or to the $webresource Directive (when possible) because the GUID value will automatically be included.The following sample shows a URL for Microsoft Dynamics CRM Online, where MyOrganization is the name of your organization, and new_/test/test.htm is the name of the web resource:Note - Including the ‘/’ character and a file name extension in the name of the web resource is an optional best practice.The following sample shows a URL for on–premises Microsoft Dynamics CRM, where myServer is the server name:When you write code to reference a web resource that will need to work for either Microsoft Dynamics CRM Online or on–premises Microsoft Dynamics CRM, you should use the getServerUrl function.Sample: Pass Multiple Values to a Web Resource Through the Data Parameter Web page (HTML) or Silverlight Web resource page can only accept a single custom parameter called data. To pass more than one value within the data parameter, you need to encode the parameters and decode the parameters within your page.The page below represents a technique to pass the additional values within a single parameter and then process them within your Web resource. This page is available in the downloadable files for the SDK at sdk\samplecode\js\webresources\showdataparams.htmSample HTML Web ResourceThe HTML code below represents a Web page (HTML) Web resource that includes a script that defines three functions:getDataParam: Called from the body.onload event, this function retrieves any query string parameters passed to the page and locates one named data.parseDataValue: Receives the data parameter from getDataParam and builds a DHTML table to display any values passed within the data parameter.Note - All characters included in the query string will be encoded using the encodeURIComponent method. This function uses the JScriptdecodeURIComponent method to decode the values passed.noParams: Displays a message when no parameters are passed to the page. <script language="jscript" type="text/jscript"> function getDataParam() { //Get the any query string parameters and load them //into the vals array var vals = new Array(); if (location.search != "") { vals = location.search.substr(1).split("&"); for (var i in vals) { vals[i] = vals[i].replace(/\+/g, " ").split("="); } //look for the parameter named 'data' var found = false; for (var i in vals) { if (vals[i][0].toLowerCase() == "data") { parseDataValue(vals[i][1]); found = true; break; } } if (!found) { noParams(); } } else { noParams(); } } function parseDataValue(datavalue) { if (datavalue != "") { var vals = new Array(); var message = document.createElement("p");message.innerText = "These are the data parameters values that were passed to this page:"; document.body.appendChild(message); vals = decodeURIComponent(datavalue).split("&"); for (var i in vals) { vals[i] = vals[i].replace(/\+/g, " ").split("="); } //Create a table and header using the DOM var oTable = document.createElement("table"); var oTHead = document.createElement("thead"); var oTHeadTR = document.createElement("tr"); var oTHeadTRTH1 = document.createElement("th"); oTHeadTRTH1.innerText = "Parameter"; var oTHeadTRTH2 = document.createElement("th"); oTHeadTRTH2.innerText = "Value"; oTHeadTR.appendChild(oTHeadTRTH1); oTHeadTR.appendChild(oTHeadTRTH2); oTHead.appendChild(oTHeadTR); oTable.appendChild(oTHead); var oTBody = document.createElement("tbody"); //Loop through vals and create rows for the table for (var i in vals) { var oTRow = document.createElement("tr"); var oTRowTD1 = document.createElement("td"); oTRowTD1.innerText = vals[i][0]; var oTRowTD2 = document.createElement("td"); oTRowTD2.innerText = vals[i][1]; oTRow.appendChild(oTRowTD1); oTRow.appendChild(oTRowTD2); oTBody.appendChild(oTRow); } oTable.appendChild(oTBody); document.body.appendChild(oTable); } else { noParams(); } } function noParams() { var message = document.createElement("p");message.innerText = "No data parameter was passed to this page"; document.body.appendChild(message); } </script>Use the REST Endpoint for Web Resources REST endpoint for web resources provides an alternative interface to work with Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online data. You can use the REST endpoint to execute HTTP requests by using a service that is based on a Uniform Resource Identifier (URI). The REST endpoint is only available for use by JScript and Silverlight web resources.What Is REST?REST represents Representational State Transfer. REST is an architectural style in which every resource is addressed by using a unique URI. In Microsoft Dynamics CRM, a resource can be an entity collection or a record.REST works the way the Internet works. You interact with resources by using HTTP verbs such as GET, POST, MERGE, and DELETE. Various libraries can be used to process the HTTP requests and responses. REST provides a standard interface that you can use with any programming language. REST allows for either synchronous or asynchronous processing of operations. The capability to perform asynchronous operations makes REST well suited for AJAX and Silverlight clients.Microsoft Dynamics CRM Implementation of RESTMicrosoft Dynamics CRM 2011 uses the Windows Communication Foundation (WCF) Data Services framework to provide an Open Data Protocol (OData) endpoint that is a REST-based data service. This endpoint is called the Organization Data Service. In Microsoft Dynamics CRM, the service root URI is:[Your Organization Root URL]/xrmservices/2011/organizationdata.svcOData sends and receives data by using either ATOM or JavaScript Object Notation (JSON). ATOM is an XML-based format usually used for RSS feeds. JSON is a text format that allows for serialization of JavaScript objects.To provide a consistent set of URIs that corresponds to the entities used in Microsoft Dynamics CRM, an Entity Data Model (EDM) organizes the data in the form of records of "entity types" and the associations between them.OData Entity Data Model (EDM)The Microsoft Dynamics CRM EDM is described in an OData Service Metadata document available at the following path:[Your Organization Root URL]/xrmservices/2011/organizationdata.svc/$metadataThis XML document uses conceptual schema definition language (CSDL) to describe the available data. You will download this document and use it to generate typed classes when you use managed code with Silverlight or as a reference for available objects when you use JScript.LimitationsThe REST endpoint provides an alternative to the WCF SOAP endpoint, but there are currently some limitations.Only Create, Retrieve, Update, and Delete actions can be performed on entity records.Messages that require the Execute method cannot be performed.Associate and disassociate actions can be performed by using navigation properties.Authentication is only possible within the application.Use of the REST endpoint is limited to JScript libraries or Silverlight web resources.The OData protocol is not fully implemented. Some system query options are not available.For more information, see OData System Query Options Using the REST Endpoint.You cannot use late binding with managed code with Silverlight.You will typically use WCF Data Services Client Data Service classes while programming by using managed code for the REST endpoint with Silverlight. These classes allow for early binding so that you get strongly typed classes at design time. The only entities available to you are those defined in the system when the classes were generated. This means that you cannot use late binding to work with custom entities that were not included in the WCF Data Services Client Data Service classes when they were generated.Customize Entity Metadata are defined by metadata. By defining or changing the entity metadata, you can control the capabilities of an entity. To view the metadata for your organization, use the metadata browser provided in the SDK download. For more information, see Browse the Metadata for Your Organization.Options Available When Creating a Custom EntityThe following table lists the options that are available when you create a custom entity. You can only set these properties when you create a custom entity.Enable Entity CapabilitiesThe following table lists entity capabilities. You can set these capabilities when you create an entity or you can enable them later. Once enabled, these capabilities cannot be disabled.Editable Entity PropertiesThe following table lists entity properties that you can edit. Unless a managed property disallows these options, you can update them at any time.Entity Metadata MessagesThe following table lists the messages that you can use to create, retrieve, update and delete entity metadata.Enable Document Management for Entities management can be enabled for those entities in Microsoft Dynamics CRM that can be customized. By default, document management is enabled only for the following entities in a new installation of Microsoft Dynamics CRM:AccountKbArticleLeadOpportunityProductQuoteSalesLiteratureTo enable document management for an entity, set the EntityMetadata.IsDocumentManagementEnabled attribute value to true. To disable document management for an entity, set the value to false.You must have the System Administrator or System Customizer role to enable or disable document management for an entity.Introduction to SharePoint Integration with Microsoft Dynamics CRM Server integration enables document management capabilities in Microsoft Dynamics CRM. There are two aspects to SharePoint Server integration:Setting up SharePoint integration. A system administrator sets up a SharePoint Server environment. The Microsoft Dynamics CRM administrator (a user who has the SharePoint Site Collection Administrator role) selects the Microsoft Dynamics CRM entities for which to enable the document management feature, and specifies the target SharePoint Server. As part of specifying the target server, the Microsoft Dynamics CRM administrator specifies the SharePoint Server site collection or the SharePoint Server site URL by using the SharePointSite entity.Creating and managing SharePoint document location records. Microsoft Dynamics CRM users can create and manage SharePoint Server document location records after SharePoint Server integration is enabled. You can create and manage SharePoint Server document location records by using the SharePointDocumentLocation entity. Microsoft Dynamics CRM also allows for the automatic creation of folders on the server that is running SharePoint Server for entity records under certain conditions. However, automatic creation of folders cannot be done through the Microsoft Dynamics CRM SDK.SharePoint Storage ConceptsBy using SharePoint Server document management capabilities, you can control the life cycle of documents in your organization: how they are created, reviewed, published, and disposed or archived. SharePoint Server uses a hierarchical storage model to store and manage documents. Some of the SharePoint Server storage concepts that you should know are as follows: Site Collection, Site, Document Library, and Document Folder. These storage objects provide the framework for the content management infrastructure that SharePoint Server provides. For more information about these storage concepts, see Storage levels: content storage benefits and considerations.Supported SharePoint Server VersionsSharePoint Server integration is supported for SharePoint Server 2010, SharePoint Server 2010 Online, SharePoint Server 2007 and SharePoint Server 2007 Online.For automatic creation of location records on SharePoint Server, you must use SharePoint Server 2010 and the Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010 must be installed on the target server that is running SharePoint Server. For more information about this component, see below.If you are using SharePoint Server 2007, the documents from SharePoint Server are displayed in an IFRAME, and folders cannot be automatically created on the server that is running SharePoint Server.Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010 is a SharePoint Server solution package file (.wsp) that must be installed (uploaded and activated) on the SharePoint Server site collection on the target SharePoint Server 2010 server to enable the following:View documents that are stored on the SharePoint Server 2010 server in a Microsoft Dynamics CRM List view.Automatic creation of the document locations on the SharePoint Server 2010 server.You can download and install Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010 from the Microsoft Download Center. To install this component, you must have SharePoint Server site collection administrator privileges on the target SharePoint Server 2010 server.SharePoint Integration is Enabled by DefaultWhen you install Microsoft Dynamics CRM, SharePoint Server integration is enabled by default. However, for a richer user experience, you can do the following:Install Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010 server.Enable Document Management for Entities: Select the entities in Microsoft Dynamics CRM for which you want to create and manage documents on SharePoint Server. For more information, see Enable Document Management for Entities.When you enable document management for an entity in Microsoft Dynamics CRM, a Documents link under the Common group in the left pane is added for the all entity records in the Microsoft Dynamics CRM Web application. You can use the Documents link to create or manage SharePoint Server location records for the entity record.Specify the target SharePoint server: Specify the URL of a site or site collection on the SharePoint Server 2010. This URL is used to automatically create folders and document libraries on SharePoint.Integrate SharePoint with Microsoft Dynamics CRM SharePoint Server is a collaboration and content management application that simplifies how people store, find, and share information. It helps people to collaborate effectively by having secure access to documents and information that they require to make business decisions.Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online now support integration with SharePoint that enables you to use the document management capabilities of SharePoint from within Microsoft Dynamics CRM. It enables you to store and manage documents in the context of a Microsoft Dynamics CRM record on a server that is running SharePoint, and leverage the SharePoint infrastructure to share, manage, and collaborate efficiently. Because the documents are stored on a server that is running SharePoint, non-Microsoft Dynamics CRM users can directly access the documents on the server, provided they have the appropriate privileges on the server that is running SharePoint Server to do so.SharePoint integration with Microsoft Dynamics CRM enables you to:Create, upload, view, and delete documents on a server that is running SharePoint from within Microsoft Dynamics CRM.Use the SharePoint document management abilities within Microsoft Dynamics CRM, such as checking the document in and out, viewing version history, and changing document properties. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download