1. Trang chủ
  2. » Công Nghệ Thông Tin

inside microsoft sharepoint 2010

649 658 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Inside Microsoft SharePoint 2010
Tác giả Ted Pattison, Andrew Connell, Scot Hillier, David Mann
Trường học Microsoft Corporation
Chuyên ngành Information Technology
Thể loại Book
Năm xuất bản 2011
Thành phố Sebastopol
Định dạng
Số trang 649
Dung lượng 18,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TaBle 1-1 a Brief History of SharePoint Year Core Infrastructure Product Business Value Product 2001 SharePoint Team Services SharePoint Portal Server 2001 2003 Windows SharePoint Servic

Trang 2

Ted Pattison Andrew Connell Scot Hillier

Trang 3

O’Reilly Media, Inc

1005 Gravenstein Highway North

Sebastopol, California 95472

Copyright © 2011 by Critical Path Training, LLC

Complying with all applicable copyright laws is the responsibility of the user All rights reserved Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without express written permission of O’Reilly Media, Inc

Printed and bound in the United States of America

1 2 3 4 5 6 7 8 9 M 6 5 4 3 2 1

Microsoft Press titles may be purchased for educational, business, or sales promotional use Online editions are also

available for most titles (http://my.safaribooksonline.com) For more information, contact our corporate/institutional sales department: (800) 998-9938 or corporate@oreilly.com Visit our website at microsoftpress.oreilly.com Send comments to mspinput@microsoft.com.

Microsoft, Microsoft Press, ActiveX, Excel, FrontPage, Internet Explorer, PowerPoint, SharePoint, Webdings, Windows, and Windows 7 are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries Other product and company names mentioned herein may be the trademarks of their respective owners.Unless otherwise noted, the example companies, organizations, products, domain names, email addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred

This book expresses the author’s views and opinions The information contained in this book is provided without any express, statutory, or implied warranties Neither the author, O’Reilly Media, Inc., Microsoft Corporation, nor their respective resellers or distributors will be held liable for any damages caused or alleged to be caused either directly or indirectly by such information

Acquisitions and Development Editors: Martin DelRe and Kenyon Brown

Production Editor: Holly Bauer

Editorial Production: Custom Editorial Productions

Technical Reviewer: David Mann

Indexing: Fred Brown

Cover: Karen Montgomery

Compositors: Octal Publishing, Inc., and Nellie McKesson

Illustrator: Robert Romano

978-0-735-62746-8

Trang 4

This book is dedicated to Patrick Tisseghem, our dear friend and colleague, who passed away at the beginning of this project Those who were fortunate enough to know Patrick remember him and his outgoing sense of humor, his knowing smile, and his ability to completely explain complex topics using

simple concepts and examples.

Patrick, we all learned so much from knowing you and working with you Many of your keen insights and clear explanations of SharePoint that you shared with us live on in this book We miss you, all your blog

readers miss you, and the entire SharePoint platform misses you as well.

Trang 6

Contents at a Glance

1 SharePoint 2010 Developer Roadmap 1

2 SharePoint Foundation Development 35

3 SharePoint Developer Tools in Microsoft Visual Studio 2010 69

4 Sandboxed Solutions 89

5 Pages and Navigation 117

6 Controls and Web Parts 169

7 Lists and Events 225

8 Templates and Type Definitions 277

9 Accessing Data in Lists 319

10 Client-Side Programming 353

11 Creating and Developing Workflows 393

12 SharePoint Security 455

13 Business Connectivity Services 485

14 Enterprise Content Management 535

15 SharePoint Search 569

Trang 8

Table of Contents

Foreword xv

Acknowledgments xvii

Introduction xix

1 SharePoint 2010 Developer Roadmap 1

SharePoint Foundation 2

SharePoint Foundation Architecture 3

SharePoint Farms .5

Web Applications 8

Service Applications 10

SharePoint Server 2010 13

Sites 14

Customizing Sites 17

SharePoint Designer 2010 20

Site Customization vs SharePoint Development .22

Windows PowerShell Boot Camp for SharePoint Professionals 23

Learn Windows PowerShell in 21 Minutes 24

The Windows PowerShell Integrated Scripting Environment (ISE) 28

The SharePoint PowerShell Snap-in 30

Conclusion .33

2 SharePoint Foundation Development 35

The Server-Side Object Model 35

Creating the Hello World Console Application 36

Enabling the SharePoint Developer Dashboard 39

Developing SharePoint Solutions 40

Developing a SharePoint Solution Using a Class Library Project 41

The SharePoint Root Directory 42

Creating a Feature Definition 44

Creating a Solution Package 50

Feature Upgrade Enhancements in SharePoint 2010 61

Conclusion 68

3 SharePoint Developer Tools in Microsoft Visual Studio 2010 69

Life Before SharePoint Developer Tools 69

Getting Started with the SharePoint Developer Tools 71

What do you think of this book? We want to hear from you!

Microsoft is interested in hearing your feedback so we can continually improve our books and learning resources for you To participate in a brief online survey, please visit:

microsoft com/learning/booksurvey

Trang 9

Using SharePoint Explorer 71

Adding a Feature Receiver 76

Adding a SharePoint Project Item 78

Deployment and Testing 82

Working with Mapped Folders 84

Conclusion .87

4 Sandboxed Solutions 89

Understanding the Sandbox 90

Building a Basic Sandboxed Solution .91

Understanding the Architecture .95

Understanding Solution Restrictions 97

Designing a Sandboxed Solution 100

Understanding Full-Trust Proxies 104

Administrating Sandboxed Solutions 108

Using Central Administration Tools 108

Validating Sandboxed Solutions 111

Using Windows PowerShell for Administration 114

Using Site Collection Tools 115

Conclusion 116

5 Pages and Navigation 117

SharePoint Foundation Integration with ASP NET 117

ASP NET Fundamentals 118

SharePoint Web Applications 121

Web Application Configuration Files 123

The Virtual File System of a Site 125

Page Templates and Ghosting 128

Application Pages 130

Master Pages 133

Creating Site Page Templates 138

Creating Pages in Sandboxed Solutions 141

The Module SharePoint Project Item Type 141

The SandboxedSolutionPages Sample Project 145

Creating Web Part Pages 147

Creating Output References to Integrate Silverlight Applications 149

Creating Pages in Farm Solutions 151

Navigation Support for Application Pages 156

Custom Breadcrumb Navigation Using a Site Map 157

Creating a Reusable Branding Solution 159

Deploying a Custom Master Page 160

Deploying CSS Files and Images to the Style Library 162

Conclusion 166

Trang 10

Table of Contents ix

6 Controls and Web Parts 169

Developing with Controls 169

The WingtipControls Sample Project 170

Safe Mode Processing and Safe Controls 172

Using a Custom Control to Create a Menu 175

User Controls 178

Delegate Controls 182

Developing Web Parts 186

Web Part Fundamentals 187

Web Part Output Rendering 196

Persistent Properties 203

Custom Editor Parts 206

Web Part Verbs 208

Web Parts Connections 211

Asynchronous Processing 216

Conclusion 223

7 Lists and Events 225

Creating Lists 225

Fields and Field Types 229

Views 235

Site Columns 236

Content Types 241

Working with Document Libraries 248

Creating a Document Library 249

Adding a Custom Document Template 250

Creating Document-Based Content Types 252

Programming with Documents 254

Creating Documents with Code 255

Creating and Registering Event Handlers 258

Event Receiver Classes 260

Registering Event Handlers 261

Programming Before Events 268

Programming After Events 273

Conclusion 275

8 Templates and Type Definitions 277

Field Type Definitions 277

Creating Custom Field Types 278

Creating a Custom Field Control 284

List Definitions 292

Creating Site Column Definitions 294

Creating Content Type Definitions 296

Creating List Definitions 298

Feature Activation Dependencies 302

Trang 11

Site Definitions 304

Configurations and Web Templates 305

ONET XML: The Site Definition Manifest 306

The Global Site Definition 310

Creating and Initializing Sites 312

Creating a Site Provisioning Provider 314

Conclusion 318

9 Accessing Data in Lists 319

Using the Basic List Object Model 319

Querying Lists with CAML 321

Querying Joined Lists 323

Querying Multiple Lists 324

Throttling Queries 327

Introducing LINQ 329

LINQ Overview 330

Understanding LINQ Language Elements 331

Working with LINQ to SharePoint 335

Generating Entities with SPMetal 335

Querying with LINQ to SharePoint 340

Adding, Deleting, and Updating with LINQ to SharePoint 342

Working with Document Libraries 344

Using the Basic Library Object Model 344

Working with Open XML 347

Conclusion 352

10 Client-Side Programming 353

Understanding Client Object Model Fundamentals 353

Understanding Contexts 355

Loading and Executing Operations 356

Working with the Managed Client Object Model 359

Handling Errors 359

Understanding Authentication and Authorization 362

Creating, Updating, and Deleting 364

Working Asynchronously 367

Working with the Silverlight Client Object Model 368

Introducing Silverlight Development 368

Asynchronous Programming with Silverlight 371

Error Handling in Silverlight 374

Passing Parameters to Silverlight 374

Creating a Custom Silverlight Host 376

Working with the JavaScript Client Object Model 378

Setting Up a Basic Page 378

Handling Errors in the JavaScript Client Object Model 380

Trang 12

Table of Contents xi

Debugging JavaScript 382

Working with AJAX 382

Using Object-Oriented JavaScript 384

Working with jQuery 387

Working with WCF Data Services 388

Getting Started with WCF Data Services 389

Using WCF Data Services in Visual Studio 390

Conclusion 391

11 Creating and Developing Workflows 393

What Is Workflow? 393

SharePoint Workflow Fundamentals 395

The User Experience in a SharePoint Workflow 397

Creating Custom Workflows 399

SharePoint Designer 2010 399

Getting Started 400

Creating a Workflow with Visio and SharePoint Designer 409

Developing Custom Workflow Components 417

Developing Custom Actions 419

Developing Custom Workflow Templates 426

Conclusion 453

12 SharePoint Security 455

Authentication, Authorization, and Identities 455

User Information List 458

Users and Groups 459

Application Pool Identities 462

SHAREPOINT\SYSTEM Account 462

Delegating User Credentials 466

User Impersonation with the User Token 467

Securing Objects with SharePoint 468

Rights and Permission Levels 469

Handling Authorization Failures with SPUtility 472

Claims-Based Security 473

Claims Architecture 475

User Claims 476

Custom Claims Providers 479

Conclusion 484

13 Business Connectivity Services 485

Introducing Business Connectivity Services 486

Creating Simple BCS Solutions 488

Creating External Content Types 488

Creating External Lists 491

Understanding External List Limitations 493

Trang 13

Understanding BCS Architecture 495

Understanding Connectors 495

Understanding Business Data Connectivity 496

Managing the BDC Service 496

Understanding the BDC Server Runtime 500

Understanding the Client Cache 500

Understanding the BDC Client Runtime 501

Introducing the Secure Store Service 501

Understanding Package Deployment 504

Understanding Authentication Scenarios 504

Configuring Authentication Models 504

Accessing Claims-Based Systems 508

Accessing Token-Based Systems 509

Managing Client Authentication 509

Creating External Content Types 510

Creating Operations 511

Creating Relationships 513

Defining Filters 515

Using ECTs in SharePoint 2010 516

Creating Custom Forms 516

Using External Data Columns 517

External Data Web Parts 518

Creating a Profile Page 519

Searching External Systems 520

Supplementing User Profiles 521

Using ECTs in Office 2010 522

Using the SharePoint Workspace 522

Understanding Outlook Integration 523

Using Word Quick Parts 524

Creating Custom BCS Solutions 525

Using the BDC Runtime Object Models 525

Using the Administration Object Model 528

Creating NET Assembly Connectors 531

Conclusion 534

14 Enterprise Content Management 535

ECM in SharePoint Server 2010 535

“Featurization” of ECM Capabilities for Wide Use 536

ECM Site Templates 536

Document Management 537

Large Lists 537

Check-in/Checkout 539

Document Sets 540

Document IDs 547

Trang 14

Table of Contents xiii

Records Management 550

Declaring Records 550

Content Organizer .551

Web Content Management 552

Page Rendering Process 552

Creating New Page Types 554

Content Aggregation with the Content Query Web Part 557

Managed Metadata 559

Term Sets 560

Enterprise Content Types 567

Conclusion 568

15 SharePoint Search 569

Introducing Search-Based Applications 570

Understanding Search Architecture 571

Understanding the Search Service Application 572

Understanding the Indexing Process 573

Understanding the Query Process 574

Introducing Search Web Parts 574

Introducing the Search Object Models 575

Creating Ranking Models 575

Creating a Custom Ranking Model 577

Using a Custom Ranking Model 580

Customizing Search Centers 581

Adding New Tabs 582

Customizing Search Core Results 583

Working with Keyword Query Syntax 588

Working with SQL Full-Text Search 589

Creating NET Assembly Connectors for Search 590

Search-Enabling a Model 590

Implementing Security in Search Results 593

Crawling the NET Assembly Connector 596

Conclusion 596

Index 597

What do you think of this book? We want to hear from you!

Microsoft is interested in hearing your feedback so we can continually improve our books and learning resources for you To participate in a brief online survey, please visit:

microsoft com/learning/booksurvey

Trang 16

signifi-Platform capabilities and tooling combined make SharePoint one of the most ling collaborative platforms in the market today; a platform where many projects seek out custom development Platform capabilities and tooling, though, are just the foundation; to truly build boundless solutions using SharePoint requires a solid understanding of how you can apply those capabilities And as you embark on your custom development projects with SharePoint, it’s important to get the right training and insight into the platform to ensure you not only understand what you can exploit in SharePoint 2010 but also how you can build and deploy compelling solutions

compel-If you’re picking up this book, you’ve probably got more than a casual interest in SharePoint; you’re likely ready to begin or are already actively engaged in SharePoint development SharePoint 2010 offers so much for the developer, ranging from sandboxed solutions, new data modeling and management capabilities, improved user experience programmabil-ity, workflow, line-of-business integration, security, to enterprise content management, and much, much more And to provide you with a clear, concise breakdown of each of these areas and to help you build the professional-grade solutions you need to build, I can’t think of any-body better than Ted, Andrew, Scot, and David to deliver this to you No matter where you

are in your SharePoint development career, Inside Microsoft SharePoint 2010 provides you

with a technical understanding that cuts across new features and functionality, giving you invaluable insight into SharePoint 2010

As you make your way through this book and beyond, I hope you’ll see and experience the great potential that lies within SharePoint 2010 For the developer, it represents a significant shift enabling you to more easily build and deploy great solutions on what is one of the

best collaborative platforms on the market today And in the true spirit of the Inside series,

with this book you’ll get a deep look into the innards of SharePoint 2010; it’s one of the core books you’ll keep on your shelf as a reference that will eventually become dog-eared and tabbed from overuse

Enjoy Inside SharePoint 2010, and best of luck in your SharePoint development!

Steve Fox

Director, Developer & Platform Evangelism

Microsoft

Trang 18

Acknowledgments

There are so many people we need to thank for helping us create this manuscript First, we would like to thank the Microsoft folks on the Developer Platform Evangelism (DPE) team, in-cluding Steve Fox, Paul Stubbs, Donovan Follette, Bruno Nowak, Chris Mayo, Roger Doherty, and Neil Hutson They gave us our first opportunity to work with SharePoint 2010 when they hired us to write content for a SharePoint developer’s workshop back in July of 2008 We would also like to thank Wouter van Vugt, the flying Dutchman, who contributed significantly

to this project with his ruthless code samples, his unorthodox presentation styles, and his timely comic relief

There are many others at Microsoft who deserve our thanks for reviewing slides, code ples, and chapters, including Mike Ammerlann, Rob Howard, Brad Stevenson, Mike Morton, Reza Chitsaz, Chris (CJ) Johnson, Ryan Duguid, Paul Andrew, Richard Riley, Mike Gannotti, Arpan Shah, John Durant, Doug Mahugh, Mauricio Ordonez, Elisabeth Olson, Kirk Evans, Pej Javaheri, Steve Tullis, Matthew Burnett, Javier Dalzell, Harneet Sidhana, Eilene Hao, Umesh Unnikrishnan, Boris Scholl, Maxim Lukiyanov, Jie Li, Johanna White, and Jon Flanders There are also folks on the MSDN team who helped in countless ways, including Randall Isenhour, Uma Subramanian, Beck Andros, and Jean Philippe Bagel

sam-We would like to thank our fellow colleagues at Critical Path Training for their valuable sight and feedback during the project, including Maurice Prather, Asif Rehmani, Matthew McDermott, Chris Predeek, and Karine Bosch A special thanks also goes to Meredith Connell, Marshall Butler, and Maggie Smith for keeping our company afloat as the authors constantly disappeared into their SharePoint VMs for days at a time

in-We would like to thank the SharePoint MVP community past and present, whose collective output has taught the industry so much about the SharePoint platform Our special thanks goes out to Melissa Travers, April Dalke, Dan Larson, Spencer Harbar, Rob Foster, Todd (T-Bag) Baginski, Rob Bogue, Dan Holme, Ben Robb, Andrew Woodward, Reza Alirezaei, Eric Shupps, Gary Lapointe, Jan Tielens, Tony Bierman, Natalya Voskresenskaya, Carsten Keutmann, Shane Young, Darrin Bishop, Renaud Comte, Mirjam van Olst, Jeremy Sublett, Loke Kit Kai, Todd Bleeker, Sahil Malik, Bill English, Joris Poelmans, Nick Swan, Matt Ranlett, Dave McMahon, Adam Buenz, Steve Smith, Stephen Cummins, Todd Klindt, John F Holliday, Ton Stegeman, Chandima Kulathilake, Penelope Coventry, Chris O’Brien, Tobias Zimmergren, Waldek Mastykarz, Randy Drisgill, Jeremy Thake, Liam Cleary, Ludovic Lefort, Martin Harwar, Debbie Ireland, Brendon Schwartz, Paul Schaeflein, Becky Bertram, Wictor Wilen, Heather Solomon, Dustin Miller, Cornelius J van Dyk, Bob Fox, and even the infamous Ben “Can you believe I’m still talking” Curry

Trang 19

We would also like to thank everyone on the publishing side who made this book possible Thanks to everyone at Microsoft Press and O’Reilly This includes Ben Ryan, who helped us put together the original contract, and the production staff made up of Dan Fauxsmith, Sumita Mukherji, Holly Bauer, and Linda Allen Special thanks goes out to Ken Brown, who had the challenging task of getting us to ship our chapters on schedule If not for Ken and his cattle prod, Ted would no doubt still be writing and rewriting Chapter 5 trying to get the explanation of page ghosting just a tad more clear and concise.

—Ted Pattison

So many people go into writing a book, but I’d like to specifically call out a few of them who made a significant impact in my contributions to this book I’d first like to thank my colleagues Ted Pattison and Scot Hillier, who poured so much of their knowledge into this work I also want to thank my wife Meredith and children Steven and Kathryn for their patience No au-thoring experience can happen without the full buy-in from your family! I would also like to specifically thank Ryan Duguid and Chris Johnson at Microsoft, who shared many conversa-tions around Enterprise Content Management and SharePoint Server 2010 over the last few years Their insight into a lot of the “why” and reasoning behind certain decisions by the product team dramatically helped my understanding of Enterprise Content Management in SharePoint Server 2010

—Andrew Connell

Trang 20

The purpose of this book is to help you design and develop custom business solutions for SharePoint 2010, which includes the two products SharePoint Foundation and SharePoint Server 2010 Our goal is to teach you how to create, debug, and deploy the fundamental building blocks such as Features, Pages, Web Parts, Site Columns, Content Types, Event Handlers, and Workflow Templates Once you apply yourself and become comfortable developing with these building blocks, there’s no limit to the types of applications and solutions you can create

on the SharePoint 2010 platform

Who This Book Is For

This book is written for experienced Windows developers who are proficient with Visual Studio, the Microsoft NET Framework, and ASP.NET The code samples in this book are writ-ten in C# and have been created to provide a comprehensive overview of the projects you can create for SharePoint 2010 Our primary audience for this book is software developers and architects looking for expert guidance on designing and developing business applications

on this platform Developers who are new to the SharePoint platform as well as experienced SharePoint developers will benefit from this book

System Requirements

■ You’ll need the following hardware and software to build and run the code samples for this book: Microsoft Windows Server 2008 or Microsoft Windows Server 2008 R2

o The operating system can be installed natively or on a Virtual Machine (VM)

o For a native installation, we recommend at least 4 GB of RAM

o For an installation on a VM, we recommend 8 GB of RAM on most machines

■ Microsoft SharePoint Foundation or SharePoint Server 2010

■ Microsoft Visual Studio 2010

■ Microsoft SharePoint Designer 2010

■ Microsoft Office Visio 2010

Trang 21

All the code samples discussed in this book have been added to a single zip archive named InsideSharePoint2010.zip This zip archive can be downloaded from the support page for this book at the following address:

http://www.CriticalPathTraining.com/books/InsideSharePoint2010

This support page also provides a list of errata as well as a reference to step-by-step instructions that you can use to build a VM that is identical to the VM we used to write and test all our sample projects

You can also download the companion code from this book’s catalog page at:

Trang 22

It is safe to say that SharePoint technologies have made it into the mainstream of software products used by companies and organizations around the world Today, millions of people work with SharePoint technologies every day, including business users, power users,

executives, site administrators, farm administrators, and professional developers

Microsoft has released four versions of SharePoint technologies, which are listed in Table 1-1 Each SharePoint release has included an underlying core infrastructure product and a second product that adds business value to the infrastructure The core infrastructure product has always been free to customers who already have licenses for the underlying server-side operating system, Microsoft Windows Server Microsoft makes money on SharePoint

technologies by selling customers server-side licenses as well as client access licenses (CALs)

TaBle 1-1 a Brief History of SharePoint

Year Core Infrastructure Product Business Value Product

2001 SharePoint Team Services SharePoint Portal Server 2001

2003 Windows SharePoint Services 2.0 Microsoft SharePoint Portal Server 2003

2007 Windows SharePoint Services 3.0 Microsoft Office SharePoint Server 2007

2010 Microsoft SharePoint Foundation Microsoft SharePoint Server 2010

SharePoint 2001 introduced an environment that allowed users to create sites, lists, and document libraries on demand based on a data-driven design The implementation was based on a Microsoft SQL Server database that tracked the creation of sites and lists by adding records to a static set of database tables This initial version of SharePoint had a couple of noteworthy shortcomings First, it was cumbersome to customize sites Second, the files uploaded to a document library were stored on the local file system of the front-end Web server, which made it impossible to scale out SharePoint Team Services sites using a farm of front-end Web servers

SharePoint 2003 was the first version to be implemented on top of the Microsoft NET Framework and ASP.NET This version began to open new opportunities for professional

Trang 23

developers looking to extend the SharePoint environment with Web Parts and event

handlers Also in this version, Microsoft altered the implementation for document libraries

to store files inside a back-end SQL Server database, which made it possible to scale out SharePoint sites using a standard farm of front-end Web servers

SharePoint 2007 introduced many new concepts to the underlying SharePoint architecture, including site columns, content types, and features and solution packages Microsoft also improved the integration of SharePoint with ASP.NET, which made it possible for NET developers to extend SharePoint sites by creating familiar ASP.NET components such as master pages, user controls, navigation providers, authentication providers, and custom

HttpModule components.

SharePoint 2010 is the fourth and most recent release of SharePoint technologies It includes Microsoft SharePoint Foundation and Microsoft SharePoint Server 2010 The goal of this chapter is to build your high-level understanding of SharePoint Foundation from the viewpoint

of a professional developer Along the way, you will learn how SharePoint Server 2010 extends SharePoint Foundation to add extra functionality and business value

SharePoint Foundation

SharePoint Foundation introduces many changes to the core platform from SharePoint

2007 The improved user experience in the browser constitutes the most obvious change for experienced SharePoint users moving to SharePoint 2010 The SharePoint 2007 user interface experience is outdated It wasn’t designed to today’s HTML standards, nor does it embrace any of the principles of Web 2.0 These limitations negatively impact accessibility and cross-browser functionality The user experience of SharePoint 2007 can also be criticized for triggering unnecessary server-side postbacks and confusing page transitions

SharePoint 2010 introduces a new AJAX-powered user interface that significantly improves the user experience The pages in a SharePoint 2010 site eliminate unnecessary postbacks

by communicating with the Web server using asynchronous JavaScript calls SharePoint Foundation also eliminates potentially confusing page transitions using inline editing and modal dialogs Finally, SharePoint Foundation enhances the user experience by introducing the server-side Ribbon, which allows the user to locate and execute a larger number of contextual commands without having to navigate away from the current page

SharePoint Foundation includes a wealth of enhancements beyond user interface changes Table 1-2 lists some of the new enhancements that will be most interesting to developers moving from SharePoint 2007 These topics are covered throughout the course of this book

Trang 24

SharePoint Foundation 3 TaBle 1-2 enhancements for Developers in SharePoint Foundation

Service application architecture Redesigned infrastructure to facilitate sharing of resources across

Web applications and farms.

Windows PowerShell support New support and capabilities for writing administrative scripts Feature versioning and upgrade New support for versioning and upgrading features.

SharePoint Developer Tools for

Visual Studio 2010 A first-class development experience for SharePoint developers (finally) Sandboxed solutions New support for deploying solution packages at site collection

scope in a sandboxed environment

New features for throttling lists

and controlling query execution Enhanced support for stabilizing the farm by prohibiting large, inefficient queries New events for sites, lists, and

workflows Additional events for developers to hook up event handlers.LINQ to SharePoint provider New support for writing LINQ query statements to access

SharePoint list data.

REST-based access to SharePoint

list items New support for accessing SharePoint list data from across the network using REST-based Web service calls Client-side object model Ability to leverage the SharePoint object model from across the

network when programming with NET, Silverlight, and JavaScript Enhanced support for integrating

Silverlight applications Rich support for deploying and versioning Silverlight applications within a SharePoint environment Claims-based security New authentication support for leveraging external identity

management systems and extending access control in SharePoint sites using custom claims.

Business Connectivity Services

(BCS) and external lists New support for creating read-write connections to back-end databases and line-of-business systems and exposing their data

as lists within SharePoint sites.

.NET Assembly Connectors for

BCS Support for creating a custom component to integrate any data source with the BCS.

SharePoint Foundation Architecture

At its core, SharePoint Foundation is a provisioning engine—that is, its fundamental design

is based on the idea of using Web-based templates to create sites, lists, and libraries to store and organize content Templates are used to create both new websites and various elements inside a website, such as lists, pages, and Web Parts

SharePoint Foundation is particularly helpful to companies and organizations faced with the task of creating and administering a large number of websites because it dramatically reduc-

es the amount of work required Someone in the IT department or even an ordinary business

user can provision (a fancy word for create) a site in SharePoint Foundation in less than a

min-ute by filling in a browser-based form and clicking the OK button Creating a new page or a new list inside a site is just as easy

Trang 25

SharePoint Foundation takes care of all the provisioning details behind the scenes by adding and modifying records in a SQL Server database The database administrator doesn’t need

to create a new database or any new tables The ASP.NET developer doesn’t need to create a new ASP.NET website to supply a user interface And the system administrator doesn’t need

to copy any files on the front-end Web server or configure any Internet Information Services (IIS) settings It all just works That’s the magic of SharePoint

The architecture of SharePoint Foundation was specifically designed to operate in a Web farm environment Figure 1-1 shows a basic diagram of a simple Web farm with two front-end Web servers and a database server In scenarios that have multiple front-end Web servers, a network load balancer is used to take incoming HTTP requests and to determine which front-end Web server each request should be sent to

Web Server 1

Web Server 2

Database Server

Network Load Balancer

FIguRe 1-1 SharePoint Foundation is designed to scale out using a farm of front-end Web servers.

SharePoint Foundation and SharePoint Server 2010 are available only in 64-bit versions They can be installed on a 64-bit version of Windows Server 2008 or Windows Server 2008 R2 When building a development environment, you also have the option of installing either SharePoint Foundation or SharePoint Server 2010 on a 64-bit version of a client operating system such

as Windows 7 or Windows Vista

SharePoint Foundation leverages IIS 7.0 on front-end Web servers to listen for incoming HTTP requests and to manage the server-side worker processes using the IIS application pool infrastructure The runtime environment of SharePoint Foundation runs within a worker process launched from the IIS application pool executable, named w3wp.exe, as shown in Figure 1-2 You can see in Figure 1-2 that SharePoint Foundation is built on NET Framework

Trang 26

SharePoint Foundation 5

IIS Application Pool (w3wp.exe)

Microsoft SharePoint Foundation ASP.NET Framework 3.5 with Service Pack 1 NET Framework 3.5 with Service Pack 1

Internet Information Services 7.0 (IIS) Windows Server 2008 R2 (x64)

FIguRe 1-2 The SharePoint Foundation runtime loads into an IIS application pool running ASP.NET 3.5.Recall that SharePoint 2007 was built on top of NET 3.0 Although configuring front-end Web servers running SharePoint 2007 to support NET 3.5 is possible, this task proved to be challenging for a number of reasons Consequently, a large percentage of SharePoint 2007 development hasn’t taken advantage of the programming techniques introduced in NET 3.5 One nice aspect of moving to SharePoint 2010 is that this new version provides out-of-the-box support for valuable NET 3.5 features such as AJAX, LINQ, and Silverlight This book assumes that a healthy percentage of developers moving from SharePoint 2007

to SharePoint 2010 will be using these NET 3.5 features for the first time

You should also note that the initial release of SharePoint 2010 won’t provide support for NET 4.0 At the time of this writing, Microsoft has not yet made any announcements about when NET 4.0 support will be integrated into either SharePoint Foundation or SharePoint Server 2010

SharePoint Farms

Every deployment of SharePoint Foundation is based on the concept of a farm Simply

stated, a SharePoint farm is a set of one or more server computers working together to

pro-vide SharePoint Foundation functionality to clients For simple scenarios, you can set up a SharePoint 2010 farm by installing and configuring everything you need on a single server computer A SharePoint farm in a typical production environment runs SQL Server on a sepa-rate, dedicated database server and can have multiple front-end Web servers, as shown in Figure 1-3 As you will see later in this chapter, a farm can also run one or more application servers in addition to a database server and a set of Web servers

Trang 27

SharePoint 2010 Server SharePoint Foundation SQL Server 2008 R2 Internet Information Services 7.0 Active Directory Domain Services Windows Server 2008 R2 (x64)

FIguRe 1-3 You can create a SharePoint development environment using a single server farm.

Each SharePoint farm runs a single SQL Server database known as the configuration database

SharePoint Foundation creates a configuration database whenever it creates a new farm in order to track important farm-wide information For example, the configuration database tracks which front-end Web servers are associated with the farm as well as which users have been assigned administrative permissions within SharePoint Foundation at the farm level.When creating a SharePoint development environment, it is best to install and configure SharePoint 2010 as a single-server farm Remember that you have the option of installing SharePoint Foundation or SharePoint Server 2010 on a client operating system such as a 64-bit version of Windows 7 Building out your development environment using a 64-bit version of Windows 7 as the underlying operating system is the best approach if you must base your development environment on a client-side operating system

If possible in your work environment, you should consider installing SharePoint Foundation

or SharePoint Server 2010 on a 64-bit version of Windows Server 2008 or Windows Server

2008 R2 One option is to install a version of SharePoint 2010 on a native installation of Windows Server Another popular option is to install a version of SharePoint 2010 on a virtual machine (VM) For example, you can install a 64-bit version of Windows Server 2008 R2 and configure Hyper-V Hyper-V allows you to create a VM on which you can install a 64-bit version of Windows Server 2008 R2 and SharePoint Server 2010

A key advantage of building a SharePoint development environment on a server-side operating system such as Windows Server 2008 R2 is that you can configure Active Directory Domain Services to provide a more realistic simulation of the networked environment that will

be running in production Figure 1-3 shows the layers of software we recommend that you install on a developer workstation you’re configuring for SharePoint 2010 development

As a SharePoint developer, you must remember that farms come in all different shapes and sizes Although you will likely write and test your code on a single-server farm, that is probably not the type of farm in which your code will be deployed It can be a big mistake to assume that your target SharePoint production environment is just like your development environment

Trang 28

SharePoint Foundation 7

Many companies that are invested in SharePoint development categorize their farms

into three different types SharePoint developers write and debug SharePoint solutions in

development farms Staging farms simulate a more realistic environment and are used to

con-duct quality assurance testing on SharePoint solutions For example, the servers in a staging farm should be built without installing developer tools such as Microsoft Visual Studio 2010 Once a SharePoint solution has been thoroughly tested in a staging farm, it can be deployed

in a production farm, where its functionality is made available to users.

SharePoint 2010 Central Administration

As a SharePoint developer, you must wear many hats One hat you frequently wear is that of

a SharePoint farm administrator You should become familiar with the administrative site that SharePoint Foundation automatically creates for each farm This administrative site is known

as SharePoint 2010 Central Administration, and its home page is shown in Figure 1-4.

FIguRe 1-4 SharePoint developers should become familiar with SharePoint 2010 Central Administration.Notice that Figure 1-4 shows the home page of SharePoint 2010 Central Administration in a

farm with only SharePoint Foundation installed If SharePoint Server 2010 is also installed, you’ll

see additional links to administrative pages that are not installed by SharePoint Foundation Also note that SharePoint 2010 Central Administration is extensible If you need to create a SharePoint solution for administrative purposes, you can integrate your work into SharePoint

2010 Central Administration by adding custom links and custom administration pages

Trang 29

Many of the example configurations and code samples in this book are based on Wingtip Toys, a company that was fictitiously founded in 1882 by Henry Livingston Wingtip Wingtip Toys has a long and proud history of producing the industry’s most unique and inventive toys for people of all ages Wingtip Toys has set up an intranet using SharePoint internally to provide a means of collaboration between its trinket design scientists, its manufacturing team, and its remote sales force It has also erected an extranet using SharePoint to interact with partners and toy stores around the world Finally, Wingtip Toys has decided to use SharePoint to create its Internet-facing site to advertise and promote its famous line of toys and novelties

ers to create HTTP entry points for domain names such as http://intranet.wingtip.com.

SharePoint Foundation creates an abstraction on top of IIS that is known as a Web application

At a physical level, a Web application is a collection of one or more IIS websites configured

to map incoming HTTP requests to a set of SharePoint sites The Web application also maps

each SharePoint site to one or more specific content databases SharePoint Foundation uses

content databases to store site content such as list items, documents, and customization information

Warning: Don’t Touch the SharePoint Databases

When developing for SharePoint Foundation, you’re not permitted to directly access the configuration database or any of the content databases For example, you must resist any temptation to write ADO.NET code that reads or writes data from the

tables inside these databases Instead, you should write code against the SharePoint Foundation programming APIs to reach the same goal, and leave it to SharePoint

Foundation to access the configuration database and content database behind the scenes

Trang 30

SharePoint Foundation 9

SharePoint Foundation uses ASP.NET 3.5 to extend the standard behavior of an IIS website It does this by configuring IIS websites to run SharePoint-specific components in the ASP.NET

pipeline, including a custom HttpModule and a custom HttpHandler This integration with

ASP.NET allows SharePoint Foundation to take control over every request that reaches an IIS website that has been configured as a SharePoint Web application

Keep in mind that every SharePoint Web application runs as one large ASP.NET application Consequently, SharePoint Foundation adds a standard ASP.NET web.config file to the root directory of each IIS website associated with a Web application This high-level design can

be counterintuitive for developers migrating to SharePoint Foundation from ASP.NET A single SharePoint site is unlike an ASP.NET site because it can’t have its own web.config file That means a single web.config in SharePoint Foundation supplies configuration information for every site in a Web application This is true even in scenarios where the number of sites in a Web application reaches into the hundreds or thousands

A SharePoint farm typically runs two or more Web applications The first Web application is created automatically and is used to run SharePoint 2010 Central Administration You need

at least one more Web application to create the sites that are used by typical users The IT staff at Wingtip Toys decided to configure their production farm with three different Web applications used to reach employees, partners, and customers, as shown in Figure 1-5

Farm

Central Administration http://WingtipServer01:9999 Central AdminContent DB

Config DB

Content DB Wingtip Intranet

Content DB Wingtip Extranet

Content DB Wingtip Public Site

Wingtip Intranet http://intranet.wingtip.com

Wingtip Extranet http://extranet.wingtip.com

Wingtip Public website http://www.wingtip.com

FIguRe 1-5 Each Web application has one or more content databases.

Trang 31

A key thing to remember about Web applications is that each one has its own independent security and authentication settings This creates a valuable degree of flexibility because dif-ferent sites in the same farm can be configured for access by different types of users.

The Wingtip IT staff configured the first Web application for intranet usage by requiring Integrated Windows authentication and by prohibiting anonymous access They configured the second Web application for extranet usage by authenticating external users with a custom ASP.NET authentication provider They configured the third Web application to allow anony-mous access so that any user on the Internet could potentially access their public website anonymously

The introduction of claims-based security support into SharePoint 2010 provides developers with new possibilities for configuring a Web application One such possibility is the ability

to outsource identity management to an identity service publicly available on the Internet, such as Windows Live ID This approach gives developers the ability to track users for the purposes of security, auditing, and personalization but without the hassles of setting up a user database, storing credentials, and dealing with all the associated password management headaches

The Wingtip IT staff configured the Web application for their public website to allow mous access but also to make logging into the site an available option They configured a trust within the farm to the Windows Live ID service and then configured the Web application to use Windows Live ID as its identity provider When customers attempt to log into the Wingtip public website, they are redirected to the Windows Live ID site and prompted to enter their Windows Live ID credentials Once authenticated by Windows Live ID, the customer is then redirected back to the Wingtip public website with an established identity

SharePoint Foundation introduces a new infrastructure for service applications that replaces

the SSP architecture from SharePoint Server 2007 In SharePoint 2010, service applications are used to facilitate sharing resources across sites running in different Web applications and different farms The new service application architecture also provides the means for scaling

a SharePoint farm by offloading processing cycles from the front-end Web servers over to dedicated application servers

Trang 32

SharePoint Foundation 11

A key benefit of this new architecture is that you can treat a service application as a pluggable component Once you install and create a service application, you can configure it for several different deployment scenarios In simple farms, an instance of the service application can run on each front-end Web server In more complex farms, such as the one shown in Figure 1-6, a service application can be configured to run on a separate application server or in a farm of application servers

Application Server

Application Server Farm

FIguRe 1-6 SharePoint farms run service applications in addition to Web applications.

A service application targeting SharePoint 2010 must be written to a specific set of ments For example, a service application must query the configuration database about its current deployment configuration and adjust its behavior accordingly

Trang 33

require-When a service application runs across the network on a dedicated application server, it relies on a proxy component on the front-end Web server The proxy component is deployed along with the service application and provides value by abstracting away the code required

to discover where the service application lives on the network The service application proxy component provides additional value by encapsulating the Windows Communication

Foundation (WCF) code used to execute Web service calls on the target service application.The proxy-based design of service applications provides flexibility in terms of deployment and configuration For example, you can configure a proxy in one farm to communicate with

a service application in another farm The proxy simply consults the configuration database and discovers the correct address for the application server running the service application The implication here is that the new service application architecture makes it much easier to share resources across farms while still controlling what services are made available and how they are consumed

Four built-in service applications ship with SharePoint Foundation, as shown in Figure 1-7 When a new farm is created, SharePoint Foundation automatically creates and configures two

important service applications: Application Discovery and Load Balancer Service Application and Security Token Service Application The other two service applications built into SharePoint Foundation are Business Data Connectivity Service and Usage and Health data collection,

which you can create manually or by running the Farm Configuration Wizard available in the SharePoint 2010 Central Administration site

FIguRe 1-7 SharePoint Foundation includes four standard service applications.

Unlike the SSPs in SharePoint 2007, service applications were designed with developer extensibility in mind Any SharePoint developer with the proper knowledge and incentive can create a service application that can plug into any SharePoint 2010 farm

Trang 34

SharePoint Server 2010

SharePoint Server 2010 is really just a piece of software that’s been written to run on

SharePoint Foundation Every installation of SharePoint Server 2010 begins with an lation of SharePoint Foundation After installing SharePoint Foundation, the installation for SharePoint Server 2010 then installs its own templates, components, and service applications.Microsoft sells different editions of SharePoint Server 2010 using several different SKUs SharePoint Server 2010 Standard Edition supplies core functionality such as enterprise search, content publishing, user profiles, and My Sites SharePoint Server 2010 Enterprise Edition extends the standard edition by adding extra functionality for security, business intelligence, managed metadata, and rich integration with Microsoft Office client applications

instal-To help you understand some of the additional functionality SharePoint Server 2010 layers

on top of SharePoint Foundation, Table 1-3 lists the service applications that SharePoint Server 2010 installs as well as the edition of SharePoint Server 2010 required to use each service application

TaBle 1-3 SharePoint Server 2010 Service applications

Application Registry Services Standard

Trang 35

Now that you understand the high-level architecture of a SharePoint farm, you need to know how SharePoint Foundation creates and manages sites within the scope of a Web application Let’s start by asking a basic question: What exactly is a SharePoint site?

This question has many possible answers For example, a site is an endpoint that is accessible from across a network such the Internet, an intranet, or an extranet A site is also a storage container that allows users to store and manage content such as list items and documents

In addition, a site is a customizable entity that allows privileged users to add pages, lists, and child sites Finally, a site is a securable entity whose content is accessible to a configurable set

of users

As a developer, you can also think of a site as an instance of an application For example, the scientists at Wingtip Toys use a SharePoint site to automate the business process of approving

a new toy idea When Wingtip scientists have new ideas for a toy, they describe their ideas

in Microsoft Word documents, which they then upload to a document library in the site The approval process is initiated whenever a scientist starts a custom approval workflow on one

of those documents

A site can also be used as an integration point to connect users to back-end data sources such as a database application or a line-of-business application such as SAP or PeopleSoft The Business Connectivity Services that ship with SharePoint Foundation make it possible to establish a read-write connection with a back-end data source One valuable aspect of the Business Connectivity Services architecture is that this external data often appears to be a native SharePoint list There are many user scenarios and developer scenarios in which you can treat external data just as you would treat a native SharePoint list

Site Collections

Every SharePoint site must be provisioned within the scope of an existing Web application However, a site can’t exist as an independent entity within a Web application Instead, every site must also be created inside the scope of a site collection

A site collection is a container of sites Every site collection has a top-level site In addition to

the top-level site, a site collection can optionally contain a hierarchy of child sites Figure 1-8 shows a Web application with three site collections The first site collection contains just a top-level site The second contains one level of child sites below the top-level site The third contains a more complex hierarchy with three levels

Trang 36

SharePoint Foundation 15 Web Application

http://Intranet.wingtip.com

Site Collection

/sites/operations Site Collection

(root)

Child Site

/WestDivision

Child Site

/EastDivision

Top-level Site

(root)

Child Site

/Reports2009

Child Site

/Reports2009

Child Site

/ProfitLoss

Child Site

/Expenses

FIguRe 1-8 Each site collection has a top-level site and can optionally contain a hierarchy of child sites.When a company begins using SharePoint Foundation or SharePoint Server 2010, one of the first questions that comes up is how to partition sites across site collections For example, should you create one big site collection with lots of child sites, or should you create many individual site collections? This decision is usually best made after thinking through all the relevant issues discussed in the next few paragraphs You must gain an understanding of how partitioning sites into site collections affects the scope of administrative privileges, security boundaries, backup and restore operations, and site design

You could be asking yourself why the SharePoint Foundation architecture requires this special container to hold its sites For starters, site collections represent a scope for admin-istrative privileges If you’ve been assigned as a site collection administrator, you have full administrative permissions within any existing site and any future site created inside that site collection

Think about the requirements of site management in a large corporation that’s provisioning thousands of sites per year The administrative burden posed by all these sites is going to be more than most IT staffs can deal with in a timely manner The concept of the site collection

is important because it allows the IT staff to hand off the administrative burden to someone

in a business division who takes on the role as the site collection owner

Let’s walk through an example The Wingtip Toys IT staff is responsible for provisioning new site collections, and one of the Wingtip business divisions submits a request for a new site Imagine the case where the Wingtip Sales Director has put in a request to create a new Team site for his sales staff A Wingtip IT staff member would handle this request by creating

a new site collection with a Team site as its top-level site

Trang 37

When creating the new site collection, the Wingtip IT staff member would add the Wingtip Sales Director who requested the site as the site collection owner The Wingtip Sales Director would have full administrative privileges inside the site collection and could add new users, lists, and pages without any further assistance from the Wingtip IT staff The Wingtip Sales Director could also add child sites and configure access rights to them independently of the top-level site.

A second advantage of site collections is that they provide a scope for membership and the configuration of access rights By design, every site collection is independent of any other site collection with respect to what security groups are defined, which users have been added as members, and which users are authorized to perform what actions

For example, imagine that the Wingtip IT staff has provisioned one site collection for the Sales department and a second site collection for the Accounting department Even though some users within the Accounting department have administrative permissions within their own site collection, there’s nothing they can do that will affect the security configuration of the Sales site collection SharePoint Foundation sees each site collection as an island with respect to security configuration

A third reason for site collections is that they provide a convenient scope for backup and restore operations You can back up a site collection and later restore it with full fidelity The restoration

of a site collection can take place in the same location where backup was made Alternatively,

a site collection can be restored in a different location—even inside a different farm This technique for backing up a site collection and restoring it in another location provides one possible strategy for moving sites and all the content inside from one farm to another

A final motivation for you to start thinking about in terms of site collections is that they vide a scope for many types of site elements and for running custom queries For example, the server-side object model of SharePoint Foundation provides you with the capability to run queries that span all the lists within a site collection However, there is no query mecha-nism in the SharePoint server-side object model that spans across site collections Therefore,

pro-if your application design calls for running queries to aggregate list data from several dpro-iffer-ent sites, it makes sense to add sites to the same site collection when they contain lists that must be queried together

differ-Imagine a case in which the West Division of the Wingtip Sales team has four field offices The Wingtip Sales Director could create a child site for each field office below a site that was created for the West Division Now assume that each child site has a Contacts list that is used

to track sales leads By using programming techniques shown later in this book, you can execute queries at the scope of the West Division site that would aggregate all the Contacts items found across all of its child sites You could execute the same query at a higher scope and get different results For example, if you executed the same query scoped to the top-level site, it would aggregate all the Contacts found throughout the site collection, including both the West Division and the East Division

Trang 38

SharePoint Foundation 17Customizing Sites

SharePoint Foundation provides many user options for configuring and customizing sites If you’re logged into a site as the site collection owner or as a site administrator, you can per-form any site customization options supported by SharePoint Foundation If you’re logged into a site without administrative privileges in the role of a contributor, however, you won’t have the proper permissions to customize the site Furthermore, if you’re logged in as a

contributor, SharePoint Foundation uses security trimming to remove the links and menu

commands that lead to pages with functionality for which you don’t have permissions

If you’re logged into a standard Team site as a site administrator, you should be able to locate and drop down the Site Actions menu in the top-left corner of the page This menu provides commands that allow you to edit the current page; to create new pages, lists, and child sites;

to configure security; and to navigate to the Site Settings page shown in Figure 1-9

FIguRe 1-9 The Site Settings page is accessible to site administrators in any site.

The Site Settings page provides links to pages that allow you to perform various administrative and customization tasks Notice that the Site Settings page for a top-level site contains one section for Site Administration and a second section for Site Collection Administration The Site Settings page for child sites doesn’t include the section for Site Collection Administration You can see in Figure 1-9 that there are several sections of links, including Users and Permissions, Look and Feel, Galleries, and Site Actions, which provide links to various other administrative pages for the current site If you’re new to SharePoint Foundation, you should take some time

to explore all the administrative pages accessible through the Site Settings page Also keep

in mind that Figure 1-9 shows only the links on the Site Settings page of a Team site running within a SharePoint Foundation farm If the site were running in a SharePoint Server 2010 farm, there would be additional links to even more site administration pages that are not part of the standard SharePoint Foundation installation

Trang 39

Creating and Customizing Pages

The support for wiki page libraries and Web Parts is an enabling aspect of SharePoint

Foundation Business users with no experience in Web design or HTML can quickly add and customize Web pages

Although SharePoint 2007 supports wiki page libraries, this support has been significantly enhanced in SharePoint Foundation An example of the increased support is evident when you create a standard Team site As part of the provisioning process, SharePoint Foundation automatically creates a new wiki library at the path of SitePages off the root of the site, and

it adds a wiki page named Home.aspx It additionally configures Home.aspx to be the home page of the site, so it becomes the first page users see when navigating to the site

Customizing the home page is simple for any user who has the proper permissions The user can enter edit mode using either the Site Actions menu or the Ribbon Once in edit mode, the user is free to simply type text or copy and paste from another application The Insert tab

in the Ribbon also makes it easy for the user to add tables, links, and images

Web Part technology also plays a prominent role in page customization Web Parts are based

on the idea that developers supply a set of visual components that users can add and move around in their pages Every site collection has a Web Part Gallery, which contains a set of Web Part template files This set of Web Part template files determines which types of Web Parts can be added to pages within the site collection

Although earlier versions of SharePoint technologies supported Web Parts, they were not

as flexible as SharePoint Foundation because Web Parts could be added only to Web Part pages SharePoint Foundation now makes it possible to add Web Parts anywhere inside a wiki page When you’re editing the content of a wiki page, you can place the cursor wherever you’d like and add a new Web Part using the Insert tab in the Ribbon The new Web Part appears inline along with your other wiki content This inline Web Part capability, combined with the wiki editing experience, can go a long way toward making SharePoint sites look less boxy—a common complaint about previous versions

Creating and Customizing Lists

The Site Actions menu provides several different commands for creating new pages and new lists, such as New Page, New Document Library, and New Site If you click the More Options command in the Site Actions menu, SharePoint Foundation displays the Create dialog shown

in Figure 1-10 The SharePoint Foundation Create dialog provides a user interface built using Silverlight, which allows a user to filter through the available templates for creating pages, lists, and child sites Figure 1-10 shows a filtered view of the templates available for creating tracking lists in the Create dialog

Trang 40

SharePoint Foundation 19

FIguRe 1-10 The SharePoint Foundation Create dialog is implemented using a Silverlight application.

In addition to list templates, the standard collaboration features of SharePoint Foundation also include templates for creating several different types of document libraries Besides the standard document library type, there are also more specialized document library types for wiki page libraries, picture libraries, and InfoPath form libraries

What’s appealing to SharePoint users is that once they create a new list, it’s immediately ready to use SharePoint Foundation provides instant gratification by including page

templates as part of the list template itself, making it possible to create each new list and document library with a set of pages that allow users to add, view, modify, and delete items and documents

Once a list has been created, SharePoint Foundation gives a user the flexibility to further customize it SharePoint Foundation provides a List Settings page for each list and document library Figure 1-11 shows a typical List Settings page It provides a set of links to secondary pages that allow the user to modify properties of a list such as its title and description and

to configure other important aspects of the list, including versioning, workflow, and security permissions The List Settings page also provides links to add and manage the set of columns behind the list

Ngày đăng: 05/05/2014, 14:20

TỪ KHÓA LIÊN QUAN