Introduction 1
Part I Welcome to SharePoint Server 2010!
1 SharePoint 2010 Overview 15
Versions Discussed in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
How to Tell Which Version You Are Running. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Why Use SharePoint 2010?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Document Management and Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Content Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Integration with Existing Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Enterprise Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Business Intelligence (BI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
The Face of the Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Key 2010 Functional Areas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Comparison to SharePoint Server 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Communities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Insights (Business Intelligence) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Composites (Extending SharePoint). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Administrative Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Central Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Windows PowerShell Commands for SharePoint. . . . . . . . . . . . . . . . . . . . . . . . . . 50
Developer Dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Upgrade Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Visual Upgrade Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2 SharePoint Server 2010 Architectural Overview 53
Terminology and Fundamental Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Flow of SharePoint Information: Inheritance Model . . . . . . . . . . . . . . . . . . . . . 57
SharePoint Farms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
SharePoint Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
SharePoint Farm Extensibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Security and Identity (Authentication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Extending Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Managed Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Service Applications: Sharing SharePoint Resources . . . . . . . . . . . . . . . . . . . . . . 62
Site Collections and Subsites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Organization of Subsites within a Single Site Collection . . . . . . . . . . . . . . . . . . 65
Site Templates When Provisioning Site Collections . . . . . . . . . . . . . . . . . . . . . . 66
Vanity URLs: Host Headers for Site Collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
URL Considerations When Moving to a New Site or Upgrading . . . . . . . 67
Other Considerations with Site Collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Site Collections and Tenant Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Platform Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Pages and User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Server APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Connected Client APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Application Model (Sites). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Application Lifecycle Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
System and Other Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Operating System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Software Prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Design and Developer Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Supported Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3 Introduction to the SharePoint 2010 Fluid Interface 89
Key Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
SharePoint 2010 Ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Known Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Anatomy of the Ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
The Contextual Ribbon in Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Customizing the Ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Positioning the Ribbon on a Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Ribbon Behavior in Anonymous Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Where the Ribbon Is Not included . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
What the Ribbon Is Not: Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Dialog Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Status Bar and Notification Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4 Design Administrative Tasks: Site Settings, Permissions, and Creating Sites 103
Site Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
The Difference Between Site and Site Collection Administration. . . . . . . . . . 104
Walkthrough Key Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Configuring Anonymous Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Setting Anonymous Access on the Web Application . . . . . . . . . . . . . . . . . . . 113
Setting Anonymous Access on the Site Collection . . . . . . . . . . . . . . . . . . . . . . 114
Setting Anonymous Access at List or Library Level . . . . . . . . . . . . . . . . . . . . . 115
Setting Item-Level List Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Other Tips and Tricks When Working with Anonymous Sites. . . . . . . 120
Locking down Form Pages in an Internet Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Creating a SharePoint 2010 Site Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Site Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Create a New Site Collection from Central Administration . . . . . . . . . . 124
Creating Subsites (Webs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5 In-Browser Customization: Navigation, Content Pages, and Content 129
How Navigation Works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Navigational Options in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
How Site Navigation Settings Work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Tree View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Navigation Settings Page: SharePoint Server 2010. . . . . . . . . . . . . . . . . . . . . . . 137
Navigation Tab Naming: Home Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Site Collection Navigation Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Cross-Site Collection Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Portal Site Connections and Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Working with Content Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Type of Pages in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Pages and Feature Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Key Features Relating to Content Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Saving Pages: Avoiding Loss When Navigating away from Pages. . . . . . 155
Save Conflicts: Avoid Clobbering Other User’s Edits . . . . . . . . . . . . . . . . . . . 155
How to Create New Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Editing Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Rich Text Editing Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Pasting Content into Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
XHTML Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Page Commands Common to Wiki and Publishing Pages . . . . . . . . . . . . 166
Setting the Site’s Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Determining What Page to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Pages and URL Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Working with Wiki Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Working with Web Part and Form Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Working with Publishing Pages (Page Layouts). . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Lists, Libraries, and Images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Lists and Library Templates in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . 185
Using Forms on Anonymous Sites: Create a Contact Form. . . . . . . . . . . 190
Adding Images to Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Moving and Copying Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Working with the Ratings Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
How to Enable Ratings: Timer Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Adding Ratings to Lists (and Libraries). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Ratings and Content Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Ratings in Search Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Accessibility in the User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
6 In-Browser Customization: Branding with Web Parts, Themes, and Master Pages 207
Working with Web Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Where Are Web Parts Stored . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Adding Web Parts to Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Modifying Web Part Properties and Configuration. . . . . . . . . . . . . . . . . . . . . . 212
Web Part Page Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Personal and Shared Views in 2010: Personalization . . . . . . . . . . . . . . . . . . . 219
Add a Note Board Web Part to a Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Style a Page with the Content Editor Web Part (CEWP) . . . . . . . . . . . . . . . 221
Adding Code or JavaScript to the CEWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Problems with Pages After Adding Code to a CEWP. . . . . . . . . . . . . . . . . . . . 228
Working with the HTML Form Web Part. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Working with the Media Web Part. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Silverlight Web Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Working with the Content Query Web Part (CQWP) . . . . . . . . . . . . . . . . . . 241
Web Parts and Anonymous Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Connecting Web Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Changing a Site’s Look and Feel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Storage Locations for SharePoint Branding Components . . . . . . . . . . . . . 247
Change the Site Title, Logo, and URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Change a Site’s Theme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Introduction to Master Pages and CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Out-of-the-box Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Changing a Site’s Master Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Site and System Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Alternate CSS URL: Overriding a Site’s CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Master Pages and Content Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Part II Enhancing Sites with SharePoint Designer 2010
7 Web Interface Design with SharePoint Designer 2010 265
Introduction to SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Who Is SharePoint Designer For?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Limitations of SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Changes from SharePoint Designer 2007 to SharePoint Designer 2010. . .267
Compatibility and Product Versions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
SharePoint Designer 2010 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . 271
SharePoint Designer Security and Permission Settings . . . . . . . . . . . . . . . . . 272
Evolution of Web Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Moving on from In-Browser Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Opening SharePoint Sites in SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Launch SharePoint Designer Directly from the Client . . . . . . . . . . . . . . . . . 285
Launch SharePoint Designer from a SharePoint 2010 Site . . . . . . . . . . . . 287
Note on Opening Publishing Sites and Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Opening Anonymous SharePoint Sites in SharePoint Designer . . . . . .. . 291
Opening SharePoint Sites Set to Basic Authentication . . . . . . . . . . . . . . . . . 292
Exploring the SharePoint Designer Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Anatomy of the SharePoint Designer User Interface. . . . . . . . . . . . . . . . . . . . 293
Flexible Navigation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Accessing Content via the Navigation Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Lists and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Site Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Site Assets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Content Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Site Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
External Content Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Page Layouts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Site Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Subsites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
All Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Administering Sites in SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Administer Sites via the Settings Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Administering Sites via the Ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
More SharePoint Designer Configuration Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Modifying the Recent Sites List in the SharePoint Designer Backstage. . . . . . . 331
General Options for Working with SharePoint Designer . . . . . . . . . . . . . . 332
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
8 Creating Sites with Site Templates 333
Creating New Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Site Template Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Creating New Sites via the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Site Template Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
SharePoint 2010 Site Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Physical Location of Default Site Templates (Site Definitions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Publishing and Non-publishing Site Templates . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Deprecated Site Templates in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Site Templates New to SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Enhanced Site Templates: Document Center Site Template . . . . . . . . . . 348
Hiding Subsite Templates in Publishing Site Collections . . . . . . . . . . . . . . 349
Deprecated Site Directory in SharePoint Server 2010. . . . . . . . . . . . . . . . . . . 352
Site Templates Not Editable in SharePoint Designer . . . . . . . . . . . . . . . . . . . . 353
Creating New Sites in SharePoint Designer 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Creating Sites from SharePoint Designer Backstage . . . . . . . . . . . . . . . . . . . . . 355
Creating New Sites from the Settings Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Post-site Creation Design Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Deleting Sites in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Creating New Site Templates: WSP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Looking Inside a WSP File: Finding the Template ID . . . . . . . . . . . . . . . . . . . 362
Site Templates and SharePoint Server 2010 Publishing Sites . . . . . . . . . 363
Create a New Site Template in SharePoint Designer 2010. . . . . . . . . . . . . 364
Making Site Templates Available to all Site Collections. . . . . . . . . . . . . . . . 370
Including Site Content When Saving Sites as Templates . . . . . . . . . . . . . . 375
SharePoint Designer Customizations and Site Templates. . . . . . . . . . . . . . 376
Deleting and Deactivating Site Templates on Site Collections. . . . . . . . . . 377
Importing Sites into Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Upgrading Site Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
What About the FAB40 Templates from Microsoft?. . . . . . . . . . . . . . . . . . . . . 381
What’s in an Application Template?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Installing a FAB40 Application Template in SharePoint 2010. . . . . . . . 382
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
9 Working with Content Types and Columns in SharePoint Designer 389
Working with Content Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Accessing Content Types in SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . . 390
Settings You Must Address via the Web Interface. . . . . . . . . . . . . . . . . . . . . . . . 393
Behind the Scenes: The _CTS Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Creating New Site Content Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Managing Site Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Accessing Site Columns in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . 405
Creating New Site Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
10 Creating and Configuring Lists and Libraries 411
Working with Lists and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
List Configuration Options Not Available in SharePoint Designer . . . .. 413
Accessing Existing Lists and Libraries in SharePoint Designer . . . . .. . 414
Anatomy of List Settings Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Creating a New List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Modifying Column Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Creating New External Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Adding Content Types to Lists and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Creating a New Wiki Page Library with Multiple Content Types. . . . 428
Managing Lists and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Changing the URL of a List or Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
List and Library Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Hiding Lists or Libraries from the Browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Accessing Documents in Document Libraries in SharePoint Designer . . .. . . 436
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Part III Styling and Designing SharePoint 2010 Sites
11 Understanding SharePoint Designer Editing Features 441
Page Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Discussion on DOCTYPE and SharePoint 2010 Pages . . . . . . . . . . . . . . . . . . 443
The Editing Workspace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Page Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Editing Options in Code View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Task Panes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Visual (Editing) Aids. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Ruler and Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Page Compatibility, Compliance, and Accessibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Compatibility and Accessibility in SharePoint Designer. . . . . . . . . . . . . . . 457
Accessing SharePoint Designer Editing Features Using a Keyboard . . . . . 464
General Page Editing Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Editing Fonts: Design Consideration for Style and Consistency . . . . . . .. . . 465
Working with Fonts via the Ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Paragraph Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Previewing Pages in the Browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Setting the Page Size for SharePoint Designer Workspace . . . . . . . . . . . . . 470
Using Find and Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Using the Select Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Using the Skewer Click: Discovering HTML Tags and Elements . . . . .. . 472
Using the Quick Tag Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Inserting Hyperlinks, ScreenTips and Bookmarks. . . . . . . . . . . . . . . . . . . . . . . . 474
Checking out Pages for Editing: Avoiding Edit Collision. . . . . . . . . . . . . . . . . . . . . . 475
Undo a Checked Out File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Checked-out Files and SharePoint Designer Caching Issue . . . . . . . . . . . 480
Checking the Edit Status Between Browser and SharePoint Designer Editing . . .. 480
Editing Modes: Normal and Advanced Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Working in Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Working in Advanced Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Advanced (Editing) Mode: Customized and Uncustomized Pages. .. . . 485
Non-editable Page Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Understanding Master Page Placeholder Inheritance . . . . . . . . . . . . . . . . . . . 493
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
12 Working with Content Pages in SharePoint Designer 499
The Fundamentals of SharePoint Page Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Creating New Content Pages with SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . 503
Where to Create Content Pages in SharePoint Designer. . . . . . . . . . . . . . . 504
Content Page Storage Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Which Content Page Type: HTML, ASPX or Web Part Page? . . . . . . . . . 506
What About Creating and Customizing Wiki Pages? . . . . . . . . . . . . . . . . . . . 512
Creating Web Part Pages from Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Create a New Web Part Page from the Ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Creating a New Web Part Page from Backstage. . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Creating ASPX Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
New ASPX Page from Master. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Working with the Page Settings Page to Manage Page Properties and Versioning. .. . . . 520
File Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Page Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Page Version History and Restoring Pages from Versions . . . . . . . . . . . . . 523
Deleting and Restoring Content Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Deleting a Team Site’s Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Moving and Copying Content Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Moving and Copying within the Same Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Moving and Copying Between Different Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
13 Building New Content Pages and Configuring Web Parts and Web Part Zones 533
Working with Web Part Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Web Part Page Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Web Part Page Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Editing Web Part Zones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Adding New Web Part Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Adding Web Parts to Web Part Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Changing the Master Page Association on a Single Web Part Page. . . . . 547
Editing and Designing ASPX Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Attaching a Master Page to an Existing ASPX Page. . . . . . . . . . . . . . . . . . . . . . 552
Master Page Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Detaching a Master Page from an ASPX Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Adding Web Part Zones to ASPX Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Adding Web Parts to ASPX Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Document IDs and [if gte mso 9] Tags in New ASPX Pages. . . . . . . . . . . 560
Tables versus CSS/DIV Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Adding and Styling Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Working with DIV Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Creating a Layout from a Predefined Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Create a New SharePoint Page with DIV/CSS-based Layout . . . . . . . . . . 570
Consuming New Page Templates in the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . 577
Adding Ratings to ASPX and Web Part Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Changing and Editing a Site’s Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Locating the Site’s Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Setting a New Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Accessing a Team Site’s Default.aspx page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Redirecting the Site’s Home (or Other) Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
14 Extending Content Pages with Media and Dialogs 593
Adding Pictures to Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Selecting Pictures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Formatting Pictures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Inserting Images in Wiki Pages in SharePoint Designer. . . . . . . . . . . . . . . . 615
Adding Background Images to Content Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Adding Behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Modifying Behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Adding Custom Buttons to Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Spicing up Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Working with Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Adding Flash to Pages in SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Create a Media Player Test Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
15 Creating New Publishing Page Layouts 641
Terminology and Page Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
Advantages of Page Layouts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
Key Changes in Page Layouts Since SharePoint Server 2007 . . . . . . . . . 643
Page Layout Modeling in SharePoint Server 2010. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Page Layout Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Page Layout Composition: Content Types and Columns . . . . . . . . . . . . . 645
Page Layout Composition: CSS, Layout, and Preview Images. . . . . . . . 653
Page Layouts: XML Changes to Page Editing Tools . . . . . . . . . . . . . . . . . . . . . 655
Page Layouts in SharePoint Server 2010: Hidden Pages. . . . . . . . . . . . . . . . 656
Physical Location of Page Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
How Page Layouts are Deployed to Site Collections . . . . . . . . . . . . . . . . . . . . 659
Page Layouts in SharePoint Designer 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
What If You Cannot See the Page Layouts Object? . . . . . . . . . . . . . . . . . . . . . 662
Page Layouts Object in Subsites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Publishing Field Controls versus Web Parts on Page Layouts . . . . . . . . 663
Accessing Field Controls in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . 664
Page Layout UIVersioned Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Styling Page Layouts with DIVs or Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Creating New Page Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Create a New Page Layout Based on an Existing Content Type. . . . . .. . 667
Test the New Page Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Modify a Property of an Existing Field Control . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Edit the Page in the Browser: Duplicate Field Controls . . . . . . . . . . . . . . . . 673
Creating a New Page Layout Content Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
Style the New Page Layout with DIVs and CSS. . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Add Field Controls to a Newly Styled Page Layout. . . . . . . . . . . . . . . . . . . . . . 679
Creating New Publishing Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Adding New Columns to the Company Events Page Layout. . . . . . . . . 682
Configuring the Rich HTML (Page Content) Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Pasting Content Directly from Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
Styling Options for a Rich HTML Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Adding Web Part Zones to Page Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Setting Visibility of Content on Page Layouts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
How Page Layouts Work with Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
Overriding Master Page Content Placeholders in Page Layouts . . . . . 693
Common Issues When Working with Content Placeholders. . . . . . . . . 698
Working with Publishing Pages in SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . 699
Editing Publishing Pages in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . 700
Detach a Publishing Page from Its Page Layout . . . . . . . . . . . . . . . . . . . . . . . . . . 700
Changing a Detached Publishing Page’s Master Page. . . . . . . . . . . . . . . . . . . 703
Reattaching a Publishing Page to Its Page Layout . . . . . . . . . . . . . . . . . . . . . . . 704
Additional Page Layout Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Page Layouts: Customized and Uncustomized States. . . . . . . . . . . . . . . . . . . 706
Adding Script and CSS to Page Layouts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
Adding a Printer Friendly Button to a Page Layout . . . . . . . . . . . . . . . . . . . . . 708
Add a Background Image to a Page Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
Deleting Page Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Deleting Page Layout Content Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Hiding Page Layouts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
Renaming Page Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
16 Working with and Creating New SharePoint Cascading Style Sheets (CSS) 715
CSS Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
What Does CSS Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
CSS Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
What About CSS3?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
SharePoint 2010 CSS Landscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
The Relevance of CSS in SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
Styling with CSS Alone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
CSS Classes in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
CSS Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
Themable CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
Dialogs and CSS in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
Default SharePoint CSS Files and Locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
Main CSS Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
Storage of CSS Files in Site Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
Customizing CSS Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
How SharePoint References CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
Referencing CSS Files in SharePoint Master Pages . . . . . . . . . . . . . . . . . . . . . . . 735
CSS File Rendering Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
The !Important Property is your Friend!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
CSS Inheritance in Site Collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Working with CSS in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Managing and Creating Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
Leveraging Other SharePoint Designer CSS Tools. . . . . . . . . . . . . . . . . . . . . . . . 756
Working with Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Using Browser Tools to Discover CSS Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
Changing a Site’s CSS in Real-time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Overriding Existing SharePoint Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Modifying Ribbon and Navigation Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Removing All Site Content and Recycle Bin Links . . . . . . . . . . . . . . . . . . . . . . 775
Customizing Rich Text Editor Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
Rich Text Editor Styles on Publishing Pages: PrefixStyleSheet . . . . .. . . 782
Font Sizing: Relative versus Absolute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
Styling XSLT List View Web Parts (XLVs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Hiding the Web Part Title Checkbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Rounded Corners in XLVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
Configuring Print CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Creating a Print CSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
17 Creating New SharePoint 2010 Master Pages 793
Master Pages in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
Search Center and MySite Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
Basic Master Page Architecture in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . 796
New in SharePoint 2010 Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
Unchanged Since SharePoint 2007. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
Deploying Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
Master Page Inheritance in Site Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
Important Considerations When Working with Master Pages . . . . . . . . 803
Troubleshooting Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Keeping Up with the Browsers! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
Working with Master Pages in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Working with Existing Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Changing a Site’s Master Page in SharePoint Designer . . . . . . . . . . . . . . . . . 813
Switching a Site to the SharePoint 2007 Look and Feel. . . . . . . . . . . . . . . . 814
Customizing Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
Creating New Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
Creating a New Master Page Based on the v4.master Page. . . . . . . . . . . . 819
Managing the Master Page Lifecycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Creating a New Master Page from a Starter Master Template . . . . . . . . 827
Creating Fixed-Width Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
Storing and Referencing Master Page Assets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
SharePoint 2010 Master Page Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
Master Page HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
SharePoint Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
Content Placeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
Using Master Page Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
Changing the Appearance of Master Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
Changing the Order of the Banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
Maintaining Site Title and Top Menu When Changing the Ribbon Tab. . . . .. . . . . . 851
Moving the Search Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
Adding a Footer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
Remove Social Tags in a Master Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
Hyperlinking the Site Logo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
Adding a Print Command to a Master Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
Controlling Visibility of Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
Hiding the Site Actions Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
Hiding View All Site Content Link in Site Actions Menu . . . . . . . . . . . . . 864
Removing the Left-hand Menu from Master Pages. . . . . . . . . . . . . . . . . . . . . . 865
Hiding the List Item Menu (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
Hiding the Recycle Bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
Managing Dialogs in Custom Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
Invoking Dialogs in Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
Working with the Ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
Fixing the Ribbon’s Position: Scroll or No Scroll. . . . . . . . . . . . . . . . . . . . . . . . . 872
Hiding the Ribbon on Internet Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
Managing JavaScript in SharePoint Master Pages . . . . . . . . . . . . . . . . . . . . . . . . 881
Relocating Hidden Ribbon Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
Working with SharePoint Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
Site Map Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
Working with the Top-level Navigation in v4.master . . . . . . . . . . . . . . . . . . 891
Using the CombinedNavSiteMapProvider Site Map Provider . . . . . . . . 895
Using the CombinedNavSiteMapProvider on Publishing Site Collections . . .. . 896
Creating Multi-tier Navigation with the CombinedNavSiteMapProvider . . . .. 899
Encoded Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
Changing the Quick Launch Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
Modifying Navigation in SharePoint Foundation 2010. . . . . . . . . . . . . . . . 910
Managing Cross-Site Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
Porting Existing Master Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
Porting an ASP.NET Website Master Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
18 SharePoint Themes and Themable CSS: The Icing on the Cake 923
Why Use Themes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
How Themes Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
Themes in SharePoint 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
SharePoint 2010 Themes Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
The Anatomy of SharePoint 2010 Themes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
Location of Theme (THMX) Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
Location of Themable CSS Files: WFE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
Themable Folders in Site Collection Style Library . . . . . . . . . . . . . . . . . . . . . . . 934
Applying a SharePoint 2010 Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
Theme Options Based on Product. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941
Customizing Themes in SharePoint Server 2010. . . . . . . . . . . . . . . . . . . . . . . . . 942
What Gets Themed in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
SharePoint Foundation 2010 Themes in Anonymous Sites . . . . . . . . . . . 954
Creating New SharePoint 2010 Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
Office Themes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
Anatomy of an Office Theme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
How Themes Work with SharePoint Master Pages and Themable CSS . . . . 970
Overriding Themable Style Sheets in a Master Page . . . . . . . . . . . . . . . . . . . . 972
Adding New Themable CSS Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
Themes and MySites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
Managing and Planning Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
Deployment Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
Reusing Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
Working with Themes Programmatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
Themable CSS Attribute Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
ReplaceColor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
ReplaceFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
RecolorImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
Part IV Data Manipulation and Business Processes
19 Configuring Data Sources (Non-BCS) 995
Introducing Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996
Authenticating and Troubleshooting Data Sources. . . . . . . . . . . . . . . . . . . . . . 997
Common Problems Encountered when Accessing Data Sources . . . . 998
Available Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998
Data Retrieval Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
Working with Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
Accessing Site Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
Changes Between Data Sources in SharePoint Designer 2007 and 2010 . . . . .. . . 1006
How to Attach a List from Another Site in SharePoint Designer 2010. . . . . . . 1007
Creating a Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
Configuring a Database Connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
Creating a Linked Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
Creating a Joined Linked Data Source with Database Connections . . . . 1026
Creating a SOAP (XML) Service Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
XML Web Services Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
SharePoint Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
Using SOAP to Connect to Another Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036
Creating a REST Service Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
Accessing Data Using REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
Adding a REST Web Service Connection Using REST . . . . . . . . . . . . . . . . . 1044
Configuring an RSS Feed Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050
Editing and Modifying Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
The fpdatasources Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
Renaming Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
Copying Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
20 External Content Types and External Lists (BCS) 1055
Business Connectivity Services (BCS) Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
Introducing External Content Types (ECTs) and External Lists. . . . . . . . . . . . 1056
External Lists Are Different . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
BCS Functional Differences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
Business Processes and Data Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
BCS Service Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
Permissions and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
Secure Store Service Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
Creating a New Secure Store Target Application. . . . . . . . . . . . . . . . . . . . . . . . 1064
Configuring BCS Data Sources: SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . 1066
SQL Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
WCF Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
.Net Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
Connecting to a SQL Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
Connection Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
Filtering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
Associations in External Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
Customizing Your List Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078
Office Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
Office Item Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
Taking External Lists Offline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
Creating an Office Item External List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080
SharePoint Workspace Client for SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1082
Profile Pages and Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
Creating Profile Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
Exporting External Content Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
Troubleshooting External Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089
Authentication Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
List Throttling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1091
21 Manipulating Data with ASP.NET Data Controls 1093
ASP.NET Controls in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094
Configuring the Toolbox SqlDataSource Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
Configuring an Oracle Connection with SqlDataSource . . . . . . . . . . . . . 1102
Inserting an Existing Data Source Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1102
Configuring the GridView Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109
22 Overview of XSLT List View and Data View Web Parts in SharePoint 2010 1111
Demystifying View Terminology: List View, Data Form, XLV, and More . . . . .. . . . . . 1112
What Are SharePoint Views?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113
Basic View Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114
Types of SharePoint Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114
Managing SharePoint Views. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116
Working with Views in Site Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
New with Views in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120
List View Page Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122
SharePoint View Anatomy: Things You Should Know. . . . . . . . . . . . . . . . 1122
XSLT Defined. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
The Role of XSLT in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127
Site Collection XSLT Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127
Web Front-end XSLT Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128
Working with Views in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129
A History of List Views in SharePoint Designer 2007 . . . . . . . . . . . . . . . . . 1130
Back to the Future: XLVs in SharePoint Designer 2010 . . . . . . . . . . . . . . 1131
Editing Options for XLVs in SharePoint Designer 2010 . . . . . . . . . . . . . . 1132
XLVs and Ribbon Interaction in the Web Interface . . . . . . . . . . . . . . . . . . . 1135
XLVs Behind the Scenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
The LVWP Still Exists in SharePoint 2010! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
LVWPs and Ribbon Interaction in the Web Interface. . . . . . . . . . . . . . . . . 1139
LVWPs Behind the Scenes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140
DFWPs in SharePoint Designer 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142
Editing Options for DFWPs in SharePoint Designer 2010 . . . . . . . . . . . 1142
DFWPs in the Web Interface and Ribbon Interaction. . . . . . . . . . . . . . . . . 1147
DFWPs Behind the Scenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
View Types That Do Not Display in SharePoint Designer . . . . . . . . . . . 1150
Data Source Task Pane and Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151
Data Types and DFWPs: Formatting the Date Field . . . . . . . . . . . . . . . . . . . 1152
Data Types and XLVs: Formatting the Date Field . . . . . . . . . . . . . . . . . . . . . . 1153
Which View Should I Use? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
Scenarios for Using the DVWP (DFWP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157
Scenarios for Using the XLV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159
23 Working with XSLT List View Web Parts (XLVs) 1161
Creating XLVs in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
Creating an XLV from the Views Part and Views Ribbon. . . . . . . . . . . . 1162
Creating New XLVs via All Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
Hyperlinking the Document Icon in 2010 Library Views. . . . . . . . . . . . 1168
Customizing XLV Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
Adding XLVs to Other Pages and Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
Exporting XLVs to Other Sites: Reusable XLVs. . . . . . . . . . . . . . . . . . . . . . . . . . 1170
Creating a New XLV from Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171
Creating a New HTML View in SharePoint Designer. . . . . . . . . . . . . . . . . . 1173
Styling the XLV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
Tabular Views and Individual Item Checkboxes. . . . . . . . . . . . . . . . . . . . . . . . 1176
Adding the List Items Menu and Linking to Items . . . . . . . . . . . . . . . . . . . . 1177
Modifying Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
Modifying Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183
Applying Conditional Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183
Setting Filtering Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188
Pagination and Toolbar Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189
Inline Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1190
Asynchronous Behavior with XLVs (AJAX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
Folder Scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193
Setting Data View Preview Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194
Changing the View Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
Customizing XSLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
XSLT Customization Options in SharePoint Designer . . . . . . . . . . . . . . . . 1197
Why Customize a View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
Reverting XSLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
Creating Custom XSLT Styles for XLVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
Where Custom XSLT Styles Are Stored. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202
Creating a New XSLT View Style (File) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202
Adding the List View Style Content Type to the Style Library . . . . . . . . . 1204
Modifying the XSLT File’s Properties in the Style Library . . . . . . . . . . . 1205
Apply the New Style to an XLV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207
Considerations When Creating Custom XSLT Files . . . . . . . . . . . . . . . . . . . 1209
Applying Custom XSLT Files via the Web Interface . . . . . . . . . . . . . . . . . . . 1210
XLVs and DFWPs Working Together. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
Creating New, Edit, and Display Item Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
Creating a New Item DFWP for the Training List . . . . . . . . . . . . . . . . . . . . . . 1211
Creating a New Contact Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215
Creating Web Part Connections Between XLVs and DFWPs. . . . . . . . 1224
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229
24 Working with the Data View and Data Form Web Parts 1231
Creating DFWPs in SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1232
Adding the New Icon to DFWPs and Formatting Fields. . . . . . . . . . . . . . 1237
Adding the DocIcon Image to DFWPs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241
Applying Inline Editing to DFWPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1242
Adding Filtering and Sorting to a DFWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1252
Aggregating List Data with SPDataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253
Hyperlinking Fields in Data View Rollups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1259
Styling the CrossList DFWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265
Paging and Security Trimming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
Cross-site Collection List Lookup Using SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
Using the XLV and DFWP to Add Ratings to Blogs . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270
Adding Ratings to the post.aspx Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1272
Adding Ratings to the Blog Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274
Creating a Top Rating Posts DFWP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279
Using a DFWP for the Blog Home Page Posts Summary . . . . . . . . . . . . . 1281
Real World: Creating a Slider DFWP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292
25 Configuring and Customizing List Forms 1293
Working with List Forms in SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1293
InfoPath versus ASPX List Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1294
Why Custom List Forms? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295
Form Options in SharePoint Designer 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295
Getting Technical: Anatomy of List Form Pages. . . . . . . . . . . . . . . . . . . . . . . . 1300
Looking Inside a List Form in SharePoint Designer . . . . . . . . . . . . . . . . . . . 1301
Editing List Forms via the Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1304
Best Practices for Customizing List Forms in SharePoint 2010. . . . .. 1307
Changes Between Forms in SharePoint Designer 2007 and 2010 . . . . . . 1308
Creating Custom (ASPX) List Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309
Accessing List Forms in SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309
Creating Custom Forms from the List Settings Page . . . . . . . . . . . . . . . . . . 1312
Forms and the Dialog Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314
Setting a Form Type as Default Post Form Creation. . . . . . . . . . . . . . . . . . . 1315
Editing the New Form in SharePoint Designer. . . . . . . . . . . . . . . . . . . . . . . . . . 1316
Changing the Form’s Type Post Form Creation . . . . . . . . . . . . . . . . . . . . . . . . 1317
Creating Custom List Forms in Document Libraries . . . . . . . . . . . . . . . . . . 1319
Creating Custom Forms by Inserting a Custom List Form Control . . .. . . 1319
Working with Form Fields and Custom Forms. . . . . . . . . . . . . . . . . . . . . . . . . . 1324
Field Limit on Custom Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1329
Adding Conditional Formatting to ASPX List Forms. . . . . . . . . . . . . . . . . . 1330
Using Data View Form Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1336
Styling Custom List Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340
Styling Custom Buttons and Button Usability . . . . . . . . . . . . . . . . . . . . . . . . . . 1340
Theming List Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342
Modifying List Form Column (field) Widths . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344
Cascading Drop-down Fields with jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1347
Configuring Custom Forms for Multiple Content Types . . . . . . . . . . . . . . . . . . . . 1350
Why Use Different Forms for Different Content Types? . . . . . . . . . . . . . 1350
Form Behavior with Multiple Content Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
Process for Creating Separate Content Type (Custom) Forms . . . . . . 1352
Ensuring Form Consistency with Multiple Content Types . . . . . . . . . . 1355
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358
26 Customizing List Forms with InfoPath 2010 Forms 1359
InfoPath 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360
InfoPath Designer 2010 Backstage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1361
The InfoPath 2010 Workspace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364
Looking Inside an InfoPath File: XSN Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1374
The Role of InfoPath in SharePoint 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1374
Creating InfoPath List Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1377
Managing InfoPath Form Settings in the Web Interface . . . . . . . . . . . . . 1378
InfoPath List Forms in SharePoint Designer 2010 . . . . . . . . . . . . . . . . . . . . . 1379
InfoPath and Custom ASPX List Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382
Methods for Creating InfoPath List Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1383
Easily Publishing List Forms from InfoPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385
List and Content Types Supported for InfoPath List Forms . . . . . . . . . 1385
Supported Field (Data) Types in InfoPath Forms . . . . . . . . . . . . . . . . . . . . . . . 1387
Working with the InfoPath Form Web Part. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1388
Using Views with InfoPath List Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389
Appending Changes on Multiple Lines of Text Fields . . . . . . . . . . . . . . . . 1395
Designing InfoPath List Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395
Adding and Deleting Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1397
Adding a New Data Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1403
Displaying Fields with a Repeating Section and Table . . . . . . . . . . . . . . . . 1404
Creating Rules to Manage Visibility of Content . . . . . . . . . . . . . . . . . . . . . . . . 1406
Creating Cascading Drop-downs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1408
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1413
27 Using Workflows and Creating Custom Workflows 1415
Getting Started with SharePoint Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416
Out-of-the-Box Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416
Working with the Out-of-the-Box Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418
Associating a Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418
Workflow and Content Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1420
Modifying Existing Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1421
Web Application Workflow Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1422
Creating Workflows Using SharePoint Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424
Copy and Customize an Out-of-the-Box Workflow . . . . . . . . . . . . . . . . . . . 1425
Types of Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1426
List Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427
Reusable Workflows and Content Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428
Site Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428
Workflow Development Lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428
Creating Workflows in Visio 2010. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1430
Exporting from Visio and Importing into SharePoint Designer . . .. . 1432
SharePoint Designer Workflow Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434
Workflow Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434
Workflow Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434
Workflow Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1438
Publish Globally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1439
Start Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1439
Utility Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1440
Workflow Association and Initiation Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441
Initiation Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441
Creating Site Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445
Working with Task Actions in Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1448
Creating and Customizing an Approval Workflow . . . . . . . . . . . . . . . . . . . . 1449
Approval Task in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451
Completion Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453
Adding Actions to Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1454
Creating Workflows with Impersonation Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1456
Integrating User Profile Information with Workflows . . . . . . . . . . . . . . . . . . . . . . . . 1458
Workflow Management Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1462
Testing the Workflow Management List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469
Customizing Workflow Emails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1471
Workflow Integration with Office Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1473
Managing Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476
Exporting Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476
Importing into Visual Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1477
Exporting to Visio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478
Workflow Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479
Visual Representation of Workflow Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479
Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1480
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1480
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1481
28 Creating Custom List Actions: Adding Buttons to the Ribbon and List Item Menus 1483
Custom List Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484
What Does a Custom Action Look Like in SharePoint 2010? . .. . . . 1485
Pros and Cons of Using SharePoint Designer for Custom Actions . . . . . . 1486
Creating and Configuring Custom List Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1487
Creating Custom Actions When Creating Custom List Forms . . .. . . 1487
Creating a Quick Step Custom Action in the Ribbon. . . . . . . . . . . . . . . . . 1488
Creating Custom Actions in List Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1490
Custom Action Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1490
Setting the Type of Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1492
Advanced Custom Action Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1494
Considerations Around Adding Custom Actions to the Ribbon . . . 1499
Creating a Custom Action to Print Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1500
Housekeeping: Enabling Server-side Scripts on ASPX Pages. . . . . . . . . 1501
Creating the ASPX Page for the Print Command . . . . . . . . . . . . . . . . . . . . . . 1501
Adding the Print Command to the LIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1504
Sharing Custom Action Resources Throughout Site Collections. . . 1506
Associating Custom List Actions with Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1506
Deleting aWorkflow Currently Associated with a Custom Action . . 1511
Moving and Exporting Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1511
Saving Lists with Custom Actions as List Templates . . . . . . . . . . . . . . . . . . 1511
Saving a Site as a Template (WSP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1511
Extending Custom List Actions Using Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
Custom List Actions: Behind the Scenes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
Reusable Custom Actions: Solution Files and Visual Studio . . . . . . . . 1515
Deploying a Custom Action to Other Locations . . . . . . . . . . . . . . . . . . . . . . . 1517
Deploying a Custom Action to All Announcements Lists . . . . . . . . . . . 1524
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527
TOC, 9780672331053, 8/18/2011