A SharePoint Developer Introduction. Hands-On Lab. Lab Manual HOL8 Using Silverlight with the Client Object Model C#

Similar documents
A SharePoint Developer Introduction. Hands-On Lab. Lab Manual SPCHOL306 Using Silverlight with the Client Object Model VB

A SharePoint Developer Introduction

Developer Walkthroughs

Customizing Remote Desktop Web Access by Using Windows SharePoint Services Stepby-Step

Overview of Microsoft Office 365 Development

Pipeliner CRM Phaenomena Guide Sales Pipeline Management Pipelinersales Inc.

Pipeliner CRM Phaenomena Guide Add-In for MS Outlook Pipelinersales Inc.

Lab Answer Key for Module 6: Configuring and Managing Windows SharePoint Services 3.0. Table of Contents Lab 1: Configuring and Managing WSS 3.

Deploying the Workspace Application for Microsoft SharePoint Online

Integrating Business Portal 3.0 with Microsoft Office SharePoint Portal Server 2003: A Natural Fit

Pipeliner CRM Phaenomena Guide Getting Started with Pipeliner Pipelinersales Inc.

Lab 02 Working with Data Quality Services in SQL Server 2014

Pipeliner CRM Phaenomena Guide Sales Target Tracking Pipelinersales Inc.

Pipeliner CRM Phaenomena Guide Opportunity Management Pipelinersales Inc.

Creating and Deploying Active Directory Rights Management Services Templates Step-by-Step Guide

Windows Azure Pack Installation and Initial Configuration

Lab 05: Deploying Microsoft Office Web Apps Server

Pipeliner CRM Phaenomena Guide Administration & Setup Pipelinersales Inc.

Pipeliner CRM Phaenomena Guide Lead Management Pipelinersales Inc.

Lab Answer Key for Module 9: Active Directory Domain Services. Table of Contents Lab 1: Exploring Active Directory Domain Services 1

Migrating Active Directory to Windows Server 2012 R2

EventTracker: Support to Non English Systems

Microsoft Corporation. Status: Preliminary documentation

Mindjet on-premise Installation Instructions for Microsoft SharePoint 2007

Lab Answer Key for Module 11: Managing Transactions and Locks

Hyper-V Server 2008 Setup and Configuration Tool Guide

SELF SERVICE RESET PASSWORD MANAGEMENT BACKUP GUIDE

Managing Linux Servers with System Center 2012 R2

SQL Server 2005 Reporting Services (SSRS)

Lab 06: Experiencing Microsoft Lync Server 2013 Collaboration Features

Improving Performance of Microsoft CRM 3.0 by Using a Dedicated Report Server

Business Portal for Microsoft Dynamics GP. Key Performance Indicators Release 10.0

User Guide. Live Meeting. MailStreet Live Support:

SQL Server 2014 BI. Lab 04. Enhancing an E-Commerce Web Application with Analysis Services Data Mining in SQL Server Jump to the Lab Overview

K2 Designer for SharePoint Hands-On Exercise - Leave Request process

Introduction to DirectAccess in Windows Server 2012

Hands-On Lab: WSUS. Lab Manual Expediting WSUS Service for XP Embedded OS

Active Directory Provider User s Guide

Office Language Interface Pack for Farsi (Persian) Content

Technical Brief for Windows Home Server Remote Access

Pipeliner CRM Phaenomena Guide Importing Leads & Opportunities Pipelinersales Inc.

Windows BitLocker Drive Encryption Step-by-Step Guide

CRM to Exchange Synchronization

SP Term Cloud Installation

TECHNICAL NOTE. The following information is provided as a service to our users, customers, and distributors.

How To Install Outlook Addin On A 32 Bit Computer

Windows Server Update Services 3.0 SP2 Step By Step Guide

Deploying Personal Virtual Desktops by Using RemoteApp and Desktop Connection Step-by-Step Guide

Deploying Microsoft Office Web Apps Server and Experiencing Collaboration Features

Introduction to Hyper-V High- Availability with Failover Clustering

Deep Dive into SharePoint Provider Hosted Apps

Enable File and Folder Auditing

Microsoft Dynamics GP. SmartList Builder User s Guide With Excel Report Builder

Webmetrics Web Monitoring Getting Started Guide

Microsoft Office Communicator 2007 Getting Started Guide. Published: July 2007

Lab Answer Key for Module 1: Installing and Configuring Windows Server Table of Contents Lab 1: Configuring Windows Server

Writers: Joanne Hodgins, Omri Bahat, Morgan Oslake, and Matt Hollingsworth

Update and Installation Guide for Microsoft Management Reporter 2.0 Feature Pack 1

TIBCO Spotfire Automation Services 6.5. User s Manual

How To Configure A Windows 8.1 On A Windows (Windows) With A Powerpoint (Windows 8) On A Blackberry) On An Ipad Or Ipad (Windows 7) On Your Blackberry Or Black

Step-by-Step Guide for Microsoft Advanced Group Policy Management 4.0

ENHANCE. The Style Sheet Tool for Microsoft Dynamics NAV. Microsoft Dynamics NAV 5.0. User s Guide

R i o L i n x s u p p o r r i o l i n x. c o m 1 / 3 0 /

FOR SHAREPOINT. Quick Start Guide

CRM Form to Web. Internet Lead Capture. Installation Instructions VERSION 1.0 DATE PREPARED: 1/1/2013

Omniquad Exchange Archiving

Universal Management Service 2015

SharePoint Password Change & Expiration 3.0 User Guide

Deploying Remote Desktop IP Virtualization Step-by-Step Guide

Hands-On Lab. Lab 01: Getting Started with SharePoint Lab version: Last updated: 2/23/2011

BizTalk Server Business Activity Monitoring. Microsoft Corporation Published: April Abstract

INTEGRATE. Using Web Services for Microsoft Dynamics GP in Business Portal. Microsoft Dynamics GP. White Paper

Master Data Services. SQL Server 2012 Books Online

Installing Microsoft Exchange Integration for LifeSize Control

Installing Windows Rights Management Services with Service Pack 2 Step-by- Step Guide

Connector for Microsoft Dynamics Configuration Guide for Microsoft Dynamics SL

Getting Started with Microsoft Office Live Meeting. Published October 2007 Last Update: August 2009

Microsoft Dynamics GP. econnect Installation and Administration Guide Release 9.0

Windows Scheduled Tasks Management Pack Guide for System Center Operations Manager. Published: 07 March 2013

Keynote DeviceAnywhere/HP Application Lifecycle Management (HP ALM/QC) Integration Guide. TCE Automation 5.2

Getting Started with Microsoft Office Live Meeting. Published October 2007

MarkLogic Server. Connector for SharePoint Administrator s Guide. MarkLogic 8 February, 2015

ImageNow Interact for Microsoft SharePoint Installation, Setup, and User Guide

How To Set Up A Virtual Pc Classroom Setup Guide For A Student Computer Course

AD RMS Step-by-Step Guide

RedBlack CyBake Online Customer Service Desk

Step-by-Step Guide for Monitoring in Windows HPC Server 2008 Beta 2

All other trademarks are property of their respective owners.

Implementing and Supporting Windows Intune

Product Development. Using Critical Path EVM for the Microsoft Project Desktop Application Readme

Sage CRM Connector Tool White Paper

AvePoint CallAssist for Microsoft Dynamics CRM. Installation and Configuration Guide

Windows SharePoint Services Installation Guide

EventTracker: Configuring DLA Extension for AWStats Report AWStats Reports

SharePoint Reset Password Web Part

Project management integrated into Outlook

Setting up VMware ESXi for 2X VirtualDesktopServer Manual

Business Portal for Microsoft Dynamics GP. Project Time and Expense Administrator s Guide Release 10.0

Microsoft Dynamics GP SQL Server Reporting Services Guide

Business Portal for Microsoft Dynamics GP. Electronic Document Delivery Release 10.0

Transcription:

A SharePoint Developer Introduction Hands-On Lab Lab Manual HOL8 Using Silverlight with the Client Object Model C#

Information in this document, including URL and other Internet Web site references, is subject to change without notice. This document supports a preliminary release of software that may be changed substantially prior to final commercial release, and is the proprietary information of Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT. The entire risk of the use or the results from the use of this document remains with the user. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred. 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Server, Visual C# and Visual Studio are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Contents HOL8 USING SILVERLIGHT WITH THE CLIENT OBJECT MODEL... 2 Lab Objective... 2 Additional Resources... 2 Getting Started... 3 Locations... 3 Lab Pre-requisites... 3 Copying code samples from Word document... 4 Code Snippets... 4 Logging in to the Virtual Machine... 4 Exercise 1 Create a Silverlight Application for the SharePoint Client Object Model... 5 Task 1 Create a Silverlight Application Project... 5 Task 2 Write code to access and render SharePoint List Data... 8 Task 3 Deploy and Test using the SharePoint Silverlight web part... 11 Exercise 2 Creating a graph using the SharePoint Object Model and Silverlight Graphing controls... 13 Task 1 Create a Silverlight Application Project... 13 Task 2 Write code to access Employee SharePoint List Data and display it in a Silverlight Graph Control 17 Task 3 Deploy and Test using the SharePoint Silverlight Charting web part... 20 Lab Summary... 24 Page 1

HOL8 Using Silverlight with the Client Object Model Estimated time to complete this lab: 30 minutes Visual Studio 2010, Windows SharePoint Services 4.0 and the Silverlight 2 Toolkit are required for these exercises. These are installed on the Virtual Machine used in this lab. Lab Objective The objective of this lab is to learn about how to create and host Silverlight Applications inside SharePoint 2010, and how to use the SharePoint Client Object model to access SharePoint data from within Silverlight. Create a basic Silverlight application that displays a SharePoint list inside a datagrid and deploy and the Silverlight application to SharePoint. Create a Silverlight application that displays SharePoint list data in a graph using the Silverlight Graphing controls. Additional Resources This lab includes the following additional resources: This Lab Manual Source Code HOL8_Manual_CS.docx \Supporting Files\HOL8\Completed\CS\Ex1\ \Supporting Files\HOL8\Completed\CS\Ex2\ This document Completed lab source code in C#. Resources \Supporting Files\HOL8\Resources\CS\ Various resources used throughout this lab. Note: This hands on lab is currently only available as a word document download that you can review as a walithrough. We plan to make it available for hands on access soon. References in this lab manual to SPCHOL306 are also referring to this hands on lab. Page 2

Getting Started Locations This Hands-On Lab contains a number of additional resources in fixed locations. By default, it is assumed that the base HOL directory is \Supporting Files\HOL8\Resources. The default working folder for this lab is \SPHOLS\HOL8. Lab Pre-requisites Browse to base HOL directory Supporting Files\HOL8\Resources and execute the optimize.ps1 PowerShell script: 1. Right click on optimize.ps1 and select Run with PowerShell: Figure 1 - Execute the PowerShell script 2. This will open a PowerShell window to execute the script. Please wait until the PowerShell script completes executing the script and closes the PowerShell window: Figure 2 - PowerShell Window executing the script Page 3

Copying code samples from Word document Copying and pasting code from this Word document to Visual Studio is only safe for the sections of formatted code, e.g.: Console.WriteLine("This is safe code!"); Code not in these sections may contain Unicode or other invisible characters that are not valid XML or C#/VB code, e.g.: Console.WriteLine( This is NOT safe code!! ); Code Snippets You can also use Code Snippets to insert the appropriate code in the lab. To use the required code snippet for this lab: Right click on the code file where you want to insert the code snippet. Select Insert Snippet: Figure 3 - Visual Studio Code Context Menu. Select code snippets from My Code Snippets gallery. Logging in to the Virtual Machine Please log into the virtual machine as the following user: Username: Administrator Password: pass@word1 Page 4

Exercise 1 Create a Silverlight Application for the SharePoint Client Object Model In this exercise, we will create a basic Silverlight application that displays a SharePoint list inside a datagrid. The data for the list is retrieved from the server so it is available in Silverlight using the SharePoint Client Object Model. We will use a Visual Studio 2010 solution and deploy it to the local SharePoint server. Task 1 Create a Silverlight Application Project We will start by creating a standard Silverlight application project. 1. Open Visual Studio 2010 from Start All Programs Microsoft Visual Studio 2010 Microsoft VisualStudio 2010. 2. From the menu, select File New Project. 3. In the New Project dialog box, expend the Installed Templates left hand menu to Other Project Types Visual Studio Solutions Blank Solution. 4. Name the solution Begin. 5. Change the location to C:\SPHOLS\HOL8\CS\Ex1\ Figure 4 - New Project Dialog Page 5

6. Press OK to continue. 7. From the menu, select File Add New Project. 8. In the New Project dialog box, expand the Installed Templates left hand menu to Visual C# Silverlight, and choose the Silverlight Application project type in the project type list in the middle section of the screen. 9. Name the project SPSilverlightExample. 10. Leave the location unchanged. Figure 5 - Add New Project Dialog 11. Press OK to continue. Page 6

Figure 6 - Add Silverlight Application Dialog 12. Press OK to create the project. 13. Within the SPSilverlightExample project we will now add the reference assemblies to the SharePoint Silverlight Client Object Model. Right click References in the SPSilverlightExample project and select Add References. 14. Browse to the C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin folder. 15. Select Microsoft.SharePoint.ClientSilverlight.dll and Microsoft.SharePoint.Client.Silverlight.Runtime.dll (hold CTRL to select multiple files) 16. Press OK to add the select dll references. Page 7

Figure 7 - Add References Task 2 Write code to access and render SharePoint List Data 1. In Visual Studio open the Toolbox and expand Silverlight Controls. 2. Drag a DataGrid control onto the Page.xaml Silverlight Designer. Page 8

Figure 8 - Silverlight Controls Toolbox 3. Expand the DataGrid to take up the entire page. 4. Open App.xaml.cs and add the following using statements to the top of the file: using Microsoft.SharePoint.Client; using System.Threading; Code Snippet: My Code Snippets lab08_ex1_app_namespaces 5. Add the following code to the beginning of the Application_Startup method. ApplicationContext.Init(e.InitParams, SynchronizationContext.Current); Code Snippet: My Code Snippets lab08_ex1_ application_startup 6. Open Page.xaml.cs and add the following using statement to the top of the file: using Microsoft.SharePoint.Client; Code Snippet: My Code Snippets lab08_ex1_page_namespaces 7. Add the following class before the Page class: public class Project { public string Title { get; set; } public DateTime DueDate { get; set; } public string Description { get; set; } } Code Snippet: My Code Snippets lab08_ex1_ classes 8. Add the following variable to the Page class: Page 9

private ListItemCollection _projects; Code Snippet: My Code Snippets lab08_ex1_ property 9. Add the following code to the Page constructor below the call to InitializeComponent: ClientContext context = new ClientContext(ApplicationContext.Current.Url); context.load(context.web); List Projects = context.web.lists.getbytitle("projects"); context.load(projects); CamlQuery query = new Microsoft.SharePoint.Client.CamlQuery(); string camlqueryxml = "<View><Query><Where><Gt>" + "<FieldRef Name='Due_x0020_Date' />" + "<Value Type='DateTime'>2008-01-1T00:00:00Z</Value>" + "</Gt></Where></Query><ViewFields>" + "<FieldRef Name=\"Title\" /><FieldRef Name=\"Description\" />" + "<FieldRef Name=\"Due_x0020_Date\" />" + "</ViewFields></View>"; query.viewxml = camlqueryxml; _projects = Projects.GetItems(query); context.load(_projects); context.executequery(new ClientRequestSucceededEventHandler(OnRequestSucceeded), null); Code Snippet: My Code Snippets lab08_ex1_initializecomponent 10. Add the following code after the constructor: private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args) { // this is not called on the UI thread Dispatcher.BeginInvoke(BindData); } private void BindData() { List<Project> projects = new List<Project>(); foreach (ListItem li in _projects) { projects.add(new Project() { Title = li["title"].tostring(), DueDate = Convert.ToDateTime(li["Due_x0020_Date"].ToString()), Description = li["description"].tostring() }); } datagrid1.itemssource = projects; // must be on UI thread } Code Snippet: My Code Snippets lab08_ex1_methods This code initializes the SharePoint Silverlight client object model context (ClientContext). It then gets a reference to the Projects list and runs a simple CAML query against the list to pull all projects with a due date greater than 1/1/2008. The results are converted into a list of Projects and bound to the Silverlight DataGrid control. Page 10

Task 3 Deploy and Test using the SharePoint Silverlight web part To deploy the solution to SharePoint the resulting.xap file created by the Silverlight project needs to be in the C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin folder. 3. Right click the SPSilverlightExample project, select properties and select the Build tab. 4. Change the output path to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin. Figure 9 - Project Properties 5. Build the solution. The.xap file has been copied to the required SharePoint directory and you are ready to add the Silverlight web part to the SharePoint website. 6. Open Internet Explorer and browse to http://intranet.contoso.com. 7. Select the Edit tab at the top of the page and then click the Edit button to put the page in edit mode. 8. Select the Insert tab and the click Web Part. 9. From the Category list select Authoring, choose the Silverlight Web Part from the web part list and click Add. 10. In the Silverlight Web Part dialog that pops up enter /_layouts/clientbin/spsilverlightexample.xap as the URL. Page 11

Figure 10 - Silverlight Web Part Url Dialog 11. Exit edit mode. 12. The final web part will look like this on the SharePoint page: Page 12

Figure 11 - Finished Silverlight Web Part In this exercise you have created a basic Silverlight application that displays a SharePoint list inside a datagrid. The data for the list is retrieved from the server so it is available in Silverlight using the SharePoint Client Object Model. Exercise 2 Creating a graph using the SharePoint Object Model and Silverlight Graphing controls In exercise two we will again be using the SharePoint Object Model to access SharePoint list data but this time we will use LINQ and the Silverlight Charting controls to display the data in a graph. Task 1 Create a Silverlight Application Project 1. Open Visual Studio 2010 from Start All Programs Microsoft Visual Studio 2010 Microsoft VisualStudio 2010. 2. From the menu, select File New Project. 3. In the New Project dialog box, expend the Installed Templates left hand menu to Other Project Types Visual Studio Solutions Blank Solution. 4. Name the solution Begin. Page 13

5. Change the location to C:\SPHOLS\HOL8\CS\Ex2\ Figure 12 - New Project Dialog 6. Press OK to continue. 7. From the menu, select File Add New Project. 8. In the New Project dialog box, expand the Installed Templates left hand menu to Visual C# Silverlight, and choose the Silverlight Application project type in the project type list in the middle section of the screen. 9. Name the project SilverlightEmployeeContributionsGraph. 10. Leave the location unchanged. Page 14

Figure 13 - Add New Project Dialog 11. Click OK. Figure 14 - Add Silverlight Application Dialog Page 15

12. Press OK to create the project. 13. Within the SPSilverlightExample project we will now add the reference assemblies to the SharePoint Silverlight Client Object Model. Right click References in the SPSilverlightExample project and select Add References. 14. Browse to the C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin folder. 15. Select Microsoft.SharePoint.ClientSilverlight.dll and Microsoft.SharePoint.Client.Silverlight.Runtime.dll (hold CTRL to select multiple files) 16. Press OK to add the select dll references. Figure 15 - Add References 13. Add a reference to the Silverlight Charting Controls assembly. It is available on the.net tab and is called the System.Windows.Controls.DataVisualization.Toolkit. Page 16

Figure 16 - Add DataVisualization Reference Task 2 Write code to access Employee SharePoint List Data and display it in a Silverlight Graph Control 1. Open App.xaml.cs and add the following using statements to the top of the file: using Microsoft.SharePoint.Client; using System.Threading; Code Snippet: My Code Snippets lab08_ex2_app_namespaces 2. Add the following code to the beginning of the Application_Startup method. ApplicationContext.Init(e.InitParams, SynchronizationContext.Current); Code Snippet: My Code Snippets lab08_ex2_application_startup 3. Open the Page.xaml file and add the following XML namespace in the UserControl element: xmlns:chartingtoolkit="clrnamespace:system.windows.controls.datavisualization.charting;assembly=system.wind ows.controls.datavisualization.toolkit" 4. Add the following Silverlight Charting control inside the Grid element: <chartingtoolkit:chart x:name="chart" Width="350" Height="250" Title="Team Contributions"> <chartingtoolkit:chart.series> <chartingtoolkit:columnseries ItemsSource="{Binding}" DependentValuePath="Contributions" IndependentValuePath="Name" AnimationSequence="FirstToLast" Title="Contributions" IsSelectionEnabled="True" /> </chartingtoolkit:chart.series> </chartingtoolkit:chart> Page 17

Figure 17 - Silverlight Chart XAML 5. Open Page.xaml.cs and add the following using statement to the top of the file: using Microsoft.SharePoint.Client; Code Snippet: My Code Snippets lab08_ex2_page_namespaces 6. Add the following classes before the Page class: public class EmployeeContributions { public string Name { get; set; } public string TeamName { get; set; } public decimal Contributions { get; set; } } public class TeamContributions { public string Name { get; set; } public decimal Contributions { get; set; } } Code Snippet: My Code Snippets lab08_ex2_classes 7. Add the following variable to the Page class: private ListItemCollection _employees; Code Snippet: My Code Snippets lab08_ex2_property 8. Add the following code to the Page constructor below the call to InitializeComponent: Page 18

ClientContext context = new ClientContext(ApplicationContext.Current.Url); context.load(context.web); List employees = context.web.lists.getbytitle("employees"); context.load(employees); CamlQuery query = new CamlQuery(); string camlqueryxml = null; query.viewxml = camlqueryxml; _employees = employees.getitems(query); context.load(_employees); context.executequery(new ClientRequestSucceededEventHandler(OnRequestSucceeded), null); 9. Code Snippet: My Code Snippets lab08_ex2_initializecomponent 10. Add the following code after the constructor: private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args) { // this is not called on the UI thread Dispatcher.BeginInvoke(BindData); } private void BindData() { List<EmployeeContributions> employees = new List<EmployeeContributions>(); // get list item values into a strongly typed class foreach (ListItem li in _employees) { employees.add(new EmployeeContributions { Name = li["title"].tostring(), TeamName = li["team"].tostring(), Contributions = Convert.ToDecimal(li["Contribution_x0020 x0028_in_x00"]) }); } // use linq to group employees on team name and then total team contributions List<TeamContributions> teams = employees.groupby(e => e.teamname).select(t => new TeamContributions { Name = t.key, Contributions = t.sum(e => e.contributions) }).ToList(); chart.datacontext = teams; // must be on UI thread } 11. Code Snippet: My Code Snippets lab08_ex2_methods Like the previous exercise the SharePoint Silverlight client object model is used to retrieve data from a SharePoint list. Once the employee contribution items have been populated into a list, LINQ is then used to group employees into teams and their contributions summed together. Team contributions are then set as the chart s data source. Page 19

Task 3 Deploy and Test using the SharePoint Silverlight Charting web part To deploy the solution to SharePoint the resulting.xap file created by the Silverlight project needs to be in the C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin folder. 1. Right click the SilverlightEmployeeContributionsGraph project, select properties and select the Build tab. 2. Change the output path to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin. Figure 18 - Silverlight Project Properties 3. Build the solution. The.xap file has been copied to the required SharePoint directory and you are ready to add the Silverlight web part to the SharePoint website. 4. Open Internet Explorer and browse to http://intranet.contoso.com. 5. We will update the Silverlight web part added in the previous exercise to point toward the new Silverlight Charting control we have just made. Click the cog icon in the top right hand corner of the Silverlight web part and select Modify Shared Web Part. Page 20

Figure 19 - Silverlight Web Part Properties 6. Click the Configure button and then enter /_layouts/clientbin/silverlightemployeecontributionsgraph.xap in the Silverlight Web Part dialog. Page 21

Figure 20 - Silverlight Web Part URL 7. Click OK. 8. Click OK at the bottom of the Silverlight Web Part sidebar. 9. The final web part will look like this: Page 22

Figure 21 - Finished Silverlight Chart Web Part Page 23

Lab Summary In this lab you performed the following exercises. Created new Silverlight Application project Added references to the SharePoint Silverlight object model dlls. Written code to get data from a SharePoint using the SharePoint object model Deployed a Silverlight application to SharePoint and displayed it in the new SharePoint Silverlight web part. Displayed SharePoint list data in a Silverlight datagrid. Used LINQ to manipulate items returned from a SharePoint list. Displayed SharePoint list data in a Silverlight Charting bar graph. Page 24