Course 575:
Developing Solutions with SharePoint 2010

(4 days)


Course Description

This four-day course with extended hours explores the development opportunities with Microsoft’s most recent release of SharePoint. The first half of the course focuses on Microsoft SharePoint Foundation 2010 (SPF2010, formerly known as Windows SharePoint Services or WSS 3.0) where you will learn how to develop fundamental SPF2010 building blocks such as Features, application pages, site pages, custom list types, site columns, content types, custom workflows, and site definitions.

Throughout the course, students will not only learn how to create robust SharePoint projects and solutions using the new SharePoint Development Tools in Visual Studio 2010, but they will also learn how to customize and extend these tools. In addition, developers will learn about the new Sandbox Solution paradigm and best practices around when and how to create robust solutions in this new way of thinking.

Students will also learn how to create web parts as well as incorporate some more advanced web part development techniques such as custom verbs, asynchronous programming techniques, and creating connectable web parts. Microsoft made significant improvements in the ways developers access data in SharePoint, both on and off the server. In this course, developers will learn how to access data in SharePoint using LINQ for SharePoint when on the server. When connecting to SharePoint from off the server, developers will also learn how and when to use the WCF Data Services (aka: OData / REST) and the Client Object Model (.NET, Silverlight, and ECMAScript). In addition, developers will also learn how to read, write, and surface data in many ways from external systems using the new Business Connectivity Services (BCS, formerly Business Data Catalog (BDC) in SharePoint Server 2007).

This course also addresses how users create content-centric solutions using SharePoint Server’s Web Content Management (WCM) and Enterprise Content Management (ECM) capabilities.


Attendees should have professional development experience with Visual Studio, the .NET Framework, and ASP.NET, as well as familiarity with Microsoft Office products such as Word and Excel. It is also recommended (but not required) that attendees have a background with the previous version of Windows SharePoint Services 3.0/Office SharePoint Server 2007 and have experience working directly with XML files in Visual Studio 2008.

Course Outline

Module 1 – SharePoint 2010 Developer Roadmap

Learn what’s new for developers in SharePoint 2010. This module provides a good introduction to SharePoint 2010 for those with and without prior SharePoint experience. You’ll learn the basics of SharePoint and how to get around, including the administration story and leveraging the new PowerShell interface.

  • SharePoint Developer’s Windows PowerShell Primer
  • New Features of SharePoint Designer 2010
  • Developing with Features and Solutions

Module 2 – SharePoint Foundation Development

In this module, we’ll dive into the core development concepts in SharePoint Foundation 2010. Developers will get up to speed on the server-side object model and learn how to debug their solutions using the new Developer Dashboard. In addition, students will be introduced to the SharePoint Feature and Solution framework, as well as how to leverage the new Feature upgrade improvements added to SharePoint 2010.

  • SharePoint Server-Side Object Model
  • Developer Dashboard
  • Feature and Solution Framework
  • Upgrading Features and Solutions

Module 3 – Visual Studio 2010 SharePoint Tools

Visual Studio 2010 introduces SharePoint development tools without any additional installers! In this module, you’ll learn how to use the new tools effectively as well how to extend them.

  • Visual Studio 2010 and SharePoint Development Tools
  • Packaging and Deployment
  • Designing Projects in Terms of SharePoint Project Items
  • Visual Studio 2010 Extensibility

Module 4 – Creating Sandbox Solutions

Microsoft introduced the concept of sandbox solutions which empower site collection owners to deploy custom code without access to the servers or involvement by the IT group. In this module, you’ll learn how to create sandbox solutions, the limitations that come along with them, as well as how to break out of the sandbox.

  • Sandbox Architecture
  • Sandbox Solution Gallery
  • Creating and Testing a Sandbox Solution
  • Limitations with Sandboxed Solutions

Module 5 – Pages and Navigation

In this module, you will learn how to create custom application pages as well as content pages and the details around customizing pages. In addition, this module will also dive into the aspects of customizing the SharePoint user interface for custom branding experiences, as well as customizing and extending the SharePoint Ribbon.

  • Application Pages and Site Pages
  • Adding Custom Actions for Navigation
  • Pages Templates and Customization (Ghosting)
  • Master Pages and Branding
  • Designing Web Part Pages
  • Customizing and Extending the SharePoint Ribbon

Module 6 – Developing Web Parts

In this module, you will learn how to create custom web parts as well as address the complex scenarios such as creating custom verbs menus, custom editor parts, connecting two or more web parts together, and leveraging asynchronous programming techniques.

  • Persistent Properties
  • Custom Editor Parts
  • Web Parts Verbs
  • Web Parts Connections
  • Asynchronous Programming

Module 7 – Creating Fields, Site Columns, and Content Types

In this module, you’ll learn how to create custom field types, field controls, site columns, and content types, as well as how to leverage them in custom solutions. In addition, you’ll also learn how to implement them in a repeatable fashion with the SharePoint tools in Visual Studio 2010.

  • Custom Field Types
  • Creating custom Field Controls
  • Site Columns and Content Types

Module 8 – Creating Lists and Event Handlers

In this module, you will learn how to create lists and event handlers using the SharePoint development tools in Visual Studio 2010. You will also learn about the new events and event handler options introduced in SharePoint 2010.

  • Creating a List Instance with Code
  • Creating a List Definition with SharePoint Designer 2010
  • Creating a List Definition with Visual Studio 2010
  • Events and Event Receivers
  • Document Libraries and Document Templates
  • Site Definitions

Module 9 – Accessing Data in Lists

Microsoft invested a considerable amount in SharePoint 2010 on ways to get data out of SharePoint lists. New to SharePoint is LINQ integration. LINQ for SharePoint is used for querying and joining lists, as well as creating and updating items. In this module, you will learn how to setup LINQ for SharePoint and query lists, as well as how to leverage WCF Data Services to read and write to SharePoint lists via a REST-ful API.

  • LINQ for SharePoint 2010
  • Reading and Writing Data in SharePoint Lists with LINQ
  • Using OpenXML 2.0 to Create Microsoft Word Documents
  • WCF Data Services

Module 10 – Client Object Model

Another big investment area in SharePoint 2010 by Microsoft is the introduction of the client object model. This object model extends to .NET, Silverlight, and ECMAScript, enabling developers an easier way to work with SharePoint than the included Web services. In this module, you will learn how to leverage each of these three client object models as well as how to utilize ASP.NET AJAX in SharePoint projects

  • Overview of the Client Object Model
  • Leveraging the .NET Client Object Model
  • Leveraging the Silverlight Client Object Model
  • Leveraging the ECMAScript Client Object Model

Module 11 – Developing Workflows

In this module, you will learn how to create custom workflows for SharePoint 2010 using Visio 2010, SharePoint Designer 2010, and Visual Studio 2010. In addition, you will learn how to incorporate custom forms into your workflow solutions.

  • SharePoint Integration with Workflow Foundation
  • Starting and Monitoring Workflow Instances
  • Creating Reusable Workflow Templates with SharePoint Designer 2010
  • Creating Workflow Templates with Visual Studio 2010 SharePoint Tools
  • Incorporating ASP.NET and InfoPath Forms to Workflows

Module 12 – Business Connectivity Services

Microsoft first introduced the concept of the Business Data Catalog (BDC) in SharePoint 2007 to consume data from external sources. In SharePoint 2010, Microsoft improved on this platform by introducing Business Connectivity Services (BCS). BCS adds the ability to read/write data to external systems as well as expand on the available data sources by adding a new concept: the .NET Assembly Connector. In this module, you’ll learn how to consume and interact with external data sources, as well as how to create a custom .NET Connector.

  • Overview and Architecture
  • Using the BCS Server API
  • Creating External Content Types
  • Creating External Lists
  • Leveraging External Data in Office 2010 Clients
  • Creating .NET Assembly Connectors

Module 13 – Web Content Management

In this module, you will learn how to use the publishing capabilities in SharePoint Server 2010 to create content-centric sites, empowering content owners to update sites without involving the IT group every time changes need to happen.

  • Customizing Sites with the Publishing Portal Template
  • Creating Content Types and Page Layouts for Web Content
  • Understanding the Publishing Content Approval Process
  • Optimizing Performance with Publishing Caching Features

Module 14 – Enterprise Content Management

Microsoft’s approach to ECM is to encourage more people to participate in ECM solutions by incorporating ECM techniques in traditional collaboration experiences as well as provide the tools for records managers to manage and analyze the large quantities of content. In this module, you will learn about Microsoft’s ECM strategy within SharePoint Server 2010. You will also see how you can leverage SharePoint Server 2010 to create robust content-centric solutions using Web Content Management.

  • Understanding ECM in SharePoint 2010: Records Management, Document Management, and Digital Asset Management
  • Managed Metadata, and Taxonomies
  • In-Place Records Management
  • Document Sets
  • Unique Document IDs

Please Contact Your ROI Representative to Discuss Course Tailoring!