50478 SharePoint 2010 Advanced Foundation Development
About this Course
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.
WE CAN CUSTOMIZE THIS COURSE FOR YOU, LEARN MORE.
Audience Profile
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!
Course Outline
Module 1: Overview
- A simple introduction module.
Lessons
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
- Create several features and package them as a solution file
(.wsp)
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 VisualStudio
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