This is a 5-day instructor-led, group-paced, classroom-delivery learning model with structured hands-on activities. 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.
Module 1: Overview
- Create one of each SharePoint Foundation site
- Understand your course, classroom, classmates, facility and instructor.
- New SharePoint Features
- Understand UI Improvements
- Use the Create Page
- Explore the Ribbon
- Describe the new UI features of SharePoint 2010
- Understand how the Ribbon works
- Debugging SharePoint
- Server Object Model
- Create applications using the Server Object Model
- Create in-context ASP.NET Web Application
- Create out of context Windows Application
- Learn to Debug SharePoint via Log Files
- Learn to Debug Via Visual Studio
- Log to the SharePoint log File
- Enable Developer Dashboard
- Adding Application Pages (Bin and Gac deployment) [_layouts]
- Adding Site Pages [content database]
- 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
- Silverlight Object Model
- Client Object Model
- ECMA Object Model
- Explore Client Object Model
- Utilize Client Object Model (.NET)
- JavaScript Object Model
- Utilize Silverlight Object Model
- Describe and use the Client Object Model
- Describe and use the JavaScript Object Model
- Describe and use the Silverlight Object Model
- SharePoint Security
- Add Users Programmatically
- Add Groups Programmatically
- Create Permissions Levels programmatically
- Set inheritance programmatically
- Use the SharePoint SPSecurityTrimmedControl to hide content and controls
- Write code to elevate privileges
- 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
- Secure Store Service
- Custom Authentication
- Claims Based Authentication
- Change the default Authentication Method of SharePoint to use a custom MembershipProvider
- Programming with Claims
- Creating custom claims provider
- Learn how to Configure Secure Store
- Program web parts to use Secure Store
- Setup Forms based authentication in SharePoint 2010
- How to create a Claims based authentication system
- Program Secure Store applications
- 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
- Implement Feature Dependencies
- Implement Feature Sequences
- Various Feature Types (List, Module, Content Type)
- Implement Feature Event Receivers
- Implement Feature Stapling
- Create several features and package them as a solution file (.wsp)
- What can be deployed as features
- How to create several types of features
- How to package your features into Solutions
- Advanced Solution packaging techniques
- Sandboxed Solutions
- Explore Sandboxed Solutions
- Create and Test Sandboxed Solutions
- Explore Limitations of Sandbox Solutions
- Configure Sandbox Points
- Create and Deploy a Solution Validator
- Create and Deploy a Full Trust Proxy
- 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
- Web Services
- Learn to find SharePoint Web Service
- Add reference to SharePoint Web Service
- Program to several of the Web Service Interfaces
- Find and describe the various SharePoint Web Services
- Be able to consume SharePoint Web Services in custom applications
- REST
- LINQ
- Utilize REST Services
- REST Service Reference
- REST List Service Calls (PUT, GET)
- REST Excel Service
- LINQ Introduction
- Utilize LINQ For SharePoint
- Use SPMetal.exe
- How to use REST Services
- How to generate and use LINQ
- Web Parts
- Learn how to create a basic web part
- Learn how to deploy a web part manually in the development environment
- 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
- Create ASP.NET Web Part connections
- Synchronous Vs. Asynchronous Web Parts
- Describe how web parts work
- Create web parts with connections
- Create web parts with Tool Parts
- Design and develop asynchronous web parts
- Site Definitions
- Create a new Site Definition (Manually)
- Create a new Site Definition (Visual Studio)
- 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
- Content Types
- Explore Content Types
- Create A New Content Type
- Document Information Panels
- Default Workflows
- Adding Content Types To Lists (Document Library)
- Content Type Inheritance/Lineage
- Configure Content Type Hub
- Configure Content Type Publishing
- 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
- Field Types
- Create A Custom Field Type (Regular Expression)
- Create A Custom Field Type (User Control)
- Understand and describe Custom Field Types
- Be able to create custom field types with and without a UI
- SharePoint Timer Jobs
- SharePoint Events
- Create an Event Handler feature
- Programmatically assign an Event Handler
- Create a custom Timer Job
- Create an Event Handler feature that encrypts documents
- 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
- Service Applications
- Create and Deploy a Custom Service Application
- Describe Service Applications
- Understand how the Service Application architecture works
- Create and install custom Service Applications
- Workflows
- Create a custom workflow activity for SharePoint Designer
- Create a custom condition for SharePoint Designer
- 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
- Visual Studio Workflows
- Create a custom workflow using Visual Studio
- How to create custom workflows with Visual Studio
- Business Connectivity Services
- Explore External Content Types
- Create a new External Content Type
- Create an External List
- Create a custom BCS .NET Connector
- Understand how BCS works
- How to build new BCS applications
- How to Upgrade your older BDC applications
- How to create BCS Connectors
- Extending the Ribbon
- Dialogs
- Extend the SharePoint Ribbon
- Utilize the UI Dialog Platform
- Understand how to extend the SharePoint UI
- Customize and extend the Ribbon
- Create custom Dialogs
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!

