SharePoint 2010 and 2013 Training - Critical Path Training

The Great SharePoint Adventure 2010

Overview

This 5-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 address how users create content-centric solutions using SharePoint Server’s Web Content Management (WCM) and Enterprise Content Management (ECM) capabilities.

 

The course can be used to prepare students for the following Microsoft Certification Exams:

  • 70-573 TS: Microsoft SharePoint 2010, Application Development
  • 70-576 PRO: Designing and Developing Microsoft SharePoint 2010 Applications

Student Prerequisites

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.

Agenda

Class runs Monday – Thursday from 8:30 AM to 5:30 PM.
Class runs Friday from 8:30 to 3:00 PM.

Lecture Schedule:

Day 1: Modules 1-4
Day 2: Modules 5-8
Day 3: Modules 9-11
Day 4: Modules 12-14
Day 5: Modules 15-19

Course Modules


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 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 & SharePoint Development Tools
  • Packaging and Deployment
  • Designing projects in terms of SharePoint Project Items
  • Visual Studio 2010 Extensibility


Module 4 - Creating Sandboxed 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 Sandboxed 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 & 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 Processing


Module 7 - Creating Fields, Site Columns & 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 & Content Types


Module 8 - Creating Lists & Event Handlers

In this module you will learn how to create lists and event handlers using the SharePoint development tools in Visual Studio 2010. This module 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 - SharePoint Data Access - Server Side

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 use the more traditional methods of working with SharePoint data using CAML, SPQuery and SPSiteDataQuery.

  • CAML
  • SPQuery & SPSiteDataQuery
  • LINQ Primer
  • LINQ for SharePoint


Module 10 - SharePoint Data Access - Client Side

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 In addition you will also learn how to use the new WCF Data Services (OData/REST) and Web Services to access SharePoint data from off the server.

  • Overview of the Client Object Model
  • Leveraging the .NET Client Object Model
  • Leveraging the Silverlight Client Object Model
  • Leveraging the ECMAScript Client Object Model
  • WCF Data Services / OData / REST


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 Assembly 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 & Digital Asset Management
  • Managed Metadata & Taxonomies
  • In-Place Records Management
  • Document Sets
  • Unique Document IDs


Module 15 - Extending Search

Microsoft invested considerably in search in SharePoint 2010 from the previous release. This module will explore the different capabilities of search in the SharePoint 2010 stack including SharePoint search and FAST Search. In addition you will learn how to customize and extend the search experience.

  • Understanding the SharePoint 2010 Search Landscape
  • Creating Custom Search Web Parts
  • Creating Custom Search Refiners
  • Creating Custom Search Relevance Rankings
  • Customizing the Search Results Experience


Module 16 - Business Intelligence (BI)

Microsoft took the approach in SharePoint 2010 to enable users to create business intelligence solutions throughout sites. In this module you will learn how to leverage the included charting Web Parts, Excel Services and the BI Center template. In addition, you will also learn how to how to create custom KPI’s, scorecards and dashboards using PerformancePoint services, now included in SharePoint Server 2010.

  • Chart Web Part
  • Excel Services
  • BI Center
  • SQL Server Reporting Services Integration
  • SQL Server Analysis Services Integration
  • PerformancePoint Services


Module 17 - SharePoint Security

Every developer needs to have a firm grasp on how security (authentication & authorization) works in SharePoint as with any application. Microsoft has added a new security model to SharePoint 2010: claims based authentication. In this module you will learn how claims based authentication works, how to set it up and interact with it programmatically as well as how to create a custom claims provider.

  • Understanding SharePoint Security
  • Claims Based Authentication
  • Programming with Claims Based Security
  • Creating a Custom Claims Provider


Module 18 - Extending the Visual Studio 2010 SharePoint Tools

As covered in previous modules and throughout the course, the latest release of Visual Studio 2010 includes SharePoint development tools. These tools dramatically improve the productivity of the developer with new project templates, item templates, designers and tool windows. In addition to these tools, developers can leverage the new extensibility model of Visual Studio 2010 to customize and create new experiences at their desire. In this module you will learn the basics of extending Visual Studio 2010 with the Managed Extensibility Framework (MEF) in creating custom project items, extending menus and deployment configurations among other things.

  • Understanding the Managed extensibility Framework (MEF)
  • Creating Custom Project Items
  • Creating Custom Deployment Configurations
  • Customizing the Visual Studio Interface


Module 19 - Service Applications

In this module you will learn how new service application architecture in SharePoint 2010 is a major change from the previous Shared Service Provider (SSP) model in SharePoint 2007. While SharePoint Server 2010 includes many different service applications, one new addition to the architecture is the fact developers can now create their own custom services. This module will explore what is involved in creating a custom service application.

  • Understanding the Service Application Architecture
  • Creating Custom Service Applications & Proxies
  • Creating Service Application Consumers
  • Implementing Custom Backup/Restore/Upgrade Logic