SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This book is for every SharePoint developer who wants to build state-of-the-art solutions with Silverlight—within the enterprise, for consulting clients, or for commercial sale.
Developers increasingly want to build rich applications that run in the SharePoint 2010 browser user interface while offering a far more compelling and engaging experience than conventional web pages. One proven technology gives them all the tools and resources they need to achieve these goals: Silverlight®. Using Silverlight and SharePoint together, developers can create state-of-the-art applications that utilize Silverlight’s outstanding user experience, and fully leverage the vast collections of business data already stored in corporate SharePoint deployments. In SharePoint 2010 Development with Silverlight, two SharePoint gurus collaborate to teach all the concepts and techniques needed to create robust Silverlight solutions for delivery through SharePoint 2010, and present fully documented code that demonstrates superior design and programming.
Bob German and Paul Stubbs draw on their extensive experience developing custom SharePoint business solutions with Silverlight and presenting on these technologies at leading Microsoft developer events. Writing for both experienced and new SharePoint developers, they quickly review the fundamentals of both SharePoint and Silverlight development, and then demonstrate how to use both platforms together to build uniquely powerful solutions. These include:
• Simple and connected Silverlight Web Parts (Chapter 5) and Silverlight Web Part Editing (Chapters 7 and 10)
• Advanced use of the SharePoint Client Object Model including dynamic loading, paging, and server-side exception handling (Chapter 8)
• Use of SharePoint’s REST API including paging, caching, and filtering (Chapter 9)
• Integration with SharePoint search and social networking (Chapter 10)
• Solutions that improve performance and reduce server traffic by passing serialized .NET objects on the web page (Chapter 7)
• Use of SharePoint’s JavaScript API with JQuery (Chapter 7)
• SharePoint applications for Windows Phone 7 (Chapter 12)
• Integration with Office 365 and Windows Azure™ services (Chapter 14)
• Silverlight field types in SharePoint, featuring a mapping field that allows geocoding SharePoint content (Chapter 15)
Including New Features in Silverlight 5
Silverlight 5 introduces a number of new features such as implicit data templates and debugging data binding that can be very helpful in SharePoint solutions. All the examples in this book have been tested with Silverlight 4; some have been extended to showcase the new capabilities in Silverlight 5. See Chapter 3 for a list.
Foreword xvii
Preface xix
PART I Getting Started 1
1 Getting Started with SharePoint and Silverlight 3
Why SharePoint? 4
Why Silverlight? 6
Why SharePoint and Silverlight Together? 9
Who Should Read This Book 11
How to Use This Book 11
Creating a Development Environment 13
Summary 26
2 Introduction to SharePoint Development 27
Understanding SharePoint Content 28
Building a Web Part 33
Lists and Libraries 43
Accessing Lists and Libraries with the SharePoint Server API 51
Updating List Data with the SharePoint API 59
LINQ to SharePoint 60
Web Parts as Composite Controls 63
Event Receivers 67
Solutions and Features 69
Feature Receivers 75
Summary 77
3 Introduction to Silverlight Development 79
Placing Silverlight on a Web Page 80
Building a Simple Silverlight Application with Visual Studio 2010 82
Toolbox and Layout Controls 87
Setting Control Properties 92
Creating and Showing Child Windows 93
Advanced Features of .NET in Silverlight 97
Networking and Web Services in Silverlight 104
Asynchronous Response Handling 106
Introducing Silverlight 5 108
Summary 109
PART II SharePoint and Silverlight Development 111
4 A First Look at Silverlight in SharePoint 113
Create Content 114
Media Web Part 121
Media Field Control 127
Organizational Chart 128
Workflow Visualization 130
Silverlight Web Part 133
Other Hosting Options 138
IFrame 144
Summary 147
5 Web Part Development 151
Silverlight Web Parts 151
Manually Building a Silverlight Web Part 152
Visual Studio Silverlight Web Parts Extension 156
Building a Silverlight Web Part 159
Building a Custom Silverlight Web Part 166
Connecting Web Parts 172
Summary 182
6 Expression Blend, Data Binding, and Sample Data 183
Behaviors 184
SketchFlow 197
Design with Data 213
Summary 221
7 Accessing SharePoint Using the HTML Bridge 223
Passing Data to Silverlight with the HTML Bridge 223
Passing Data on the Web Page 226
Passing SharePoint Library Content to Silverlight 231
Introducing the Visual State Manager 240
Displaying and Caching Images 243
Full Screen and Printing in Silverlight 246
Web Part Editing and Posting Back with the Web Page 247
Calling SharePoint Javascript and JQuery from Silverlight 253
Summary 259
8 Accessing SharePoint Data with the Client Object Model 261
Client Object Model Goals 261
Hello World 262
Client Context 266
Load and LoadQuery 268
Object Model 270
Retrieving List Data 271
Updating List Data 274
Deleting List Data 275
Creating List Data 276
Paging 277
Document Upload 282
Creating Ribbon Custom Actions 283
Server Side Exception Handling 285
Deployment and Redistribution 287
Summary 289
9 Accessing SharePoint Data with WCF Data Services 291
REST and the Open Data Protocol 292
Getting Started with WCF Data Services 293
Binding to a SharePoint List Using WCF Data Services 296
Updating SharePoint Data 304
Paging through Large Data Sets 306
Caching Paged Data 310
Filtering and Sorting the Data 312
Using Silverlight 5 to Bind Style Setters 315
Summary 317
10 Accessing SharePoint with Web Services 319
Web Services in SharePoint 320
The SearchView Web Part Sample Solution 322
Accessing Enterprise Search 339
Accessing Social Data 354
Updating SearchView for Silverlight 5 361
Building Custom WCF Services for SharePoint 366
Summary 373
11 Accessing External Data 375
Building a Feed Reader Web Part 379
Building a Custom Feed Reader Proxy 386
Adding Cross-Domain Policy to SharePoint 390
Using Business Connectivity Services from Silverlight 392
Adding a Web Browser Preview with Silverlight 5 409
Summary 414
PART III Building Solutions 415
12 Windows Phone 7 SharePoint Applications 417
Office Hub 417
Development Framework 419
Development Tools 420
Connecting to SharePoint 425
Databinding to the Task List 435
Development Environment 438
Publishing an Application 443
Summary 445
13 Creating Silverlight Navigation 447
Out-of-the-Box Navigation 447
Site Map Providers 453
Building a Site Map Provider 455
Building a Navigation Web Part 461
Building a Navigation Control 471
Rendering a Navigation Control on a SharePoint Master Page 472
Summary 475
14 SharePoint and Silverlight in the Cloud 477
SharePoint Online Sandboxed Solutions, Development Environment, and Deployment 479
Web Services in SharePoint Online 484
SharePoint Online Debugging 485
SharePoint Online API “Additional” Restrictions for Sandboxed Solutions 486
SharePoint Online Silverlight “Client Side Object Model” Data Project 488
SharePoint Online Silverlight REST Data Project 497
SharePoint Online Azure Project 502
Summary 520
15 Creating a Silverlight Field Control 521
Defining the Bing Maps Field Type 523
Building a Silverlight Field Control 526
Serializing a Bing Maps Location 534
Getting Started with Bing Maps 536
Displaying and Editing Maps in Silverlight 540
Using the Location Field 549
Field Controls and Publishing Sites 553
Defining a Bing Maps Column and Content Type 555
Defining a Page Layout 558
Using the Location Field in a Publishing Site 563
Summary 565
Index 567