14
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.

Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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.

Page 2: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 3: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 4: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 5: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 6: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 7: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 8: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 9: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 10: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 11: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 12: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 13: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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

Page 14: Hillier (Editor) Agnes · ConfigurationofSharePoint Claims 114 SharePoint's Trusted STS 114 ConfiguringClaims-Based Authentication UsingtheADFS2.0 STS 115 Architecture ofSharePointClaims

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