Bookcase: Silverlight and XRM


Microsoft Regional Director & MVP David Yack has a new book out called Silverlight + XRM. It covers Microsoft Dynamics CRM 2011 as an application framework for building business applications. In it he teaches the reader how to use Microsoft Silverlight to extend and customize the CRM experience. Microsoft Silverlight is a free web-browser plug-in that enables interactive media experiences, rich business applications and immersive mobile apps.

I don’t know about you, but I like to review the table of contents before I buy a book. Here is the table of contents:

Chapter 1 – Using Silverlight with CRM 2011: Silverlight support is now built-in with Microsoft Dynamics CRM 2011 and can be used to build rich user experiences. In this chapter we are going to look at the different ways Silverlight can be used with in Microsoft Dynamics CRM 2011.


Chapter 2 – Getting Started: Once you’ve decided on Silverlight, the first order of business is getting your development environment ready. We cover the tools that you will find useful along with walking you through some of the Silverlight application basics. By the end of this chapter you will have created your first Silverlight application and uploaded it to CRM as a web resource.


Chapter 3 – XAML 101 and Basic Layout: Extensible Application Markup Language (XAML) is a XML based declarative language. Silverlight uses XAML as a way to define its user interface elements. We will explore the basics of how XAML is used in Silverlight. The core to any use of XAML are the layout controls that help structure the visual appearance of the application and act as containers for the child controls. We will then explore the basic layout techniques and further build on the understanding of how XAML is used to define the user interface of a Silverlight application.


Chapter 4 – Silverlight Controls: This chapter will explore the common controls from both the SDK and the Silverlight Toolkit and show basic examples of using the controls. Focus in this chapter is on getting you familiar with the commonly used controls.


Chapter 5 –Data Binding Basics: Silverlight offers a rich capability to declaratively bind data to controls. Working with data is the cornerstone of most business applications. This chapter builds on the prior examples starting with explaining how to enable classes to be data binding ready. DataContext, Value Converters and using DataTemplates will also be covered.


Chapter 6 – Application Navigation: The Navigation framework provided by Silverlight allows applications to appear to have multiple pages. In this chapter we will talk about the basic features of navigation including how to route multiple requests to the same view. Application navigation can also provide to store multiple CRM user interface elements in a single Web Resource.


Chapter 7 – Out of Browser Support: Silverlight applications starting with Silverlight 3 can now run out of the browser (OOB). When executing in this mode they run as standalone applications and update automatically when the server version changes. In this chapter we are going to explore all the OOB features including the new elevated trust features of Silverlight 4.


Chapter 8 – Application Composition with MEF: Managed Extensibility Framework (MEF) is a new feature of Silverlight 4 allowing applications to be composed of parts. MEF allows applications to be more loosely coupled and handle dynamically adding/configuring components at runtime.


Chapter 9 – Other Silverlight Business Application Features: Silverlight has a number of other features that become important once you understand the fundamentals. In this chapter we will cover some of the miscellaneous features that didn't fit in other chapters but are still important to understand.


Chapter 10 – Enhancing the User Experience: User experience is about more than just changing the color of a button to not be grey. We set the stage for thinking beyond just basic style and how factoring in other aspects of the user experience is important. We will also dive into Silverlight style basics including resources, control templates and visual state manager. Finally, Blend can be the developer’s friend for certain tasks. This chapter wraps up with a walk through of some basic Blend capabilities that developers will find useful.


Chapter 11 – Discovering SketchFlow: SketchFlow is a feature of Microsoft Expression Blend that is focused on the early stages of application creation. SketchFlow helps bring ideas to life through sketches built in a working Silverlight player that users can kick the tires on and provide feedback.


Chapter 12 –Interacting with CRM Form: Silverlight content can interact with the CRM Form data and behaviors using the HTML Page Bridge. In this chapter we are going to look at how we can build Silverlight content that takes advantage of the data and behaviors of the parent hosting page.


Chapter 13 –OData Basics: Open Data Protocol enables Silverlight controls to work with the data stored in CRM. In this chapter we are going to gain a basic understanding of the protocol and how to use it with Silverlight applications. Using OData, Silverlight applications can integrate both CRM data and external data sources.


Chapter 14 –OData Beyond the Basics: Building on the basic understanding of OData to look at more complex queries and modification scenarios. Additionally, we will cover how you can leverage the CRM metadata from the Silverlight client.


Chapter 15 – Using the WCF Service: Using the WCF Service developers can work with data and services provided by CRM that are not accessible from the OData service. This chapter provides the steps required to start using the WCF Service and also introduce the helpers included as part of the book framework to make it easier to use.


Chapter 16 - Application Architectures: Here we will discuss how to establish architecture for building Silverlight applications. As part of this discussion we will explore some of the design patterns and concepts that will influence Silverlight applications. This will include discussions about presentation separation concepts like View Model (also commonly referred to as MVVM).


Chapter 17 –Silverlight Debugging: Now that you’re building applications it’s time to figure out how to effectively troubleshoot them and track down any problems. In this chapter we will cover basics of Visual Studio debugging for Silverlight as well as some of the tools that can be helpful in tracking down problems with Silverlight applications.