Beginning SharePoint 2010 Development

( 2 )


Discover how to take advantage of the many new features in SharePoint 2010

SharePoint 2010 is a significant leap forward from the 2007 release, and 'you will find that there are a ton of features built into the platform for you to leverage in your solution development. Because SharePoint is a broad platform that covers a lot, this book also covers quite a bit of ground. As a Wrox Beginning book, the goal of Beginning SharePoint 2010 Development is to get you started with many of...

See more details below
$32.16 price
(Save 19%)$39.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (28) from $1.99   
  • New (9) from $19.93   
  • Used (19) from $1.99   


Discover how to take advantage of the many new features in SharePoint 2010

SharePoint 2010 is a significant leap forward from the 2007 release, and 'you will find that there are a ton of features built into the platform for you to leverage in your solution development. Because SharePoint is a broad platform that covers a lot, this book also covers quite a bit of ground. As a Wrox Beginning book, the goal of Beginning SharePoint 2010 Development is to get you started with many of the fundamentals so that you can continue on to advanced programming beyond this book.

The book's goal is to quickly take you from the basics of SharePoint, to installing and configuring a development environment, and then into how you can develop for SharePoint. The book is heavy on coding exercises, but tries to stick to a common set of .NET patterns to ensure you walk away with understanding the different ways in which you can code for SharePoint. Moving from beginning to advanced means that you can expect the walkthroughs and chapters to become increasingly more complex within each chapter and throughout the book. The walkthroughs have been created to be concise and to guide you through all of the steps you must accomplish to complete a coding task.

Beginning SharePoint 2010 Development is aimed at the developer who is new to SharePoint. The book assumes you have some programming experience and a passion to learn how to develop for SharePoint. But this book does not assume that you've programmed against SharePoint before. With regard to your general development background, the two assumptions in this book are that you have some familiarity with Web development, and you have an understanding of .NET programming. With regard to Web development, this book assumes that you understand HTML, and may have an understanding of Cascading Style Sheets (CSS), Extensible Markup Language/Extensible Stylesheet Language (XML/XSL), and dynamic languages such as JavaScript. You may have a light understanding of ASP.NET and are looking to apply this knowledge to the SharePoint space. In any case, you have some understanding of the fundamentals of Web and .NET development, and are looking to apply those to the SharePoint space.

Read More Show Less

Product Details

  • ISBN-13: 9780470584637
  • Publisher: Wiley
  • Publication date: 6/8/2010
  • Edition number: 1
  • Pages: 504
  • Sales rank: 1,427,150
  • Product dimensions: 7.30 (w) x 9.20 (h) x 1.10 (d)

Meet the Author

Steve Fox is a Technical Evangelist in the Developer Platform Evangelism group at Microsoft. He's worked in the IT industry for over 15 years, in areas such as natural language, search, developer tools, and more recently Office Business Application and SharePoint development. Steve also presents at many conferences such as TechEd, VSLive, DevConnections, SAP TechEd, among others, and has written a number of articles for MSDN Magazine.

Read More Show Less

Read an Excerpt

Beginning SharePoint 2010 Development

By Steve Fox

John Wiley & Sons

Copyright © 2010 John Wiley & Sons, Ltd
All right reserved.

ISBN: 978-0-470-58463-7

Chapter One

Introduction to SharePoint 2010


* Getting familiar with the core functionality and features of SharePoint * Understanding the basics of SharePoint architecture * What's available to developers in SharePoint 2010

SharePoint is an exciting Web-based technology. In its fourth version, SharePoint has undergone quite an evolution since the 2003 release, and the types of things you can do with SharePoint run far and wide. Those who have had the chance to see the product grow up will be surprised and happy with many of the changes that are now built into the platform. In fact, existing SharePoint developers will witness what arguably is a significant change in the features and functionality that SharePoint provides, as well as an evolution in the tools supported and the developer community that rallies around the technology. Aspiring SharePoint developers will realize there is quite a bit of power in the platform that you should be able to put into practice by the end of this book.

SharePoint has matured into a first-class platform that will enable you to build and deploy a wide array of solutions, as well as take advantage of the build-and-publish model that SharePoint users and developers have come to enjoy. In fact, SharePoint 2010 offers such a wide array of features that it is challenging for any one person to claim to be an expert across all of the SharePoint workloads. You will need to dedicate some time to becoming an expert, but the journey will be worth it.

With that in mind, this chapter introduces you to what SharePoint is and examines some of the high-level features for the developer. This chapter will also describe the capabilities that make SharePoint a platform that is interesting and compelling for you, the developer, to learn. Specific topics include the types of platform services to expect, data programmability, and the ways in which you can build and deploy a SharePoint solution. Toward the end of this chapter, you'll be introduced to Central Administration, where you'll find an array of administrative capabilities for SharePoint.


Microsoft describes SharePoint 2010 as the business productivity platform for the enterprise and the Internet. To provide you with an idea of the types of things that you can do with SharePoint, Figure 1-1 breaks down SharePoint into three separate areas:

* Collaborate - As you move throughout this book, you'll see the notion of collaboration is a very strong theme for SharePoint. This is because SharePoint is about bringing people together through different types of collaboration, such as enterprise content management (ECM), Web content management (WCM), social computing through the use of wikis or blogs, creating dashboards to fulfill your business intelligence (BI) needs, and so on.

* Interoperability - SharePoint is also about bringing this collaboration together through interoperability. This means Office client and Web-based document integration, and the capability to build and deploy Office business applications (OBAs) - custom solutions that integrate line-of-business (LOB) data with SharePoint and Office, integrating with Web 2.0 technologies, or deploying applications to the cloud. It also means enhanced security through an evolved security model called Claims-Based Authentication that helps facilitate integration with other line-of-business (LOB) systems.

* Platform - As you'll see, SharePoint is a platform that supports not only interoperability and collaboration but also extensibility, through a rich object model, a solid set of developer tools, and a growing developer community.

These are three key themes that you will find crop up throughout most discussions of SharePoint and implicitly through many of the capabilities you'll get to explore throughout this book.

At its essence, SharePoint is a Web-based platform that provides the following:

* A set of native capabilities to support productivity and collaboration

* An extensible set of APIs and services

* A configuration engine that provides rich administrative abilities

However, depending on the role of the person who is using SharePoint (for example, the end user versus the developer versus the IT professional), the stated definition may take on a slightly different hue.

For example, for the end user, SharePoint enhances productivity by providing a core set of connected applications that essentially act as the Web-based application platform. The applications enable people to connect using wiki sites, workspaces, lists, document libraries, and integration with Microsoft Office applications, such as Outlook, Excel, and Word 2010.

From an organizational point of view, the unified infrastructure enables the organization to rally around a central point of collaboration - be it through an organizational portal, a team site, or a personal My Site. It also enables organizations to integrate LOB systems, such as SAP, Siebel, PeopleSoft, and Microsoft Dynamics, into the information worker experience through SharePoint.

The response to business needs arrives through the capability to use SharePoint as a toolset in the everyday work lives of an organization's employees - for example routing documents through managed processes, providing BI dashboards, or supplying audit tracking for documents in the Record Center. In essence, SharePoint 2010 represents a platform that offers the organization a lot of functionality to do many different things, with collaboration lying at the heart of them.

By stating that SharePoint is the platform for the enterprise and the Internet, Microsoft is implying that SharePoint has predominantly excelled in two spaces.

The first (and historically predominant) is the enterprise, which means that many large companies are attracted by what SharePoint offers, and are attracted to its lower cost compared to competitive products or technologies. This is because, for example, the platform is tightly integrated with Office, other Microsoft technologies (such as SQL Server and Silverlight), and external technologies and LOB systems.

While the enterprise has been an historical stronghold for SharePoint, there have been some interesting movements into the small and medium-sized business (SMB) space for SharePoint as well. This is evidenced by the fact that SharePoint comes in a variety of flavors and editions, as shown in Figure 1-2, and some of these can be leveraged by SMB developers to deliver some great experiences for SharePoint consumers. (Note that these were the editions as of this writing, and may be subject to change. For the latest editions, see

For example, among the different SharePoint editions shown in Figure 1-2 is SharePoint Foundation 2010. SharePoint Foundation (roughly equivalent to Windows SharePoint Services 3.0 in the 2007 release) is a free version of SharePoint and offers a baseline set of capabilities such as a set of site templates, security and administration, and web collaboration capabilities. Further, SharePoint Server 2010 (which is roughly equivalent to Microsoft Office SharePoint Server (MOSS) in 2007) is an edition that provides richer capabilities built into the platform such as a wider array of server-side services and collaboration options. You need to pay for SharePoint Server 2010, but the key is that these different editions offer you some choice as to where you want to start and the types of solutions you can build. Thus, companies have great flexibility when deciding upon what flavor of SharePoint to implement.

Because SharePoint is essentially a Web-based technology, you interact with SharePoint from your Internet browser. The Web-based experience is managed through an intranet, an extranet, or the Internet. For example, Figure 1-3 shows the SharePoint 2010 interface invoked from the Internet Explorer browser. (SharePoint is cross-browser, so you can use other Internet browsers such as Safari or Firefox with SharePoint.) This view is the default Team Site template (one of the site templates that ships with SharePoint) that is typical of a SharePoint intranet site.

As you can see in Figure 1-3, the main portion of the page consists of three different components:

* Some text ("Hello World!!!"),

* A link to Microsoft Office documents

* A default image

Also note that, down the left-hand side of the page, you have the Quick Launch navigation pane, which enables you to link to other functionality and sites within the SharePoint site. A ribbon at the top (very similar to the Office 2007 and 2010 Office client ribbon) provides centralized groups of elements that also load different functionality into the main content window. There is also a search option that connects you to other core SharePoint sites, functionality, and content within the site located in the top right of the page. And, lastly, you also have a set of other links, such as one to your My Site on this Web site, located in the upper right-hand corner of the page. As you'll find out throughout this book, SharePoint is very user-friendly. The view you see in Figure 1-3 can be edited and customized by the user, it can be integrated with Office documents, and it can be branded with a specific theme.

Thus, the Web-based experience that SharePoint provides intrinsically facilitates an out-of-the-box experience and integrates core (as well as external) applications and functionality that end users can employ during their daily work lives.

In Figure 1-4, you'll note that the default view has changed. This is because the site is now in Edit mode, which enables you to customize the SharePoint site. In this view, you can see that the user has clicked a part of the SharePoint page, and is now trying to insert an instance of the Content Editor Web part (which provides HTML and source-code editing capabilities) from the Authoring Web part category. The fact that you can quickly put a site into Edit mode, make some changes, and then save those changes back to the server is one of the great advantages of SharePoint.

While the experiences in Figure 1-3 and Figure 1-4 are the out-of-the-box default intranet site experiences (for viewing and editing), SharePoint also offers a full publishing-to-the-Web experience. This manifests in a special publishing template to meet your WCM needs, and provides you with templates, theming, a default site experience, workflow, and so on, so that you can create and publish content to your Internet Web sites.

You may be surprised to learn that innumerable companies are using SharePoint for their Internet-facing Web sites. For example, Figure 1-5 shows the Ferrari Internet Web site that is built using SharePoint. You'll also note that the site is rendered in Firefox.

For organizations, this can provide a one-stop shop for leveraging the SharePoint infrastructure both for internal sites, to manage your day-to-day project needs, and as an external publishing workflow and infrastructure to manage your publicly facing sites as well. The key point is that SharePoint provides the infrastructure for both intranet and Internet publishing and development, as well as many different options provided through a set of product editions to map to a host of scenarios and budgets.

As you'll see throughout this book, the native SharePoint experience is, in many ways, customizable. For example, Figure 1-4 shows the default site that SharePoint creates for you. However, you can apply your own master page to this default view to customize and brand the user's experience. This could be as simple as changing the colors, or it could be as deeply branded as the Ferrari site. You could even reconstruct the navigation through the use of Silverlight to simply leverage the SharePoint infrastructure and re-create your own customized user experience through the user interface (UI). And this is just the tip of the iceberg.


If you define SharePoint as a business productivity platform, you may be wondering exactly where the developer fits into this description. Although it seems like a convenient and common-sense way of viewing SharePoint from an end-user perspective, what about the needs of the developer? To understand how SharePoint applies to the developer, you must get past the surface definition and drive toward the platform capabilities. Here, you'll begin to see some interesting and compelling pivots for the developer.

Let's look at a practical example. As you have seen, a business productivity platform implies having a platform for end users to make them more productive in their day-to-day work lives - and SharePoint can certainly do that. In short order, it can be used as an application for end users. For example, a Human Resources (HR) department might use SharePoint to manage employee reviews, or a sales team might use it to manage a monthly sales-forecasting dashboard for BI.

In both of these scenarios, SharePoint represents an end-user application (or bundle of applications), but developers are not necessarily called out at this level. However, because SharePoint represents a platform, you know that you can build on this platform, or extend its capabilities.

So, when your HR manager comes to you and asks you to design a SharePoint site collection that integrates data from SQL Server or SAP, you get excited. When that same HR manager asks you to map a custom document template to a SharePoint 2010 content type (that also pulls data in from PeopleSoft), you become equally excited. And when the sales manager asks you to get data from an Excel 2010 worksheet and then render that data inside of a Silverlight application in SharePoint, you really start to jump up and down.

Extension and Enrichment for Developers

While SharePoint 2010 represents a set of connected applications (such as dashboards, document libraries, and the like), it still has a vast array of opportunities for developers to extend and enrich that end-user experience at multiple levels. This experience is obviously important when you think about SharePoint in the context of the enterprise developer. However, when the independent software vendors (ISVs) begin to think about that custom experience they want to deploy to their customers, it becomes vital that they have a reliable platform beneath their feet that they can deploy to and use to customize their SharePoint solutions. Their business depends on this stability and predictability. Thus, SharePoint 2010 has done a very good job of providing a scalable platform that supports multiple types of developers with different end goals and design ambitions.

So, SharePoint provides both an end-user paradigm (where the applications that make up SharePoint serve the needs of the end user) and a development paradigm (where developers can develop on top of SharePoint).

In a paper available through Forester Research ( now_is_time_to_determine_sharepoints_place/q/id/45560/t/2) entitled "Now Is the Time to Determine SharePoint's Place in Your Application Development Strategy," John R. Rymer and Rob Koplowitz reinforce this model. The two authors propose that SharePoint has an application level, where end users integrate with the out-of-the-box collaboration and productivity applications. They then add a customization layer, where either power users or developers can begin to customize the SharePoint experience for the end user. And lastly, they have a third layer, which is the application development layer.

It is at this application development layer where things get very interesting for developers. Here is where you'll find the solution developer who builds and deploys (or integrates through existing SharePoint artifacts) applications or business solutions - such as creating a SharePoint list that is capable of reading and writing data into an external LOB system, such as SAP or Siebel, or a Silverlight-enabled business application that is deployed as a Web part into your SharePoint infrastructure.


Excerpted from Beginning SharePoint 2010 Development by Steve Fox Copyright © 2010 by John Wiley & Sons, Ltd. Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.

Read More Show Less

Table of Contents

Introduction xxiii

Part I: Welcome to SharePoint 2010

Chapter 1: Introduction to SharePoint 2010 3

Getting to Know SharePoint 4

Addressing the Needs of the Developer 8

Extension and Enrichment for Developers 9

Breaking It Down for Developers 10

SharePoint 2010: The Platform 12

SharePoint 2010 Capabilities 14

Site Collection and Sites 15

Server APIs and Client APIs 17

Data Modeling and Programmability 18

SharePoint Central Administration 19

Application Management 20

Monitoring 21

Security 21

General Application Settings 21

System Settings 21

Backup and Restore 21

Upgrade and Migration 22

Configuration Wizards 22

Summary 22

Recommended Reading 24

Chapter 2: Getting Started with SharePoint 2010 Development 25

Core Developer Features for SharePoint 2010 26

Developer Productivity 26

Rich Platform Services 30

Flexible Deployment 32

Key Skills for the SharePoint Developer 34

Your Development Environment 36

Installing and Configuring Windows Server Hyper-V 37

Installing SharePoint Server 2010 42

Getting Familiar with SharePoint 2010 45

Working with SharePoint Sites 46

Working with SharePoint Lists 50

Working with SharePoint Web Parts 58

Setting Permissions for a SharePoint Site 63

Summary 64

Recommended Reading 66

Part II : Getting Started with SharePoint 2010 Development

Chapter 3: SharePoint 2010 Developer Tools 69

SharePoint Development Across Developer Segments 70

Web-Based Development in SharePoint 71

Site Settings 72

Inline Rich Text and HTML Editing 74

Adding Multimedia to a Site 76

Developing SharePoint Applications Using SharePoint Designer 2010 78

Customizing a Site Page 80

Managing Other Data Sources in SharePoint Designer 85

Using JavaScript in SharePoint Designer 86

Master Pages 91

Developing SharePoint Applications Using Visual Studio 2010 98

Development Using the Expression Blend Suite 116

Summary 126

Recommended Reading 127

Chapter 4: Common Developer Tasks in SharePoint 2010 129

Creating Web Parts 130

Standard and Visual Web Parts 130

Data View Web Parts 133

Creating Lists, Site Columns, and Content Types 135

Working with SharePoint Data 141

Creating Event Receivers 147

Creating aspx Pages 150

Creating Master Pages 153

Summary 157

Recommended Reading 158

Chapter 5: Programming Against SharePoint 2010 Lists 159

Overview of SharePoint Lists 159

Programmatically Accessing Lists 162

Programming Against Lists Using the Server-Side Object Model 163

Programming Against Lists Using ASP.NET Web Services 171

Programming Against Lists Using the Client Object Model 186

Programming Against Lists Using a Custom WCF Service 197

REST-Based Services and List Development 202

Creating Event Receivers for a SharePoint List 210

Summary 215

Recommended Reading 216

Chapter 6: Building and Deploying SharePoint Web Parts 217

Understanding Web Parts 217

Web Part Architecture 220

Custom Web Parts 223

Visual Web Parts 233

Custom Web Part Properties 244

Summary 246

Recommended Reading 248

Chapter 7: Creating Your First SharePoint 2010 Application 249

Requirements 250

Solution Design 251

Customer Sales and Total Sales Lists 252

Building the Application 254

Adding a Record to the Sales List 254

Viewing the Customer Sales 258

Viewing the Total Sales 262

Adding a Chart Web Part 268

Final Dashboard 271

Summary 272

Recommended Reading 274

Part III : Advanced Topics for SharePoint 2010 Development

Chapter 8: Integrating Line-of-Business Data Using Business Connectivity Services 277

Understanding Office Business Applications (OBAs) 278

OBAs and BCS 280

Anatomy of an External Content Type 284

Connectivity Options with BCS 287

Developing Your First Application Using BCS 289

Creating the External Data Source 290

Creating the External Content Type 291

Setting Permissions for External Content Types 306

Taking the External List Offline 307

Summary 313

Recommended Reading 315

Chapter 9: Creating Enhanced User Experiences for SharePoint with Silverlight 317

Understanding Silverlight 317

Why Integrate Silverlight and SharePoint? 325

Integrating Silverlight with SharePoint 326

No-Touch Integration 328

Low-Touch Integration 331

High-Touch Integration 343

Summary 361

Recommended Reading 362

Chapter 10: Developing Service-Oriented Applications for SharePoint 2010 363

ASP.NET Web Services 365

Native Web Service 366

Custom ASP.NET Services 370

WCF Web Services 378

RESTful Web Services 387

Azure and SharePoint 390

Summary 396

Recommended Reading 398

Chapter 11: Integrating SharePoint with Microsoft Office 399

Content Type as a Document Template 400

Using InfoPath in Your SharePoint Solutions 404

Managing Office Documents through a SharePoint Workflow 406

Integrating Office Documents with SharePoint List Data 410

Server-Side Services 418

Visio Services 418

Excel Services 420

Word Services 426

Access Services 427

Summary 429

Recommended Reading 431

Chapter 12: Securing Your SharePoint 2010 Applications 433

Authorization 434

Solution Trust 436

Secure Store Service 440

Federated Authentication 442

Forms-Based Authentication 442

Claims-Based Authentication 443

Summary 444

Recommended Reading 446

Part IV : Appendix

Appendix : Where to Go from Here 449

Index 451

Read More Show Less

Customer Reviews

Average Rating 3.5
( 2 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted September 22, 2010

    No text was provided for this review.

  • Anonymous

    Posted March 25, 2011

    No text was provided for this review.

Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)