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
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
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
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
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
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
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
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
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
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
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
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
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
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
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