Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Scot Hillier (Editor)Reza Alirezaei Damn Bishop Todd Bleeker
Robert Bogue Karine Bosch Claudio Brotto
Adam Buenz Andrew Connell Randy Drisgill Todd Klindt
Gary Lapointe Igor Macori Jason Medero Agnes Molnar
Chris O'Brien Joris Poelmans Asif Rehmani John Ross
Nick Swan Mike Walsh Randy Williams Shane Young
WILEY
Wiley Publishing, Inc.
CONTENTS
FOREWORD xxvii
INTRODUCTION xxix
CHAPTER 1: BUILDING A PERFECT TEST ENVIRONMENT FORSHAREPOINT SERVER 2010 1
Getting Ready 2
Windows 2
What About Windows 7 or Vista? 3
Installing Windows 2008 R2 3
Setting a Computer Name 4
Making the VM a Domain Controller 5
Configuring Windows 7
SQL Server 12
Installing SQL Server 2008 R2 12
SharePoint 2010 15
Installing SharePoint 2010 15
Setting Up Some User Data 25
SQL Server Reporting Services 29Other Software 33
Summary 33About the Author 34
CHAPTER 2: UPGRADING TO SHAREPOINT SERVER 2010 -
THE HYBRID APPROACH 35
Understanding the New SharePoint 2010 Upgrade Process 36
System Requirements for a SharePoint 2010 Upgrade 36
SharePoint 2010 Upgrade Improvements 37
Pre-Upgrade Checker 38
Upgrade Logging 40
Visual Upgrade 41
Database Test cmdlet 44
Expected Downtime 44
Central Administration Status Page 45
Site Access During an Upgrade 46
Dealing with Large Content Databases 46
CONTENTS
Upgrading with Custom Site Definitions 47
Choosing the Right Upgrade Approach 50
In-Place Upgrade Approach 50
In-Place Upgrade Under the Hood 52
Post In-Place Upgrade 54
Database Attach Upgrade Approach 58
Post Database Attach Upgrade 61
SharePoint 2010 Hybrid Upgrade Approach 61
Read-Only Databases Hybrid Approach 62
Detach Databases Hybrid Approach 66
Summary 68
About the Author 68
CHAPTER 3: MONITORING SHAREPOINT 2010 69
ULS 69
Trace Logs 70
Configuring Log Settings with PowerShell 74
Using Logs to Troubleshoot 77
Methods for Consuming the Trace Logs 80
Windows Event Logs 85
Logging Database 86
Configuring the Logging Database 88
Consuming the Logging Database 90
Health Analyzer 94
Reviewing Problems 94
Rule Definitions 97
Timer Jobs 98
Timer Job Management 98
Timer Job Status 100
Summary 102
About the Author 102
CHAPTER 4: SHAREPOINT 2010 SECURITY UNDER THE HOOD -
CLAIMS-BASED AUTHENTICATION 105
Introducing the Identity Metasystem 106
Identity in a Claims-Based World 107
The Security Token Service (STS) 108
The Problem with Multiple Identities 110
Claims Impact on Delegation 112
Mapping Technology to Components 113
xiv
CONTENTS
Active Directory Federation Services (AD FS) 113
Windows Identity Foundation (WIF) 114
CardSpace 114
Configuration of SharePoint Claims 114
SharePoint's Trusted STS 114
Configuring Claims-Based Authentication Using the AD FS 2.0 STS 115
Architecture of SharePoint Claims 120
Internal Enterprise Claims (IEC) 120
Public Cloud Claims (PCC) and the LDAP Provider 122
Enterprise Identity Federation (EIF) 124
Summary 126
About the Author 127
CHAPTER 5: USING POWERSHELL WITH SHAREPOINT 2010 129
Understanding PowerShell Basics 130
An Object-Based Scripting Language 131
The Extended Type System 133
The Object Pipeline 136
Formatting Object Data 138
Filtering and Iterating 139
Functions and Scripts 141
Using SharePoint 2010 Cmdlets 144
Finding What You Need 144
PipeBind Objects 146
Commonly Used Cmdlets 147
Handling Disposable Objects 154
Creating Custom Cmdlets 156
When to Create Custom Cmdlets 157
Common Base Classes 157
Custom PipeBind Objects 159
Packaging and Deploying Using Visual Studio 2010 161
Summary 164
About the Author 164
CHAPTER 6: BACKING UP AND RESTORING SHAREPOINT 2010 165
Operations Planning 166
Importance of a Disaster Recovery Plan 166
Types of Recovery 168
Content Recovery 168
Disaster Recovery 169
xv
CONTENTS
What's New in 2010 170
Farm Configuration Backup and Recovery 170
Changes to Central Administration 171
PowerShell 172
SQL Database Snapshots 172
Unattached Content Database Recovery 173
List Import and Export 174
Search Recovery Improvements 175
Understanding the Types of Backups 175
Granular Backups 176
Farm Backups 184
Recovery Scenarios 194
Item-Level Recovery 194
Site-Collection Recovery 197
Content Database Recovery 198
Farm Disaster Recovery 198
Recommendations 201
Keeping a Change Log 201
Using SharePoint Solutions for Custom Code 202
Other Items to Protect 202
Content Database Sizing 203
Performing Trial Restores 203
Third-Party Solutions 203
Summary 204
About the Author 204
CHAPTER 7: WORKING WITH SHAREPOINT DESIGNER 2010 205
Evolution of SharePoint Designer 205
Who Should Use SharePoint Designer? 206
Requirements for Using SharePoint Designer 2010 207
What's New? 208
Overview of the New User Experience 208
Restricting Access to SharePoint Designer 213
Branding 217
Views and Forms 224
Workflows 230
Data Sources 239
Using SharePoint Designer Effectively in Your Environment 243
Managing Sites 243
Workflows 243
xvi
CONTENTS
Branding 244
Prototyping Development Tasks 245
Summary 245
About the Author 246
CHAPTER 8: BUILDING SANDBOXED SOLUTIONS 247
The Push to No-Code Solutions 248
Understanding the Concept of a Sandboxed Solution 249
Understanding the Execution of Declarative Code 253
Understanding What You Can and Can't Do 253
Your First Sandbox Project 255
Getting Out of the Sandbox 259
Exploring Alternatives to the Sandbox 265
Understanding When to Use Sandboxed Solutions 266
Summary 267
About the Author 267
CHAPTER 9: SHAREPOINT 2010 WEB PARTS 269
Web Part History 270
Historical Perspective 270
Web Part Goals 271
What's New 274
Web Part Development 276
Step 1: Prepare Environment 277
Step 2: Create Project 277
Step 3: Add Item 278
Step 4: Configure Feature 278
Step 5: Configure Solution 278
Step 6: Write Code 279
Step 7: Deploy Assets 279
Step 8: Test Solution 279
Step 9: Secure Code 280
Step 10: Deliver Solution 280
Web Part Basics 280
Web Parts Defined 280
Web Part Benchmarks 281
Web Part Framework 282
Web Part Ribbon 289
Web Part Properties 293
Web Part Resources 294
XVll
CONTENTS
Creating a Simple Visual Web Part 295
Prepare Environment 295
Create Project 295
Add Items 298
Configure Feature 301
Configure Solution 302
Write Code 305
Deploy Assets 309
Test Solution 312
Secure Code 316
Deliver Solution 320
Enhancing the Visual Web Part 320
Write Code 320
Deploy Assets 322
Test Solution 322
Adding an Editor Part 323
Write Code 323
Deploy Assets 329
Test Solution 329
Adding Web Part Verbs 330
Write Code 331
Deploy Assets 332
Test Solution 332
Summary 332
About the Author 332
CHAPTER 10: AUTOMATING BUSINESS PROCESSES 335
Using InfoPath and SharePoint Designer Individually 336
Building Powerful Forms Using InfoPath 336
Using SharePoint Designer to Build Solutions on Top of SharePoint 344
Combining InfoPath and SharePoint Designer 349
Creating InfoPath Forms for the Browser 350
Automating Processes Using SharePoint Designer Workflows 360
The Final Product 371
Summary 373
About the Author 373
xvill
CHAPTER 11: BUILDING CUSTOM SERVICE APPLICATIONS
FOR THE RIGHT SITUATIONS 375
Understanding Services in SharePoint 376
History of Services in SharePoint 376
SharePoint Portal Server 2003 376
Office SharePoint Server 2007 377
SharePoint 2010 Service Architecture Framework 377
SharePoint 2010 Service Application Extensibility 378
What the Service Application Framework Offers 379
Determining Whether or not to Build a Custom Service Application 379
Creating the Wingtip Calculator Service Application 380
Configuring the Visual Studio 2010 Project 381
Creating the Application Server Components 384
Creating the Web Front End Server Components 396
Creating the Service Consumers 401
Summary 405
About the Author 405
CHAPTER 12: MANAGING THE SHAREPOINT
APPLICATION LIFECYCLE 407
Provisioning with Solution/Feature XML Versus .NET Code 408
Generating Feature XML Using Site Templates 409
Upgrading a SharePoint Application 415
Feature Upgrade in SharePoint 2010 415
An Example of Feature Upgrade 416
Upgrading Different Artifacts 428
Assembly Versioning in a SharePoint Application 431
Versioning of .NET Assemblies 431
Using the BindingRedirect Element in a WSP Manifest 432
Versioning Strategies in SharePoint Applications 435
ALM and Sandboxed Solutions 437
Solution Upgrade Model 438
Feature Upgrade 438
Assembly Versioning 438
Summary 438
About the Author 439
CHAPTER 13: USING SILVERLIGHT 4 WITH SHAREPOINT 2010 441
The Silverlight News Banner 442
Developing a SharePoint Web Part Hosting a Silverlight Application 453
Adding a Custom Ribbon to the Web Part 459
Changes Made to the Silverlight News Banner 464
CONTENTS
Deployment Possibilities and Accessibility Scope Impact 465
Developing a SharePoint Custom Field Type Hosting a SilverlightApplication 466
The Picture Service 467
The Silverlight Picture Picker 470
The PicturePicker Field 476
The News List Definition 480
Developing a SharePoint Application Page That Hosts Several
Communicating Silverlight Applications 485
The SLNewsltemsListBox Silverlight Application 486
The SLNewsltemDetails Silverlight Application 495
The News Manager Application Page 502
Hosting a Silverlight Application in the Master Page 505
The Marquee Server Control 505
The Custom Master Page 507
Deploying the Custom Master Page 507
Using Business Connectivity Services 510
Defining the External Content Type 510
Defining the External List 512
Developing the WCF Service 512
Modifying the News Banner Web Part 515
Modifying the News Banner Silverlight Application 517
Using Silverlight from within a Sandboxed Solution 520
Summary 524
About the Author 524
CHAPTER 14: BUSINESS CONNECTIVITY SERVICES 525
A Brief Look Back 526
Terminology Changes 526
Welcome to SharePoint 2010 527
Existing BDC Applications During an Upgrade 529
BCS Features Available in SharePoint Foundation 529
External Lists 529
External Data Column 530
BCS Features Available in SharePoint Server 2010 531
Business Data Web Parts 532
Search 532
User Profiles 534
Office Client Integration 534
Using Tools to Create ECTs 536
SharePoint Designer 2010 536
XX
CONTENTS
Visual Studio 2010 539
BCS Meta Man 548
Developing Against the BCS Object Models 548
Summary 548
About the Author 549
CHAPTER 15: USING PERFORMANCEPOINT SERVICES 2010 551
The Case for Business Intelligence 552
Why Does a Company Need Bl? 552
Asking the Right Questions 552
How Can PerformancePoint Services Help? 553
PerformancePoint Services 2010 Overview 553
PerformancePoint Services Architecture 553
Configuring and Enabling PerformancePoint Services 555
Configuring the Unattended Service Account 555
Configuring Trusted Locations 556
Enabling PerformancePoint Services on a Site 557
Configuring the Client 558
Creating a PPS Dashboard 559
Creating PPS Content 561
Creating the Workspace 561
Deploying Dashboards and Dashboard Components 573
Securing Dashboards 574
About the Author 576
CHAPTER 16: MANAGING METADATA WITH
SHAREPOINT SERVER 2010 577
Information Architecture 577
Taxonomy and Metadata 578
Taxonomy Versus Folksonomy 580
Metadata and Taxonomy Platform Enhancements 580
Applying Centrally Stored Metadata 581
Working with the Term Store Management Tool 583
Using the Service Application 587
Understanding Location-Based Metadata 590
Understanding Metadata Navigation Settings 591
Document Sets and Metadata Behavior 593
Using Content Organizers 595
Understanding Content Type Syndication 596
Understanding Social Tagging and Metadata 598
Extending Social Networking 599
XXi
CONTENTS
Programmatic Access to the EMM Service 600
Using the Taxonomy API 600
Remote Access to the Term Store 603
Summary 604
About the Author 604
CHAPTER 17: UNDERSTANDING SHAREPOINT 2010 SEARCH 605
New and Improved SharePoint 2010 Search 606
SharePoint 2010 Search Engines 608
SharePoint 2010 Search Engine 608
FAST Search Server 2010 Engine 611
Deploying SharePoint 2010 Search 613
Deploying a New Search Service Application 613
Crawling and Indexing 615
Queries and Results 616
Reports 617
Deploying FAST Search Server 617
Installing FAST Search Server 2010 for SharePoint 617
Deploying FAST Search Service Applications 619
Using PowerShell Commands 620
Building the Search Architecture 621
Defining Content Sources 621
Using Scopes 624
Scheduling Crawls 624
Using Search Federation 625
Understanding Keywords and Best Bets 627
User Context in FAST Search 628
Using People Search 628
Customizing User Interfaces 630
Understanding Centralized and Decentralized Uls 630
Using Search Centers 631
Using Search Web Parts 631
Customizing the Refinement Panel 632
Integrating the Client 632
Improving "Findability" and "Searchability" 633
Using Managed Metadata 633
Using Metadata Properties 634
Improving Keywords and Best Bets 635
xxii
CONTENTS
Improving People Search 635
Improving the User Context in FAST Search 635
Understanding SEO and SharePoint 2010 635
Summary 636
About the Author 636
CHAPTER 18: UNDERSTANDING BRANDING IN SHAREPOINT 2010 637
Introduction to SharePoint Branding 637
Comparing SharePoint Foundation 2010 and SharePoint Server 2010 638
Types of SharePoint Sites 638
How Branding Works in SharePoint 642
Approaches to Branding SharePoint 2010 647
Exploring New Branding Features 647
Adhering to HTML Standards 648
Expanded Browser Support 649
Master Page Improvements 650
Wiki Pages 651
Dialog Boxes 652
Multi-Lingual User Interface (MUI) 654
Visual Upgrade 655
Creating a Branded SharePoint 2010 Site 655
Working with SharePoint 2010 Themes and Alternate CSS 656
Creating a Custom Master Page 663
Summary 669
About the Author 669
CHAPTER 19: PLANNING, DESIGNING, AND ADMINISTERING A
MULTIMEDIA ASSETS MANAGEMENT SOLUTION 671
Looking at Digital Assets Management Scenarios 671
Facing Challenges in Multimedia Solutions Design and Implementation 672
Infrastructure Deployment 674
Remote BLOB Storage 675
Bit Rate Throttling Module 677
BLOB Cache 679
Branch Cache 680
Designing the Data Foundation 682
Planning Asset Content Types 682
Delivering Content through Asset Libraries 683
xxlll
CONTENTS
Configuring and Developing the User Experience 685
Using the Out-of-the-Box Multimedia Web Part 685
Multimedia Field Type 687
Content Query Web Part 689
Designing Custom Skins for Multimedia Players 689
Media Player Advanced Configuration 691
Designing Custom Asset Library View Styles 693
Packaging the Solution in a Custom Site Definition 695
Asset Library Feature Activation 696
Definition of a Data Structure 696
Creation of Asset Library Instances 697
Definition of Custom Asset Libraries 697
Notes from the Field 699
Choosing a Farm Topology 699
Monitoring the Bandwidth Usage 700
Planning Content Storage 701
Facing a High Number of Concurrent Users 701
Improving the Responsiveness for Users in Branch Offices 701
Handling Large Files Stored Inside SharePoint 701
About the Authors 702
CHAPTER 20: ACCESSING SHAREPOINT DATA 703
Data Modeling 703
Data Access Options 704
Creating Sample Lists 706
Accessing SharePoint Data Using the Server-Side Object Model 707
Query Optimization 707
Working with Collections 708
LINQ to SharePoint 721
Accessing SharePoint Data Using the Client-Side Object Model 730
ClientContext Object: The Entry Point 731
Querying Lists Using JavaScript 731
Manipulating SharePoint Data Using JavaScript 735
JavaScript IntelliSense 737
Accessing SharePoint Data Using Web Services 738
WCF Data Services 738
Legacy ASP.NET Web Services 742
Accessing SharePoint Data Using No-Code Solutions 743
Summary 744
About the Author 744
xxiv
CONTENTS
CHAPTER 21: FINDING ANSWERS TO YOUR
SHAREPOINT 2010 QUESTIONS 745
Looking for Books 745
Continually Expanding Your Knowledge 747
Microsoft Sites 748
MSDN Site 749
TechNetSite 749
Microsoft Office Site 750
Webcasts 750
Microsoft Knowledge Base Articles 751
Magazines 752
Blogs 752
Newsgroups and Forums 753
RSS Feeds 756
Solving Sudden Problems 757
Searching 757
Asking a Question in a Forum 758
About the Author 762
INDEX 763
XXV