SharePoint Advanced Foundation Development (50478)

Request a Quote for this class

About this Course

This 5-day Instructor led, group-paced, classroom-delivery learning model with structured hands-on activities. course This course focuses on SharePoint Foundation 2010 fundamental building blocks such as features, application pages, site pages, Web Parts, custom list types, site columns, content types, custom workflows and site definitions. Other advanced topics include extending the Ribbon and writing custom Service Applications.

Audience Profile

This course is intended for anyone looking to develop SharePoint customizations at a core level. This includes event handlers, features, site definitions, web parts, timer jobs and workflows!

At Course Completion

After completing this course, students will be able to:

  • Learn to extend many of the core features that SharePoint Foundation provides. These include event handlers, site definitions, features, solutions and web parts!

Prerequisites 

Before attending this course, students must have:

  • Attendees should have professional development experience with Visual Studio 2010, the .NET 3.0 Framework and ASP.NET 2.0. Attendees should also be familiar with Microsoft Office products such as Word, Excel and InfoPath.

Course Outline

Module  1: Overview

A simple introduction module.

Lab : Foundation Site Definitions

  • Create one of each SharePoint Foundation site
After completing this module, students will be able to:
  • Understand your course, classroom, classmates, facility and instructor.

Module  2: Collaboration Experience

In this module we take a look at the new features introduced in SharePoint 2010 from a collaboration and UI perspective.

Lessons

  • New SharePoint Features

Lab : User interface

  • Understand UI Improvements
  • Use the Create Page
  • Explore the Ribbon
After completing this module, students will be able to:
  • Describe the new UI features of SharePoint 2010
  • Understand how the Ribbon works

Module  3: Object Model

In this model we explore the SharePoint Server programming model. We will explore several basic SharePoint assemblies and classes.

Lessons

  • Debugging SharePoint
  • Server Object Model

Lab : Object Model

  • Create applications using the Server Object Model
  • Create in-context ASP.NET Web Application
  • Create out of context Windows Application

Lab : Debugging SharePoint

  • Learn to Debug SharePoint via Log Files
  • Learn to Debug Via Visual Studio
  • Log to the SharePoint log File

Lab : Developer Dashboard

  • Enable Developer Dashboard

Lab : SharePoint Web Development

  • Adding Application Pages (Bin and Gac deployment) [_layouts]
  • Adding Site Pages [content database]
After completing this module, students will be able to:
  • How to create applications using the Server Object Model
  • Understand the basic SharePoint assemblies
  • Be able to search and find SharePoint classes and methods
  • Be able to debug code with custom ULS Logging
  • Understand how to test web page performance with Developer Dashboard

Module  4: Client Object Model

In this module we will explore the various Client Object Models. This includes the Client (.NET), ECMAScript and Silverlight Object Models.

Lessons

  • Silverlight Object Model
  • Client Object Model
  • ECMA Object Model

Lab : Client Object Model

  • Explore Client Object Model
  • Utilize Client Object Model (.NET)

Lab : ECMA Script

  • JavaScript Object Model

Lab : Silverlight

  • Utilize Silverlight Object Model
After completing this module, students will be able to:
  • Describe and use the Client Object Model
  • Describe and use the JavaScript Object Model
  • Describe and use the Silverlight Object Model

Module  5: SharePoint Permissions

In this module we take a look at SharePoint permissions. We will explore the default groups, how SharePoint gets usernames and groups from an authentication system, as well has what type of permissions we can assign to those users and groups. We will explore setting up custom permission levels and how permissions are inherited. We will follow that up with SharePoint Security Trimming!

Lessons

  • SharePoint Security

Lab : SharePoint Permissions

  • Add Users Programmatically
  • Add Groups Programmatically
  • Create Permissions Levels programmatically
  • Set inheritance programmatically

Lab : Security Trimmed Interface

  • Use the SharePoint SPSecurityTrimmedControl to hide content and controls

Lab : SPSecurity

  • Write code to elevate privileges
After completing this module, students will be able to:
  • Describe where usernames and domain groups come from
  • What a permission level is
  • How to assign permissions to a user or group
  • What is means to say permissions are cumulative
  • Why SharePoint has no deny
  • How to use the SPSecurityTrimmed control
  • How to programmatically set permission on SharePoint objects

Module  6: Authentication with Custom and Claims

In this module we will explore how to setup Forms based authentication, how claims based authentication works and how to use the Secure Store Service in our own applications.

Lessons

  • Secure Store Service
  • Custom Authentication
  • Claims Based Authentication

Lab : Custom Authentication

  • Change the default Authentication Method of SharePoint to use a custom MembershipProvider

Lab : Claims Based Auth

  • Programming with Claims
  • Creating custom claims provider

Lab : Secure Store Programming

  • Learn how to Configure Secure Store
  • Program web parts to use Secure Store
After completing this module, students will be able to:
  • Setup Forms based authentication in SharePoint 2010
  • How to create a Claims based authentication system
  • Program Secure Store applications

Module  7: Features and Solutions

In this module we explore Features and Solutions.

Lessons

  • Features

Lab : Creating Features

  • Learn to create a Feature.xml file
  • Learn to create an Elements.xml file
  • Install features with STSADM and PowerShell
  • Create a custom action feature

Lab : Feature Dependencies

  • Implement Feature Dependencies

Lab : Feature Sequences

  • Implement Feature Sequences

Lab : Features with Visual Studio

  • Various Feature Types (List, Module, Content Type)
  • Implement Feature Event Receivers
  • Implement Feature Stapling

Lab : Solutions

  • Advanced Solution concepts

Lab : Custom Deployment Steps

  • Create a Custom Deployment Step
After completing this module, students will be able to:
  • What can be deployed as features
  • How to create several types of features
  • How to package your features into Solutions
  • Advanced Solution packaging techniques

Module  8: Sandboxed Solutions

In this module we are going to take a look at SandBoxed Solutions, Solution validators and Full Trust Proxies.

Lessons

  • Sandboxed Solutions

Lab : Sandboxed Solutions

  • Explore Sandboxed Solutions
  • Create and Test Sandboxed Solutions
  • Explore Limitations of Sandbox Solutions
  • Configure Sandbox Points

Lab : Solution Validators

  • Create and Deploy a Solution Validator

Lab : Full Trust Proxy

  • Create and Deploy a Full Trust Proxy
After completing this module, students will be able to:
  • How to create a SandBoxed Solution
  • What the limitations are of SandBoxed Solutions
  • What Resource Measures are and how to modify them
  • How to create Solution Validators
  • How to create Full Trust Proxies

Module  9: Web Services

In this module we explore the web services that come out of the box with SharePoint.

Lessons

  • Web Services

Lab : Foundation Web Services 2007

  • Learn to find SharePoint Web Service
  • Add reference to SharePoint Web Service
  • Program to several of the Web Service Interfaces
After completing this module, students will be able to:
  • Find and describe the various SharePoint Web Services
  • Be able to consume SharePoint Web Services in custom applications

Module  10: LINQ and REST

In this module we are going to take a look at the new REST and LINQ features of SharePoint 2010.

Lessons

  • REST
  • LINQ

Lab : REST

  • Utilize REST Services
  • REST Service Reference
  • REST List Service Calls (PUT, GET)
  • REST Excel Service

Lab : LINQ

  • LINQ Introduction
  • Utilize LINQ For SharePoint
  • Use SPMetal.exe
After completing this module, students will be able to:
  • How to use REST Services
  • How to generate and use LINQ

Module  11: Web Parts

In this module we explore Web Parts. We will take a look at basic web parts and then transition to more complex topics like Tool Parts and Web Part Connections.

Lessons

  • Web Parts

Lab : Manual Web Part

  • Learn how to create a basic web part
  • Learn how to deploy a web part manually in the development environment

Lab : Visual Studio Web Part

  • Use Visual Studio to Create Web Parts
  • Learn how to create web parts that interface with SharePoint Object Model, Databases, and Web Services
  • Implementing Web Part Tool Parts

Lab : Web Parts Connections

  • Create ASP.NET Web Part connections

Lab : Asynchronous Web Parts

  • Synchronous Vs. Asynchronous Web Parts
After completing this module, students will be able to:
  • Describe how web parts work
  • Create web parts with connections
  • Create web parts with Tool Parts
  • Design and develop asynchronous web parts

Module  12: Custom Site Definitions

In this module we explore Site Definitions and Collaborative Markup Language (CAML).

Lessons

  • Site Definitions

Lab : Custom Site Definitions

  • Create a new Site Definition (Manually)
  • Create a new Site Definition (Visual Studio)
After completing this module, students will be able to:
  • Know CAML when you see it!
  • Understand what a site definition is and how to modify it
  • How to create custom site definitions manually and with Visual Studio
  • How to add branding via site definitions

Module  13: Content Types

In this module we explore content types, content type lineage and content type hubs.

Lessons

  • Content Types

Lab : Content Types

  • Explore Content Types
  • Create A New Content Type
  • Document Information Panels
  • Default Workflows
  • Adding Content Types To Lists (Document Library)

Lab : Content Types Lineage

  • Content Type Inheritance/Lineage

Lab : Content Type Hub

  • Configure Content Type Hub
  • Configure Content Type Publishing
After completing this module, students will be able to:
  • Understand and describe content types and their properties
  • Be able to create content types
  • Understand Content Type Lineage
  • Understand how to setup Content Type Hubs

Module  14: Custom Field Types

In this module we explore how to create your own column types for your lists. SharePoint calls these Custom Field Types.

Lessons

  • Field Types

Lab : Custom Field Types

  • Create A Custom Field Type (Regular Expression)
  • Create A Custom Field Type (User Control)
After completing this module, students will be able to:
  • Understand and describe Custom Field Types
  • Be able to create custom field types with and without a UI

Module  15: Events and TimerJobs

In this module we will explore SharePoint Events and how to create and assign them to lists and sites. We will also explore how to create custom Timer Jobs to implement your own monitoring applications.

Lessons

  • SharePoint Timer Jobs
  • SharePoint Events

Lab : SharePoint Events

  • Create an Event Handler feature
  • Programmatically assign an Event Handler

Lab : Custom Timer Job

  • Create a custom Timer Job

Lab : SharePoint Events Encrypt

  • Create an Event Handler feature that encrypts documents
After completing this module, students will be able to:
  • Understand and describe SharePoint Events
  • Understand and describe SharePoint Timer Jobs
  • Be able to create and deploy SharePoint Events
  • Be able to create and deploy SharePoint Timer Jobs

Module  16: Service Applications

In this module we are going to take a look at Service Applications that come out of the box with SharePoint and how to build your own service applications.

Lessons

  • Service Applications

Lab : Custom Service Applications

  • Create and Deploy a Custom Service Application
After completing this module, students will be able to:
  • Describe Service Applications
  • Understand how the Service Application architecture works
  • Create and install custom Service Applications

Module  17: Workflows With SharePoint Designer

In this module we are going to take a look at implementing workflows with SharePoint Designer 2010.

Lessons

  • Workflows

Lab : Custom Activities

  • Create a custom workflow activity for SharePoint Designer

Lab : Custom Conditions

  • Create a custom condition for SharePoint Designer
After completing this module, students will be able to:
  • Describe SharePoint Designer workflows
  • Understand what a looping workflow is
  • Understand common workflow patterns
  • Build custom actions for SharePoint Designer
  • Build custom conditions for SharePoint Designer
  • Implement logging in your workflows

Module  18: Workflows With Visual Studio

In this module we will explore how to use Windows Workflow Foundation to create highly customized and reusable workflows.

Lessons

  • Visual Studio Workflows

Lab : Custom Visual Studio Workflow

  • Create a custom workflow using Visual Studio
After completing this module, students will be able to:
  • How to create custom workflows with Visual Studio

Module  19: Business Connectivity Services

In this module we are going to take a look at the new Business Connectivity Services.

Lessons

  • Business Connectivity Services

Lab : BCS

  • Explore External Content Types
  • Create a new External Content Type
  • Create an External List

Lab : BCS Connectors

  • Create a custom BCS .NET Connector
After completing this module, students will be able to:
  • Understand how BCS works
  • How to build new BCS applications
  • How to Upgrade your older BDC applications
  • How to create BCS Connectors

Module  20: Extending the User Interface

In this module we are going to take a look at extending the new Ribbon and how to work with the new Dialog platform.

Lessons

  • Extending the Ribbon
  • Dialogs

Lab : Extending the Ribbon

  • Extend the SharePoint Ribbon

Lab : Creating Dialogs

  • Utilize the UI Dialog Platform
After completing this module, students will be able to:
  • Understand how to extend the SharePoint UI
  • Customize and extend the Ribbon
  • Create custom Dialogs