accessing
Enterprise Search, 339-340
invoking search queries, 342-346
KQL (Keyword Query Language), 340-341
query completion, 346-351
Search Suggestions, 351-353
search web services, 341-342
lists and libraries with SharePoint server API, 51-58
social data, 354
Activity Feed, 357-359
adding social comments, 359-361
User Profile Service, 354-357
Activity Feed, accessing, 357-359
adding
cross-domain policies to SharePoint, 390-392
external lists, 403
filter parameters, 400
list definitions, 45
script code to CEWP, 142
Silverlight Web Part to host application, 134-135
site Settings page to Elements.xml, 540
web browser preview with Silverlight 5, 409-412
AddItem() method, 276
AddQueryOption() method, 315
ADO.NET Data Services. See WCF Data Services
anonymous methods, Silverlight (.NET), 98-99
anonymous types, Silverlight (.NET), 99-100
API, JavaScript API, 125
App Hub, 419-420
applications
hosting, 138
CEWP, 138-139
in IFrames, 144-146
Windows Phone 7 applications. See Windows Phone 7 applications
ApplyChanges() method, 251, 463-464
ASP.NET applications, SharePoint, 28
ASP.NET web services in SPO (SharePoint Online), 484
assemblies, Client Side Object Model data project (SPO), 488
assembly deployment and redistribution, 287-289
Asset Picker dialog, 123
asynchronous response handling, Silverlight, 106-108
authentication
BCS, 394
FBA (forms based authentication), 426-431
authentication request callback, 427-428
authentication response callback, 428-429
authentication response message, 429
authentication.asmx web service, 427
clientconfig change to support cookie container, 430
data retrieval, 431
MainPage class, 426-427
OnAuthenticated event handler, 430
in managed Client Object Models, 519-520
multi-hop authentication problem, 375
UAG (Unified Access Gateway), 431-434
authentication request callback, 427-428
authentication response callback, 428-429
authentication response message, 429
authentication.asmx web service, 427
AutoCompleteBox, 312-313
automatic properties, Silverlight (.NET), 97
Azure RibbonPrototype project (SPO), 502
button click events, 511
creating, 502-503
customer collection, retrieving, 512-513
DataServiceQuery, 512
deploying, 516
GroupRibbonElement Elements.xml file, 505-507
image deployment to SharePoint Online, 509-510
MainPage to display data from SQL Azure, 513-516
MainPage user control XAML markup, 511-512
RibbonPart.cs web part code, 507-509
sandboxed web part, 517-518
search child window XAML markup, 510
BCS (Business Connectivity Services), 375, 392-409
permissions, 401
BDC (Business Data Catalog), 392
BeginExecute() method, 302
BeginGetRequestStream() method, 427
BeginInvoke() method, 264
BeginSaveChanges() method, 305
Behavior<T>, building, 187-190
behaviors, 184-187
Blur, 188-190
building, 187
Behavior<T>, 187-190
TargetedTriggerAction, 193-196
TriggerAction, 190-192
debugging, 196
binding
navigation hierarchy to TreeView control, 468-469
SharePoint data to style setters, 315-317
to SharePoint lists, 296-302
Bing Maps, 523
defining column and content type, 555-558
geo-coding, 547
getting started, 536-539
location, serializing, 534-536
Bing Maps field type, 523-526
BingMapsLocation class, 534
Blur Behavior, 188-190
BlurTriggerAction, 192
building
Client Side Object Model data project (SPO), 490
navigation controls, 471-472
site map providers, 455-460
feature receiver to update web.config, 457-458
PortalSiteMapProvider class, 456
referencing in SharePoint master pages, 459-460
built-in navigation, 447
publishing site navigation, 450-453
Team Site navigation, 448-450
Business Connective Services (BCS), 375
Business Data Catalog (BDC), 392
button click event handler for Client Side Object Model data project, 493-494
button click events, Azure RibbonPrototype project, 511
caching
images, 243-245
paged data, 310-312
server-side caching, 232
calling JavaScript and JQuery from Silverlight, 253-258
casting LINQ queries as DataServiceQuery, 512
CEWP (ContentEditor Web Part)
Applications, hosting, 138-139
files, linking, 143-144
HTML source code, editing, 140-142
script code, adding, 142
child windows, showing/creating, 93-96
classes
CombinedNavSiteMapProvider, 455
MainPage, 426-427
NavigationNode, 464-466
PortalSiteMapProvider, 454-455
SPFeatureReceiver, 457-458
SPWebConfigModification, 457
Client OM (Client Object Model), 261
assembly deployment and redistribution, 287-289
ClientContext object, 266-267
documents, uploading, 282-283
goals of, 261-262
Hello World example, 262-266
list data
creating, 276-277
deleting, 275-276
paging, 277-282
retrieving, 271-274
updating, 274-275
Load() and LoadQuery() methods, 268-270
Ribbon Custom Actions, creating, 283-285
server side exception handling, 285-286
tasks supported by, 270-271
Client Side Object Model data project (SPO), 488
assemblies, 488
button click event handler, 493-494
deploying, 495
.dll files, 490-491
project type, 490
references, 491
response handlers, 494-495
Silverlight Web Part, 496-497
XAML listing, 492-493
Clientaccesspolicy.xml, 377
clientconfig file, forms based authentication, 430
ClientContext object (Client OM), 266-267
cloud computing. See SPO (SharePoint Online)
collections, generic collections (.NET), 97
column type, Bing Maps, 555-558
CombinedNavSiteMapProvider class, 455
composite controls
Silverlight, connecting web parts, 175-177
web parts as, 63-66
configuring Silverlight Web Part properties, 135
connecting, web parts, 172-174
making connections, 177-181
Silverlight in composite controls, 175-177
ConnectionConsumer, 179
ConnectionSource Web Part, 174
Contact Grid Simple web part, 297-300
Contact Grid web part, 297-300
contacts in Outlook, transferring to SharePoint, 294
Contacts list, 294
content type, Bing Maps, 555-558
content types, SharePoint, 44
ContentEditorWeb Part (CEWP), hosting applications, 138-139
control bindings, adding to WebBrowserControl, 410
control properties, setting (Silverlight), 92
controls
composite controls, web parts as, 63-66
layout controls, Silverlight, 87-91
navigation controls
building, 471-472
rendering on SharePoint master pages, 472-474
TreeView
binding navigation hierarchy to, 468-469
ExpandTree() method, 469-470
Convert() method, 315
Create Content dialog, 113-115
down-level experience, 118-119
filtering, 115
pluggable provider model, 121
properties, configuring, 117
search box, 116
CreateAllItemsQuery() method, 279
CreateChildControls(), 527
CreateChildControls() method, 233, 250, 462
CreateEditorParts() method, 249
creating
list data, 276-277
Ribbon Custom Actions, 283-285
cross-domain access, 376-379
cross-domain policies, adding to SharePoint, 390-392
crossdomain.xml, 378
current navigation, 451
Current property, 267
CurrentItemStates state group, 241, 245
custom actions, creating Ribbon Custom Actions, 283-285
custom feed reader proxies, building, 386-389
custom Silverlight web part, building, 166-172
custom WCF services for SharePoint, 366-367
consuming custom web services, 372-373
creating custom web services, 367-372
customer collection, retrieving, 512-513
data, designing with (Expression Blend), 213
generating sample data, 213-218
data (SharePoint), databinding SketchFlow, 218-219
data binding
debugging with Silverlight 5, 303
two-way binding, updating SharePoint data with, 304-306
data retrieval
in Silverlight, 239-240
with SharePoint web services, 431
data sources, 454
data transfer to Silverlight
from SharePoint library, 231-240
with hidden web page fields, 226-231
with HTML Bridge, 223-225
databinding
SketchFlow to SharePoint data, 218-219
to indexers, 220-221
to Task list, 435-438
DataServiceCollection class, 304
DataServiceContext class, 301
DataServiceQuery for Azure RibbonPrototype project, 512
debugging
behaviors, 196
data binding with Silverlight 5, 303
Silverlight, 160
in SPO (SharePoint Online), 485-486
DeleteObject() method, 275
deleting list data, 275-276
deploying
Azure RibbonPrototype project, 516
Client Side Object Model data project, 495
REST data project (SPO), 501
deployment of Client OM assemblies, 287-289
Deployment Conflict notice, 51
deployment packages, SPO (SharePoint Online), 481
design, documenting (SketchFlow), 207-208
designing with Data, Expression Blend, 213
generating sample data, 213-215
using sample data, 215-216, 218
developing Windows Phone 7 applications. See Windows Phone 7 applications
development environment
for Windows Phone 7 applications, 438
multi-machine, 439-440
multi-machine with UAG, 440
single machine, 438-439
single machine with Hyper-V, 442-443
single machine with UAG, 441-442
SPO (SharePoint Online), 479-480
development environments
creating, 13
tools for, 13-15
installing SharePoint, 16-25
setting up, 15-16
development framework (Windows Phone 7 applications), 419-420
development tools, 420
Expression Blend, designing Windows Phone 7 applications in, 423-424
Visual Studio, designing Windows Phone 7 applications in, 420-422
Windows Phone Emulator, 424-425
dialogs
Asset Picker, 123
Create Content, 113-115
down-level experience, 118-119
filtering, 115
pluggable provider model, 121
properties, configuring, 117-118
search box, 116
Edit HTMLSource, 139-142
Silverlight Installer, 119
Dictionary, 356
Dispatcher, 99
DisplayBitmap() method, 243
DisplayImage() method, 241, 244-245
DisplayImageStates state group, 241-243
displaying
images, 243-245
maps in Silverlight, 540-549
DisplayPage() method, 310, 314
Dispose() method, 53
.dll files, Client Side Object Model data project (SPO), 490-491
documenting design (SketchFlow), 207-208
documents, uploading, 282-283
down-level experience
Create Content dialog, 118-119
organizational chart, 129
Visio Web Applications, 132
Easy Setup Script, 16
Edit HTMLSource dialog, 139-142
Edit mode, 337
editing
external lists, 405
in-place web part editing experience, SearchView, 328-338
maps in Silverlight, 540-49
editor parts, 247-253
EditPageVM ViewModel, 337
Elements.xml file for GroupRibbonElement module, 505-507
enableHtmlAccess property, 227
EndExecute() method, 309
EndSaveChanges()method, 305
Enterprise Search, accessing, 339-340
invoking search queries, 342-346
KQL (Keyword Query Language), 340-341
query completion, 346-351
Search Suggestions, 351-353
search web services, 341-342
event handlers
MouseClick, 545
SelectedItemChanged, 471
ViewChangedOnFrame, 546
event receivers, 67-68
exception handling
in Render() method, 235
server side exception handling, 285-286
ExceptionHandlingScope class, 286
ExecuteQueryAsync() method, 263-265, 272
expanding TreeView control, 469-470
ExpandTree() method, 469-470
exporting
feedback, SketchFlow, 210-211
web parts, 42
behaviors. See behaviors
designing Windows Phone 7 applications in, 423-424
designing with data, 213
generating sample data, 213-215
using sample data, 215-218
SketchFlow. See SketchFlow
VSM (Visual State Manager) in, 242
external authentication, 520
external content type, creating in SharePoint Designer 2010, 395
External Feed Web Part, 379-381
external list item, updating, 408
external lists
adding, 403
editing, 405
viewing, 403
failedCallback() method, 263-264
FAQ Content Type, 49
FAST Search, 339
FBA (forms based authentication), 426-431
authentication request callback, 427-428
authentication response callback, 428-429
authentication response message, 429
authentication.asmx web service, 427
clientconfig change to support cookie container, 430
data retrieval, 431
MainPage class, 426-427
OnAuthenticated event handler, 430
Feature Designer, 74
feature receivers, 75-77
updating web.config with, 457-458
FeatureDeactivating method, 459
features, 70
Feed Reader Web Part, building, 379-386
feed readers, building custom feed reader proxies, 386-389
feedback, SketchFlow, 209-211
field controls
Media Field Control, 127-128
publishing web sites, 553-555
Silverlight, building, 526-534
field types (SharePoint), 521-522
Bing Maps, 523-526
serializing Bing Maps location, 534-536
.dll files, Client Side Object Model data project (SPO), 490-491
linking in CEWP, 143-144
web.config, updating with feature receiver, 457-458
.wsp, 69
filter parameters, adding, 400
filtering SharePoint data, 312-315
filters, Create Content dialog, 115
forms based authentication (FBA), 426-431
authentication request callback, 427-428
authentication response callback, 428-429
authentication response message, 429
authentication.asmx web service, 427
clientconfig change to support cookie container, 430
data retrieval, 431
MainPage class, 426-427
OnAuthenticated event handler, 430
Full Screen mode in Silverlight, 246-247
generating sample data (SharePoint), 213-215
generic collections, Silverlight (.NET), 97
geo-coding Bing Maps, 547
GetNavigationNode() method, 464-466
GetNavigationNodeCollection() method, 464
GetUsageData() method, 371
global navigation, 451
GroupRibbonElement, Elements.xml file, 505-507
Hello World example (Client OM), 262-266
hidden fields, passing data to Silverlight, 226-231
hosting applications, 138
CEWP, 138-139
in IFrames, 144-146
HTML, editing source code, 139-142
passing data to Silverlight, 223-225
via hidden web page fields, 226-231
web part editing, 247-253
HTML tags, stripping, 385
HTMLBridge, 523
IFrames, hosting applications, 144-146
images
caching, 243-245
displaying, 243-245
state management with VSM (Visual State Manager), 240-242
importing feedback, SketchFlow, 210-211
in-place web part editing experience, SearchView, 328-338
indexer binding syntax, 273
indexers, databinding, 220-221
initialization parameters, setting for Silverlight Web Part, 136-137
InitParams parameter, 226
inking files in CEWP, 143-144
installing
SharePoint, 16-25
Visual Studio Silverlight web parts extension, 156-159
ISilverlightConnection, 174
JavaScript, calling from Silverlight, 253-258
JavaScript API, 125
JQuery, calling from Silverlight, 253-258
JSON, serialization with, 236-239
KQL (Keyword Query Language), Enterprise Search, 340-341
lambda expressions, 98
layout controls, Silverlight, 87-91
libraries
accessing with SharePoint server API, 51-58
SharedDocuments library, Silverlight, uploading, 133
library content, passing to Silverlight, 231-240
LINQ (Language Integrated Query), 60
to SharePoint, 60-62
Silverlight, .NET, 100-104
LINQ queries, casting as DataServiceQuery, 512
LINQ query syntax, 268
creating, 276-277
deleting, 275-276
paging, 277-282
retrieving, 271-274
updating, 274-275
with SharePoint API, 59-60
list definitions, adding, 45
ListData.svc, retrieving data from, 500-501
listings
Adding Control Bindings to the WebBrowserControl, 410
Adding Editable Properties to a Web Part, 40
Adding the HTTP Handler to web.config, 391
Adding the Site Settings Page to Elements.xml, 540
An Anonymous Event Handler, 98
An Anonymous Method, 98
An Anonymous Type with LINQQuery, 100
Anonymous Types, 100
The Application Startup Event Passes InitParams to Main, 180
Application_Startup for the MapViewSLApplication, 540
BingMapsLocation Class, 534
The Button Click Event Handler, 86
Calling the Custom Web Service, 372
Calling the User Profile Web Service from Silverlight, 355
CAML Query for Answered FAQ items, 58
Choosing list definition settings, 47
Clientaccesspolicy.xml, 377
Code for a Custom Blur Behavior, 188-189
Code for Data Binding Templates, 65
Code to Generate Sample Data, 214-215
Code to Load a Query Packet XML Template in SearchService.cs, 343
Code to Read an RSS or ATOMFeed in Silverlight, 106
Combo Box SelectionChanged Event Handler, 103
ConnectionSource Web Part Implements a Connection, 178
ConnectionTarget Web Part Implements a Connection Consumer, 179
Copying User Profile Properties to the ViewModel’s Properties Collection, 356
CreateChildControls(), 37, 527
CreateChildControls() in the Silverlight Plugin Control, 176
Creating Subclasses of ResultsItem, 362
crossdomain.xml, 378
Custom TriggerAction, 191
CustomersChildWindow Constructor, 102
Databinding Sketchflow to SharePoint Data, 218-220
Declaring a Site Column and Content Type, 557
Defining a View for the FAQ List, 50
Dependency Property to Control the Blur Radius, 189
Display Mode Rendering, 529
DisplayUrl() Function, 57
Edit Mode Rendering, 531
EditorPart for SearchView, 331
EditorPartControlID Property, 331
Elements.xml for a Page Layout, 562
Elements.xml in a New Module, 153
Elements.xml to Deploy a Silverlight Application, 154
Elements.xml under FAQListinstance, 50
Elements.xml with SharePointPackage Name Token, 162
Error Handling Script in the Custom Silverlight Web Part, 168
ExternalFeed Web Part, 381
FeatureActivated Event Receiver, 76
Feed Proxy Implemented in GetFeed.aspx.cs, 388
Field Control Value Property, 526
Function to SortSearch Result Items into Two Subclasses, 364
Geo-Coding with Bing Maps, 547
Handling Asynchronous Completion with Anonymous, 107
Handling Query Completion, 407
Handling the Activity Feed Completion, 359
Handling the Search Suggestions Results in SearchSuggestionsBox.xaml.cs, 353
Helper Function to Extract Property Values from Search Results XML, 350
Helper Functions for InitParams and Queryinfo Processing, 337
HttpHandler to Provide the Cross-Domain Access Policy, 390
implementing INotifyPropertyChanged, 326
Initializing the Customer List, 101
Initializing the Query Packet XML, 344
InitParams Processing in the Application Startup Event, 335
The ISilverlightConnection Interface, 174
ItemDeleting Event Receiver, 69
ITestService Service contract, 370
LINQ Code for FAQL Web Part, 61
LINQ Version of Data Binding Code, 66
Main Page Code for MapViewSL Application, 541
Main Page Constructor for MapEditSL Application, 544
Main Page XAML for MapViewSL Application, 541
MainPage_Loaded Event, 170
MapEditSL XAML, 543
MapSelectControlClass Handles Field Input, 532
MapSettings.aspx Page to Save Application, 538
Markup in a Visual Web Part, 54
Method to Display the Detail ChildWindow, 407
Method to Show the Child Window, 96
MouseClick Event Handler, 545
Overriding the CreateEditorParts() Method, 331
Posting a Note for a User with the Social Data Service, 360
Properties in the Web Part Template File, 43
PropertyMap Dictionary Manages Properties to Be Displayed, 356
Query Completed Event Handler, 348
The Queryinfo Class holds Web Part Configuration Settings, 329
Querying and Binding List Data, 56
Querying the External List, 406
QuestionButton Click Event Handler, 59
Requesting the User’s Activity Feed, 358
ResultsItem Class for View Binding, 347
Running a User Query in SearchService.cs, 345
SampleSearch Query Packet XML, 342
SampleSearch Results.XML, 346
Saving the Application ID in the Web Property Bag, 538
Search Complete Event Handler in MainPage ViewModel, 351
SharePoint Field Type Class, 524
Showing a Preview Web Page, 411
Silverlight Application_Startup EventHandler, 382
The Silverlight Client Adds the Feed Proxy to a Newsfeed URL, 389
Silverlight Object Tag in the Custom Silverlight Web Part, 169
Silverlight Web Part in the Page Wiki Field, 164
simpleFeedVM Code to Retrieve a Newsfeed, 384
SLConnectionTarget Receives and Displays Text, 181
SLGridWebPart.webpart File Sets WebPart Values, 163
StripHtml Strips Out HTML tags, 386
Targeted TriggerAction, 193
TestService Implementation, 370
The TextBox and Button in XAML, 86
Updated LINQQuery to Call getResultsItem(), 364
Updated Results ListBox, 365
Updating CreateChildControls() to Use Custom Properties, 41
Updating the EditorPart Hidden Field in a ViewModel Property Setter, 338
Updating the External List Item, 408
Updating the List with LINQ, 63
Using a Lambda Expression to Define an Anonymous Function, 98
Using Layout Controls in XAML, 90
Using the Serialized() and Load() Methods, 536
ViewChangedOnFrame Event Handler, 546
Web Part Code to Pass Queryinfo in a Hidden Field, 333
The Web Part as a Composite Control, 64
The XAML Markup for a New Silverlight Project, 84
XML Declaration of a Field Type, 525
accessing with SharePoint Server, 51-58
binding to, 296-302
CAML Query to Access the External List, 405
Lists.asmx, 320
load times for Silverlight applications, reducing, 137-138
LoadQuery() method, 268-270
Location fields
publishing websites, 563-564
MainPage for Azure RibbonPrototype project, 511-516
MainPage class, 426-427
managed Client Object Models, authentication, 519-520
managed paths, testing, 229
managed properties, 343
mapping fields to Office properties, 399
maps, displaying and editing (in Silverlight), 540-549
MapViewSL Silverlight, 540-549
master pages
navigation controls, rendering, 472-474
site map providers, referencing, 459-460
Media Field Control, 127-128
JavaScript API, 125
Ribbon, 125
skins, 126
MessageReceived event handler, 181
method syntax query, 269
methods
anonymous methods, .NET, 98-99
ApplyChanges(), 463-464
BeginGetRequestStream(), 427
CreateChildControls(), 462
ExpandTree(), 469-470
FeatureDeactivating, 459
GetNavigationNode(), 464-466
GetNavigationNodeCollection(), 464
Load(), 464
OnPreRender(), 466
Serialize(), 464
SyncChanges(), 463-464
MouseClick event handler, 545
MouseStates state group, 241
multi-hop authentication problem, 375
multi-machine development environment, 439-440
multi-machine with UAG development environment, 440
multicast, Silverlight, 106
MVVM (Model View View Model) pattern, 323-328
My Sites, organizational charts, 128
namespaces, SPO (SharePoint Online) restrictions, 486-488
built-in navigation, 447
publishing site navigation, 450-453
Team Site navigation, 448-450
navigation controls
building, 471-472
rendering on SharePoint master pages, 472-474
Navigation Web Part, 461-471
binding navigation hierarchy to TreeView control, 468-469
editor part, 462-464
ExpandTree() method, 469-470
NavigationNode class, 464-466
SelectedItemChanged event handler, 471
Silverlight application startup event handler, 468
site map providers
building, 455-460
explained, 453-455
referencing in SharePoint master pages, 459-460
navigation controls
building, 471-472
rendering on SharePoint master pages, 472-474
Navigation Web Part, 461-471
binding navigation hierarchy to TreeView control, 468-469
editor part, 462-464
ExpandTree() method, 469-470
NavigationNode class, 464-466
SelectedItemChanged event handler, 471
Silverlight application startup event handler, 468
NavigationNode class, 464-466
.NET, Silverlight, 97
anonymous methods, 98-99
anonymous types, 99-100
automatic properties, 97
generic collections, 97
LINQ, 100-104
networking, Silverlight
sockets and multicast, 106
WCF Data Services, 105
WCF RIA Services, 105
web services, 105
WebClient class, 105
OData (Open Data Protocol), 292-293
Office, mapping fields to properties, 399
Office hub, 417-419
OnAuthenticated event handler, 430
OnPreRender() method, 466
Open Data Protocol (OData), 292-293
organizational charts, down-level experience, 129
organizational charts, 128
Out of Browser feature, 267
Outlook, contacts (transferring to SharePoint), 294
Packaging Explorer, 71
page layout, defining in SharePoint, 558-563
paging
list data, 277-282
SharePoint data, 306-310
caching paged data, 310-312
parameters
filter parameters, adding, 400
Silverlight, 82
pass through, BCS, 394
passing data to Silverlight
from SharePoint library, 231-240
with hidden web page fields, 226-231
with HTMLBridge, 223-225
patterns, MMVM (Model View View Model), 323-328
People search, SearchView, 323
permissions, BCS, 401
PictureView, state groups, 241
Placing Silverlight on an HTML Page, 81
PlayStates state group, 241
pluggable provider model, Create Content dialog, 121
policy files, 378
PolicyHandler, 390
PopulateComplete() method, 353
populating editor part, 462-463
PortalSiteMapProvider, 456-457
PortalSiteMapProvider class, 454-455
preview web pages, showing, 411
printing in Silverlight, 246-247
projects
Azure RibbonPrototype project (SPO), 502
button click events, 511
creating, 502-503
customer collection, retrieving, 512-513
DataServiceQuery, 512
deploying, 516
GroupRibbonElement Elements.xml file, 505-507
image deployment to SharePoint Online, 509-510
MainPage to display data from SQL Azure, 513-516
MainPage user control XAML markup, 511-512
RibbonPart.cs web part code, 507-509
sandboxed web part, 517-518
search child window XAML markup, 510
Client Side Object Model data project (SPO), 488
.dll files, 490-491
assemblies, 488
building, 490
button click event handler, 493-494
deploying, 495
references, 491
response handlers, 494-495
Silverlight Web Part, 496-497
XAML listing, 492-493
REST data project (SPO), 497
creating, 497
deploying, 501
methods to retrieve data from ListData.svc, 500-501
references, 498-499
response handler, 501
Silverlight Web Part, 502
XAML listing, 499-500
properties
automatic properties, .NET, 97
configuring in Create Content dialog, 117-118
control properties, setting (Silverlight), 92
mapping to office, 399
Silverlight Web Part, configuring, 135
prototypes, building (SketchFlow), 197-202
publishing
SketchFlow prototypes to SharePoint, 211-213
web sites, field controls, 553-555
Windows Phone 7 applications, 443-444
publishing websites
Location fields, 563-564
navigation, 448-453
queries, SearchView, 322
query completion, Enterprise Search, 346-351
querying list data, 294-296
redistribution of Client OM assemblies, 287-289
reducing load times for Silverlight applications, 137-138
referencing site map provider, 459-460
RefreshData() method, 302, 305
RegisterReceiver() method, 179
Render() method, exception handling, 235
rendering navigation controls, 472-474
Representational State Transfer (REST), 292
requirements for WCF Data Services, 293-294
resource points, 483
response handlers for Client Side Object Model data project, 494-495
response handling, asynchronous (Silverlight), 106-108
REST (Representational State Transfer), 292
REST data project (SPO), 497
creating, 497
deploying, 501
methods to retrieve data from ListData.svc, 500-501
references, 498-499
response handler, 501
Silverlight Web Part, 502
XAML listing, 499-500
retrieving data
in Silverlight, 239-240
with SharePoint web services, 431
retrieving list data, 271-274
Revert to Self, BCS, 394
RIA (rich Internet applications), 79
Ribbon, 125
Ribbon Custom Actions, creating, 283-285
RibbonPart.cs, web part code, 507-509
RibbonPrototype project (SPO), 502
button click events, 511
creating, 502-503
customer collection, retrieving, 512-513
DataServiceQuery, 512
deploying, 516
GroupRibbonElement Elements.xml file, 505-507
image deployment to SharePoint Online, 509-510
MainPage to display data from SQL Azure, 513-516
MainPage user control XAML markup, 511-512
RibbonPart.cs web part code, 507-509
sandboxed web part, 517-518
search child window XAML markup, 510
rich Internet applications (RIA), 79
root directory, testing, 229
sample data (SharePoint)
generating, 213-215
using, 215-218
SPO (SharePoint Online), 482-483
script code, adding to CEWP, 142
search box, Create Content dialog, 116
search child window, XAML markup, 510
search queries, Enterprise Search, 342-346
Search Suggestions, Enterprise Search, 351-353
search web services, Enterprise Search, 341-342
People search, 323
queries, 322
updating for Silverlight 5, 361-366
web part sample solution, 322-323
in-place web part editing experience, 328-338
MVVM pattern, 323-328
Secure Store Service, BCS, 394
security trimming, 232
SelectedItemChanged event handler, 471
serialization with JSONserializer, 236-239
Serialize() method, 464
serializing Bing Maps location, 534-536
server side exception handling, 285-286
server-side caching, 232
Shared Documents library, Silverlight, uploading, 133
SharePoint, 4-5
cross-domain policies, adding, 390-392
custom WCF services, 366-367
consuming custom web services, 372-373
creating custom web services, 367-372
field types, 521-522
Bing Maps, 523-526
installing, 16-25
integration with Silverlight, 9-11
LINQ, 60-62
lists, 43-50
page layout, defining, 558-563
publishing SketchFlow prototypes to, 211-213
transferring Outlook contacts to, 294
web services, 320-321
SharePoint API, updating list data, 59-60
SharePoint content, 28-33
SharePoint Customization Wizard, 68
SharePoint data
binding to style setters, 315-317
filtering and sorting, 312-315
paging, 306-310
caching paged data, 310-312
updating, 304-306
SharePoint Designer 2010, creating external content type, 395
SharePoint field type class, 524
SharePoint library, passing data to Silverlight, 231-240
SharePoint lists, binding to, 296-302
SharePoint Online. See SPO (SharePoint Online)
SharePoint server API, accessing lists and libraries, 51-58
SharePoint Workspace Mobile application, 418
ShowDetail() method, 407
showing child windows, 93-96
Silverlight
asynchronous response handling, 106-108
BCS, 392-409
building apps with Visual Studio 2010, 82-86
calling JavaScript and JQuery, 253-258
child windows, showing/creating, 93-96
composite controls, connecting web parts, 175-177
control properties, setting, 92
data retrieval in, 239-240
debugging, 160
field controls, building, 526-534
Full Screen mode, 246-247
integration with SharePoint, 9-11
layout controls, 87-91
maps, displaying and editing, 540-549
navigation. See navigation
.NET, 97
anonymous methods, 98-99
anonymous types, 99-100
automatic properties, 97
generic collections, 97
LINQ, 100-104
networking
sockets and multicast, 106
WCF Data Services, 105
WCF RIA Services, 105
web services, 105
WebClient class, 105
overview, 6-9
parameters, 82
passing data
with hidden web page fields, 226-231
with HTML Bridge, 223-225
from SharePoint library, 231-240
placing on web pages, 80-82
printing in, 246-247
toolbox, 87-91
web parts, 151-152
building, 159-165
building manually, 152-156
Visual Studio Silverlight web parts extension, 156-159
Silverlight 5, 108-109
debugging data binding, 303
updating SearchView for, 361-366
web browser preview, adding, 409-412
Silverlight Client Object Model. See Client OM
Silverlight Installer dialog, 119
Silverlight Web Part, 133
adding to Client Side Object Model data project, 496-497
adding to host application, 134-135
adding to REST data project (SPO), 502
application load time, reducing, 137-138
initialization parameters, passing, 136-137
properties, configuring, 135
SilverlightClientOM project, 488
assemblies, 488
building, 490
deploying, 495
.dll files, 490-491
references, 491
response handlers, 494-495
Silverlight Web Part, 496-497
XAML listing, 492-494
SilverlightPlugin control, 177
SilverlightREST project
creating, 497
references, 498-499
single machine development environment, 438-439
single machine with Hyper-V development environment, 442-443
single machine with UAG development environment, 441-442
site collections, 72
SharePoint, 28
site map nodes, 453
site map providers
building, 455-460
feature receiver to update web.config, 457-458
PortalSiteMapProvider class, 456
explained, 453-455
referencing in SharePoint master pages, 459-460
Site Settings page, adding to Elements.xml, 540
sites, 72
top-level, 74
databinding to indexers, 220-221
databinding to SharePoint data, 218-219
documenting design, 207-208
feedback, 209-211
prototypes, building, 197-202
publishing prototypes to SharePoint, 211-213
SketchFlow Player, 202-207
SketchFlow Player, 202-207
skins, 126
SLConnectionSource Sends Information on the KeyUp Event, 180
SLGridWebPart, 164
social comments, adding, 359-361
social data, accessing, 354
Activity Feed, 357-359
adding social comments, 359-361
User Profile Service, 354-357
sockets, Silverlight, 106
Solution Explorer, 71
Solution Gallery, 70
features, 70
sandboxed solutions, 69
sorting SharePoint data, 312-315
source code (HTML), editing, 139-142
SPFeatureReceiver class, 457-458
SPMetal, 60
authentication, 519-520
Azure RibbonPrototype project, 502
button click events, 511
creating, 502-503
customer collection, retrieving, 512-513
DataServiceQuery, 512
deploying, 516
GroupRibbonElement Elements.xml file, 505-507
image deployment to SharePoint Online, 509-510
MainPage to display data from SQL Azure, 513-516
MainPage user control XAML markup, 511-512
RibbonPart.cs web part code, 507-509
sandboxed web part, 517-518
search child window XAML markup, 510
blocked namespaces, 486-488
Client Side Object Model data project, 488
assemblies, 488
button click event handler, 493-494
deploying, 495
.dll files, 490-491
project type, 490
references, 491
response handlers, 494-495
Silverlight Web Part, 496-497
XAML listing, 492-493
debugging, 485-486
deployment packages, 481
development environment, 479-480
explained, 477-478
REST data project, 497
creating, 497
deploying, 501
methods to retrieve data from ListData.svc, 500-501
references, 498-499
response handler, 501
Silverlight Web Part, 502
XAMLlisting, 499-500
sandboxed solutions, 482-483
web services, 484
SPService, 18
SPTextField, 534
SPWebConfigModification class, 457
startup event handler, 468
state groups, 241
state management with VSM (Visual State Manager), 240-242
states, 241
storyboards, 241
stripping HTML tags, 385
style setters, binding SharePoint data to, 315-317
succeededCallback() method, 263-264
SyncChanges() method, 251, 463-464
TargetedTriggerAction, building, 193-196
Task list, databinding to, 435-438
Team Site, navigation, 447-450
testing
managed paths, 229
root directory, 229
TestService, 370
toolboxes, Silverlight, 87-91
tools for SharePoint and Silverlight development environment, 13-15
top-level sites, 74
transferring Outlook contacts to SharePoint, 294
TreeView control
binding navigation hierarchy to, 468-469
ExpandTree() method, 469-470
TriggerAction, building, 190-192
two-way binding, updating SharePoint data with, 304-306
types, anonymous types (.NET), 99-100
UAG (Unified Access Gateway), 431-434
ULS (Unified Logging Service), 113
UpdateLocationField() method, 546
UpdatePageControls()method, 309
UpdatePaging() method, 280
updating
external list item, 408
list data, 274-275
with SharePoint API, 59-60
SearchView for Silverlight 5, 361-366
SharePoint data, 304-306
uploading
documents, 282-283
Silverlight to Shared Documents library, 133
User Profile Service, accessing, 354-357
UserControl element, 93
Using Behaviors to “Bind” a View Event to a ViewModel Method, 328
using statement (C#), 53
value converters, 315
ViewChangedOnFrame event handler, 546
viewing external lists, 403
ViewModel, 324
virtualizing workflows, 130
down-level experience (Visio Web Applications), 132
Visio Web Applications
down-level experience, 132
workflows, virtualizing, 130
Visual State Manager (VSM), 240-242
Visual Studio 2010
building Silverlight apps, 82-86
designing Windows Phone 7 applications in, 420-422
Visual Studio Silverlight web parts extension, 156
installing, 156-159
Visual Web Parts, 36
VSM (Visual State Manager), 240-242
vti (Vermeer Technologies, Inc.), 334
WC web services in SPO (SharePoint Online), 484
advantages of, 291
list data, querying, 294-296
requirements for, 293-294
SharePoint data
binding to style setters, 315-317
caching paged data, 310-312
filtering and sorting, 312-315
paging, 306-310
updating, 304-306
SharePoint lists, binding to, 296-302
Silverlight, 105
WCF RIA Services, Silverlight, 105
web browser preview, adding with Silverlight 5, 409-412
web pages
hidden fields, passing data to Silverlight, 226-231
Silverlight, placing on, 80-82
web part sample solution, Search View, 322-323
in-place web part editing experience, 328-338
MVVM pattern, 323-328
web parts, 5
as composite controls, 63-66
building, 33-42
CEWP
applications, hosting, 138-139
files, linking, 143-144
HTML source code, editing, 140-142
script code, adding, 142
connecting, 172-174
making connections, 177-181
Silverlight in composite controls, 175-177
custom Silverlight web parts, building, 166-172
exporting, 42
JavaScript API, 125
Ribbon, 125
skins, 126
Navigation Web Part, 461-471
binding navigation hierarchy to TreeView control, 468-469
editor part, 462-464
ExpandTree() method, 469-470
NavigationNode class, 464-466
SelectedItemChanged event handler, 471
Silverlight application startup event handler, 468
Silverlight, 151-152
building, 159-165
building manually, 152-156
Visual Studio Silverlight Web parts extension, 156-159
Silverlight Web Part, 133
adding to Client Side Object Model data project, 496-497
adding to host application, 134-135
adding to REST data project (SPO), 502
application load time, reducing, 137-138
initialization parameters, passing, 136-137
properties, configuring, 135
web services
authentication.asmx, 427
in SPO (SharePoint Online), 484
SharePoint, 320-321
Silverlight, 105
web sites, publishing with field controls, 553-555
web.config file, updating with feature receiver, 457-458
WebClient class, Silverlight, 105
Windows Phone 7 applications, 417
App Hub, 419-420
authentication
FBA (forms based authentication), 426-431
UAG (Unified Access Gateway), 431-434
development environment, 438
multi-machine, 439-440
multi-machine with UAG, 440
single machine, 438-439
single machine with Hyper-V, 442-443
single machine with UAG, 441-442
development framework, 419-420
development tools, 420
Expression Blend, 423-424
Visual Studio, 420-422
Windows Phone Emulator, 424-425
Office hub, 417-419
publishing, 443-444
Task list, databinding to, 435-438
Windows Phone Emulator, 424-425
Windows Presentation Foundation (WPF), 82
wizards, SharePoint Customization Wizard, 68
workflows, virtualizing, 130
down-level experience (Visio Web Applications), 132
WPF (Windows Presentation Foundation), 82
.wsp files, 69
XAML, 85
for Client Side Object Model data project, 492-493
XML, declaration of field types, 525
3.145.37.126