Table of contents : Prelims......Page 1 Contents at a Glance......Page 5 Contents......Page 7 About the Authors......Page 11 About the Technical Reviewer......Page 13 Acknowledgments......Page 15 What Does This Book Cover?......Page 17 Unknown......Page 0 What Do You Need to Use This Book?......Page 19 Architecture Overview......Page 21 Web Parts Overview......Page 23 WSS 3.0 Tools: Visual Studio 2005 Extensions......Page 29 Project Templates......Page 30 Web Part Project Template......Page 31 SharePoint Solution Generator......Page 35 Configuring Web Parts......Page 36 Using Resources in Web Parts......Page 39 Web Part Menu Verbs......Page 44 Creating Editor Parts......Page 46 Deploying a Web Part......Page 51 Enhancing Development of Web Parts with the Guidance Automation Toolkit......Page 57 Guidance Automation Toolkit......Page 58 Adding a Solution Template......Page 60 Adding a Project Template......Page 61 Defining the Final Part of the Web Part Library Guidance Package......Page 62 Installing and Using the Web Part Library Template......Page 67 Summary......Page 74 What Are Ajax and ASP.NET Ajax?......Page 75 Ajax Frameworks for ASP.NET......Page 78 Adding Service Virtualization to a Web Service......Page 79 Web Part Tokens......Page 86 Rendering JavaScript Within a Web Part......Page 88 JavaScript On-Demand Loading......Page 90 Debugging JavaScript......Page 92 Retrieving Data via XMLHttpRequest......Page 93 Web Service Behavior......Page 96 Plain Text......Page 97 JSON Messages......Page 98 Creating a Performance Counter Web Service......Page 100 Creating a Test Client......Page 103 ASP.NET Ajax-Enabling a Microsoft Office SharePoint Server 2007 Web Application......Page 107 Ajax-Enabling a Web Part......Page 111 Building a Company Contact Web Part Using ASP.NET Ajax and JSON......Page 114 Building an Autocompletion Web Part......Page 120 Client-Side Connectable Web Parts and ASP.NET Ajax......Page 125 Revisiting the Performance Counter Web Part......Page 133 Client Callbacks and the People Picker Control......Page 136 Building a People Picker Web Part......Page 137 Summary......Page 141 Introducing Reporting Services......Page 143 SQL Server 2005 Service Pack 2.0......Page 145 SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies......Page 146 Mode of Deployment......Page 147 Configuring Native Mode......Page 149 Configuring SharePoint Integration Mode......Page 150 Building a Report......Page 153 Viewing a Report......Page 157 Report Manager......Page 159 Reporting Services Web Parts......Page 160 Installing Report Web Parts......Page 161 Using Report Web Parts......Page 162 SQL Server Reporting Services Report Viewer Web Part......Page 164 Report Center......Page 166 Building a Report Model......Page 167 Using a Report Model......Page 174 Reporting Services Extensions......Page 178 Data Processing Extension Example......Page 179 Developing a Custom Data Extension......Page 181 Deploying a Custom Data Extension......Page 192 Using the Custom Data Extension......Page 194 Summary......Page 197 Basics of Windows Workflow Foundation......Page 199 Activities......Page 200 Components......Page 203 Workflow Styles......Page 204 Designing a Workflow......Page 206 Rules: Conditions and Actions......Page 207 Creating an Example Workflow......Page 209 Getting to Know Visual Studio 2005 Designer......Page 214 Creating an Example Workflow......Page 217 Creating an Initiation Form......Page 218 Creating a Custom Task Form......Page 222 Developing the Workflow......Page 226 Deploying a Workflow......Page 237 Creating a feature.xml File......Page 238 Creating a workflow.xml File......Page 239 Deploying the Workflow......Page 240 Debugging a Workflow......Page 242 Using Forms to Capture and Automate Your Processes......Page 243 Creating and Using a Custom Activity......Page 244 Summary......Page 248 Introducing Software Factories......Page 249 Background on Domain-Specific Languages......Page 250 Components of a Software Factory......Page 251 Using DSL Tools......Page 252 Background on Web Part Connections......Page 253 The SharePoint 2003 Web Part Connection Framework......Page 254 Creating a Provider Web Part Implementing a Custom Interface......Page 256 Creating a Consumer Web Part Consuming a Custom Interface......Page 258 Interfaces and Transformers......Page 261 Building a Custom Transformer......Page 262 SharePoint 2007 Transformers......Page 266 Building a Field Provider and Consumer......Page 267 Building a Row Provider and Consumer......Page 271 Building a Table Provider and Consumer......Page 276 Building a Parameters Provider and Consumer......Page 281 A Domain-Specific Language: Using WPCL 2007......Page 289 Creating a New WPCL 2007 Application......Page 290 Elements of the WPCL......Page 293 Creating a Connection Using the IWebPartField Interface......Page 298 Creating a Connection Using the IWebPartRow Interface......Page 299 Creating a Connection Using the IWebPartTable Interface......Page 300 Creating a Connection Using a Custom Interface......Page 301 Creating the Web Part Connection Language......Page 302 Choosing a Domain-Specific Language Template......Page 303 Configuring the DSL Solution......Page 307 Adding Support for Web Parts......Page 309 Creating the Look and Feel for Web Parts in the WPCL 2007......Page 310 Changing the WPCL Toolbox......Page 311 Creating the Look and Feel for Existing Relationships......Page 312 Making a Domain Property Editable in a WPCL Diagram......Page 313 Testing the First Version of the WPCL......Page 314 Adding IConnectable Interfaces......Page 315 Adding Visual Representations for Interface Items......Page 317 Making the Interface Shapes Visible on the Canvas......Page 319 Generating the WPCL......Page 320 Validation......Page 321 Validation Events......Page 322 Establishing the Web Part Validation Rules......Page 323 Implementing Web Part Validation Rules......Page 324 Text Templates......Page 325 Text Template Syntax......Page 327 Debugging Text Templates......Page 329 Deploying the Web Part Connection Language......Page 330 Summary......Page 331 Getting to Know WSRP......Page 333 Approaches for User Interface Reuse......Page 334 Common WSRP Architectures......Page 336 Benefits......Page 338 Drawbacks......Page 339 Interfaces......Page 341 State......Page 344 Window State......Page 345 Markup URLs......Page 346 Namespace Encoding......Page 349 What About WSRP 2.0?......Page 350 Configuring a WSRP Consumer for Microsoft Office SharePoint Server 2007......Page 351 Implementing a WSRP Producer......Page 354 Summary......Page 358 Setting Up the Development Environment......Page 359 Impersonation and Elevation Within the SharePoint Object Model......Page 361 LogonUser......Page 362 SPUserToken......Page 369 Encrypting Sensitive Data via DPAPI......Page 372 Storing Sensitive Information in an Encrypted Way......Page 373 Single Sign-on......Page 376 RevertToSelf and RunWithElevatedPrivileges......Page 381 Delegation......Page 387 Impersonation in WCF......Page 390 Summary......Page 397 InfoPath Walkthrough......Page 399 Trust Levels......Page 409 Using Site Content Types......Page 410 Sharing Data Connection Files in a Data Connection Library......Page 413 Using Data from a SharePoint List......Page 419 Updating and Saving an InfoPath Form Programmatically......Page 422 Using a Submit Button......Page 425 Importing Forms......Page 428 Forms Services 2007......Page 430 Integration Between InfoPath, SharePoint, and BizTalk Server 2006......Page 434 Comparing Biztalk to Windows Workflow Foundation......Page 435 Installing the Windows SharePoint Services Adapter......Page 436 Message Processing Overview......Page 438 Windows SharePoint Services Adapter Overview......Page 439 Creating an XSD Schema......Page 440 Creating an Orchestration......Page 442 Form Libraries......Page 450 Property Promotion......Page 453 SharePoint List......Page 455 Moving Binary Content......Page 456 Summary......Page 458 Search Architecture......Page 459 Probabilistic Ranking......Page 461 Firing a Query via the SharePoint Object Model......Page 462 Firing a Query via the SharePoint Web Service API......Page 464 Firing a Query via the MOSS Query Tool......Page 466 SQL Full-Text Extensions Syntax......Page 468 Scope......Page 469 Retrieving Folders and Files......Page 470 Date Comparison......Page 471 Group Alias......Page 472 * Wildcard......Page 473 Noise Words......Page 476 Thesaurus......Page 478 Some......Page 479 Rank Factors......Page 481 Common Pitfalls and Questions......Page 485 Sensitivity......Page 486 Other Search Engines That Work with SharePoint......Page 487 Summary......Page 488 Index......Page 489