The SDK team has released an update to our beloved SDK documentation.  You can download it here.

There are lots of new and interesting things in this release. Here is a summary of the changes:

New and updated topics

Description of changes

SDK\Bin

Updated the assemblies for Microsoft Dynamics CRM 2011 Update Rollup 10. For on-premises customers, updates and hotfixes can be installed automatically from Microsoft Update. You can also search for updates on the Microsoft Download Center. For online customers, update rollups will be deployed automatically to your organization.

Form Scripting Quick Reference

Added a new topic to provide short, simple explanations and examples of the Xrm.Page object methods on a single page.

SDK\SampleCode\CS\Client\Ribbon\

ExportRibbonXml\ExportRibbonXml.cs

Updated the hard-coded list of entities that support the ribbon to include the following entities: goalrollupquery, rollupfield, postfollow, and site.

SDK\SampleCode\CS\Silverlight\
CrmODataSilverlight\
CrmODataSilverlight\
DataServiceContextExtensions.cs

Updated this class to include a call to entity.ClearChangedProperties(); at the end of the OnWritingEntity event handler.

SDK\SampleCode\CS\Silverlight\

RESTRetrieveMultipleSilverlight

Added this sample solution to replace the SDK/SampleCode/CS/Silverlight/RESTEndpointPagingSilverlight solution for Sample: Retrieve Multiple Records Using the REST Endpoint with Silverlight. The sample was updated to meet accessibility standards and the name of the solution was changed to more accurately reflect what the sample does.

SampleCode\CS\WsdlBasedProxies\
Readme.docx
SampleCode\VB\WsdlBasedProxies\
Readme.docx

Added a note to explain that the Microsoft Dynamics CRM Online version of this sample only supports the Windows Live ID identity provider. The Office 365 identity provider is not supported in the Microsoft Dynamics CRM Online sample at this time.

Best Practices for Developing with Microsoft Dynamics CRM 2011

Updated the information on service channel allocation performance.

Choose your Development Style for Managed Code for Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online

Added a new topic that describes the choices of tools and classes you can use when you write managed code and provides information to help you decide what is best for your needs.

Create Accessible Web Resources

Added a new topic to provide an introduction to creating web resources that can provide equivalent functionality for all users so that people with disabilities will be able to use your web resources.

Build Queries with QueryExpression

Use the FilterExpression Class

Added information about quick find query optimizations and a new property in the FilterExpression class. This property is used by the platform to improve performance of quick find queries.

Customize Entity and Attribute Mappings

Updated the list of requirements for attribute maps in the Using Entity and Attribute Mapping Data section to show that PartyList attributes cannot be mapped.

Design Considerations for Read-Only Forms

Updated the topic with changes to read-optimized forms.

GetGlobalContext Function

Added a note about some global application event handlers that are included in an HTML web resource when you add a reference to the ClientGlobalContext.js.aspx page.

Helper Code: ServerConnection Class

SDK\SampleCode\CS\
CrmServiceHelpers.cs
SDK\SampleCode\VB\
CrmServiceHelpers.vb
SDK\SampleCode\Readme.docx

Improved the authentication helper code with the following new features:

· Added automatic refresh of the security token.

· Added code to save the user’s logon credential by using the Windows Credential Manager.

· Add a generic service proxy creation method named GetProxy(). This method supports both the Organization and Discovery web services.

Important: All applications that use this helper code must now include a reference to the Windows Identity Foundation (Microsoft.IdentityModel.dll) assembly in the project.

Implement Single Sign-on from an ASPX Webpage or IFRAME

Added information about enabling IFRAME communication across domains.

Open Forms, Views, and Dialogs with a URL

Updated this topic with examples using Xrm.Utility.openEntityForm.

Ribbon XML Reference

Added additional information about elements with an Id attribute that the values used must be globally unique. When an element is applied to multiple entities, the {!EntityLogicalName} token should be used to generate unique ID values for each entity.

Sample: Associate and Disassociate Records Using the REST Endpoint with JavaScript
Sample: Create Dependent OptionSets (Picklists)
Sample: Create, Retrieve, Update and Delete Using the REST Endpoint with JavaScript
Sample: Create, Retrieve, Update and Delete Using the REST Endpoint with JavaScript and jQuery
Sample: Import Files as Web Resources
Sample: Pass Multiple Values to a Web Resource Through the Data Parameter
Sample: REST Endpoint jQuery Contact Editor
Sample: Retrieve Entity Metadata Using JavaScript
Sample: Retrieve Multiple Records Using the REST Endpoint with JavaScript
Walkthrough: Use the SOAP Endpoint for Web Resources with JavaScript
Xrm.Page Sample Libraries:
Sample: SDK.AttributeSamples.js
Sample: SDK.AttributesCollectionSamples.js
Sample: SDK.ContextSamples.js
Sample: SDK.ControlSamples.js
Sample: SDK.EntitySamples.js
Sample: SDK.FormItemSamples.js
Sample: SDK.FormSelectorSamples.js
Sample: SDK.NavItemSamples.js
Sample: SDK.NavItemSamples.js
Sample: SDK.NavItemsCollectionSamples.js
Sample: SDK.SectionSamples.js
Sample: SDK.TabCollectionSamples.js
Sample: SDK.TabSamples.js
Sample: SDK.UISamples.js

Updated samples to work correctly for browsers to be supported in a later release.

Sample: Associate and Disassociate Records Using the REST Endpoint with JavaScript
Sample: Create Dependent OptionSets (Picklists)
Sample: Create, Retrieve, Update and Delete Using the REST Endpoint with JavaScript
Sample: Create, Retrieve, Update and Delete Using the REST Endpoint with JavaScript and jQuery
Sample: Create, Retrieve, Update and Delete Using the REST Endpoint with Silverlight
Sample: Import Files as Web Resources
Sample: Pass Multiple Values to a Web Resource Through the Data Parameter
Sample: REST Endpoint jQuery Contact Editor
Sample: REST Endpoint Silverlight Contact Editor
Sample: Retrieve Entity Metadata Using JavaScript
Sample: Retrieve Multiple Records Using the REST Endpoint with JavaScript
Sample: Retrieve Multiple Records Using the REST Endpoint with Silverlight
Sample: SDK.AttributeSamples.js
Sample: SDK.AttributesCollectionSamples.js
Sample: SDK.ControlSamples.js
Sample: SDK.FormItemSamples.js
Sample: SDK.NavItemSamples.js
Sample: SDK.SectionSamples.js
Sample: SDK.TabSamples.js
Sample: SDK.UISamples.js
Walkthrough: Use the SOAP Endpoint for Web Resources with Silverlight
Walkthrough: Use the SOAP Endpoint for Web Resources with JavaScript

Reviewed and updated all samples with user interface elements to meet standards for accessibility to ensure that people with disabilities can run the samples. This also demonstrates good practices for developing accessible code.

Sample: Retrieve Multiple Records Using the REST Endpoint with JavaScript

Sample: Associate and Disassociate Records Using the REST Endpoint with JavaScript

Changed the implementation of these samples so that they use the SDK.REST.js library.

Simplified Connection to Microsoft Dynamics CRM

Sample: Simplified Connection Quick Start using Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online

SampleCode\CS\QuickStart\
SimplifiedConnection.cs
SampleCode\VB\QuickStart\
SimplifiedConnection.vb

Added a new sample that demonstrates how to connect to the web services without using helper code. Added a security note regarding the use of the app.config and web.config files.

Sample: Set the State of a Workflow

SampleCode\CS\Process\Workflows\

SetStateWorkflow.cs
SampleCode\VB\Process\Workflows\

SetStateWorkflow.vb

Added a new sample that shows how to change the state of a workflow.

Set Field Values Using Parameters Passed to a Form

Updated this topic to refer to the Xrm.Utility.openEntityForm function to show an easier way to set form values for Microsoft Dynamics CRM Online organizations and for Microsoft Dynamics CRM 2011 organizations that have Microsoft Dynamics CRM 2011 Update Rollup 8 installed.

Solution Tools for Team Development

SDK\Bin\SolutionPackager.exe

Added information about how to manage solution files in source code control using the new SolutionPackager tool.

Upgrade Scripts to Microsoft Dynamics CRM 2011

Added links to blog posts detailing unsupported scripts that can be expected to break in a future version and tools to help detect unsupported scripts.

Use an IFRAME and Web Resource Controls on a Form

Added new information about the changes option to restrict cross-frame scripting. The Select Whether to Restrict Cross-frame Scripting section includes information about how this will be applied for different browsers. It also includes a subsection that introduces the use of window.postMessage to enable communication between the form and content on another domain.

Use the Early Bound Entity Classes in Code

Added a tip about using more than one set of early-bound entity types in an application.

Use PowerShell to Call the Deployment Web Service

Added examples showing how to call Windows PowerShell cmdlets.

Use JavaScript with Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online

Updated the topic to include the following sections: Write JavaScript for Multiple Browsersas well as new information about avoiding the use of unsupported methods within the JavaScript Programming Best Practices section.

Use Metadata to Generate Entity Diagrams in Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online

Added a new topic that describes the metadata diagram tool for creating entity model diagrams.

Walkthrough: Connect Using Java for Microsoft Dynamics CRM Online

Added a new walkthrough to demonstrate, for Microsoft Dynamics CRM Online, how to authenticate and do basic operations from Java.

What's New for Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online

Highlighted the new features for this release such as additions to activity feeds.

Xrm.Utility Reference

Added a new topic for the Xrm.Utility.openEntityForm and Xrm.Utility.openWebResource functions.