Designing and Developing Microsoft SharePoint Server 2010 Applications




Target Audience:

This course is intended for IT professionals who will be responsible for designing custom code for projects that are deployed to SharePoint 2010 servers. To be successful in this course, the student will have at least two years of SharePoint development experience and should have experience with ASP.NET and Microsoft Visual Studio 2010



This course requires students to meet the following prerequisites:

·               Understanding of the problem-solving techniques that apply to the Software Development Life Cycle (SDLC), including the versioning of software and the management of configuration and content in a software system

·               Basic knowledge of Web application architecture

·               Experience in developing in a team environment

·               Working knowledge of ASP.NET and Visual Studio

·               Experience in SharePoint infrastructure including servers and services

·               Experience in SharePoint development including the APIs and XML schemas necessary to create web parts, perform data access, and provision fields, lists, content types, etc.


Course Outline:

Ø  Module 1: ASP.NET Advanced Concepts for SharePoint

·               Server Memory

·               Server CPU

·               Transfer and Client

·      Lab : Page Size and ViewState

·         Using Fiddler to Observe Page Loading

·         Using Fiddler to Examine Page Size

·         Reducing Page Size

·      Lab : Memory and Performance

·         Starting a Performance Capture

·         Reviewing the Report

·         Resolving Memory Issues and Retest


After completing this module, students will be able to:

·         Review the fundamentals of memory management.

·         Identify the key things to drive high CPU utilization.

·         Identify factors impacting client performance.

Ø  Module 2: Designing for User Experience

·               SharePoint Background

·               Page Parts

·               Pages

·               Globalization and Localization

·               Designing for Accessibility

·      Lab : Selecting Page Parts

·         Line Dashboard

·         Manager’s Dashboard

·         Alert Notification

·      Lab : Selecting Page Types

·         Plant Summary Page

·         Plant Configuration Page

·         Employee List

·         Line Status

After completing this module, students will be able to:

·         Review the fundamentals of SharePoint architecture and how it impacts the page design experience.

·         Determine the appropriate page part in SharePoint for a given situation.

·         Determine the appropriate page in SharePoint for a given situation.

·         Identify the considerations for globalizing and localizing your applications.

·         Determine the design impact of WCAG standards for projects requiring accessibility compliance.

Ø  Module 3: Designing for Data

·               List and Library Fundamentals

·               Large Data Strategies

·               SharePoint Data Management

·      Lab : Time Tracking

·         Creating List Views

·         Adding Indexes

·      Lab : Invoice Management

·         Creating an Invoice Content Type

·         Enabling Content Organization

·         Testing Content Organization

After completing this module, students will be able to:

·         Review the fundamentals of foundation for operating with data in SharePoint.

·         Evaluate data size to arrive at potential solutions for large data storage needs.

·         Manage data to arrive at an appropriate data access strategy.

Ø  Module 4: Designing Data Capture and Integration

·               Key Considerations for Data Capture

·               Designing for Data Capture

·               Designing for Integration

·      Lab : Creating External Lists

·         Connecting to the Data Source

·         Defining the External Content Types

·         Defining the External Lists

·         Setting Security for the Content Types

·         Defining an Association

·      Lab : Creating an InfoPath Form

·         Creating the Calculations

·         Publishing the Form to a SharePoint Library

After completing this module, students will be able to:

·         Identify the key considerations for data capture in SharePoint.

·         Apply the appropriate approach to data capture in SharePoint.

·         Identify the integration options and technologies that are built into the SharePoint platform including the Business Data Catalog (BDC) and Business Connectivity Services (BCS).

Ø  Module 5: Designing Artifacts

·Customer Requirements

·Creating Sites

·      Lab : Incident Response Site

·         Evaluating the Requirements

·         Designing the Solution

·      Lab : Expense Reports

·         Evaluating the Requirements

·         Designing the Solution

After completing this module, students will be able to:

·         Implement the techniques for evaluating and refining customer requirements.

·         Determine an approach for matching customer requirements to SharePoint artifacts.

Ø  Module 6: Designing Processing Solutions

·Multiserver Configurations

·In and Out of the Sandbox

·Getting Work Done

·Working with Workflows


·      Lab : Designing an Engineering System

·         Evaluating Client Capabilities and Requirements

·         Evaluating Sandbox Capabilities and Requirements

·         Evaluating Farm Deployment Capabilities and Requirements

·      Lab : Creating a Sensor Report

·         Designing Data Access for Sensor Data

·         Designing a Processing Solution for the Report

·         Designing a Processing Solution for the Approval

After completing this module, students will be able to:

·         Explain the processing solutions and approaches that must be created when working in a multiserver environment.

·         Identify the benefits and limitations of the SharePoint Sandbox features.

·         Determine the choices available for in-page, client, event receiver, workflow, and timer execution models.

·         Evaluate how SharePoint workflows are executed and the factors impacting design.

Ø  Module 7: Designing Packaging

·Understanding Packaging Life Cycle

·Establishing Design Principles

·      Lab : Building a Business Document Solution

·         Designing a Solution

·         Create the Final Solution

·      Lab : Working with Dependencies

·         Creating a Common Assembly

·         Creating a Dependent Solution

After completing this module, students will be able to:

·         Explain how packages are created and delivered.

·         Determine the size of features to be able to effectively maintain the given solution.

Ø  Module 8: Designing a Development Strategy

·Developing for the Enterprise

·The Role of Logging

·The Benefits of Application Configuration

·      Lab : Team-Based Logging and Configuration

·         Appraising the List-Based Configuration

·         Using a SharePoint List-Based Configuration

·         Using SharePoint List-Based Logging

·         Configuring the Logging Level

·      Lab : Operational Logging

·         Adding Logging to SharePoint ULS

·         After completing this module, students will be able to:

·         Identify the team development needs for SharePoint.

·         Explain operational and diagnostic logging including the differences and the options for recording.

·         Determine the options for storing configuration in a SharePoint environment.

Ø  Module 9: Developing Version and Deployment

·Application Life Cycle Management

·Source Control and Build

·Versioning Strategy



·      Lab : Versioning Assemblies

·         Defining Base Version

·         Upgrading the Assembly

·      Lab : Feature Upgrade

·         Creating Upgrade Manage Page

·         Adding Feature to Upgrade

·         Upgrading Feature

After completing this module, students will be able to:

·         Review the fundamentals of the software development life cycle and its relation to configuration management.

·         Design a Source Control and build strategy.

·         Determine the approach for versioning a given application.

·         Address specific concerns for upgrading a given application that has been deployed to production.

·         Assess the effectiveness of deployment strategy.

Ø  Module 10: Designing Information Architecture and Navigation

·Understanding Information Architecture

·Planning for Software Boundaries


·      Lab : Developing a Site Structure

·         Using Card Sort

·         Designing Content Types and Site Columns

·      Lab : Implementing Farm-wide Navigation

·         Deploying a Custom SiteMap

·         Adding an ASPmenu to a Custom Master Page

After completing this module, students will be able to:

·         Determine the technique necessary to develop an information architecture based on SharePoint.

·         Explain the scalability concerns for individual items in SharePoint in the context of information architecture.

·         Determine the appropriate navigation solution for a given application.

Ø  Module 11: Designing Branding and Customization Support

·Introduction to Branding

·Branding Options

·Branding Decisions

·Managing User Experience

·Planning for Customization

·      Lab : Packaging Branding

·         Importing .wsp Files Into Microsoft Visual Studio

·         Extracting the File Resources

·         Writing the Feature Receiver to Apply Changes

·         Testing the Changes

·      Lab : Improving Brand Performance

·         Observing Current Performance

·         Turning on BLOB Caching

·         Observing BLOB Cached Performance

·         Observing _layouts Performance

After completing this module, students will be able to:

·         Identify the need for branding and how it impacts the overall project.

·         Enumerate the branding options and their various strengths and weaknesses. 

·         Identify the decisions to arrive at the best approach to branding.

·         Design a user experience that includes branding.

·         Create a strategy for managing customizations.

Ø  Module 12: Designing Security

·Security Within SharePoint

·Using an Alternate Identity Store

·Forms-Based Authentication

·Deeper Look at SharePoint Claims

·      Lab : Setting Up a Customer Service Site

·         Setting Up the Authentication Provider

·         Creating an FBA-Claims Site

·         Optional Exercise: Viewing Claims for an FBA User

·      Lab : Solving a Security Issue

·         Understanding the Scope and Relating it to Configuration

·         Designing a Security Strategy

After completing this module, students will be able to:

·         Explain the role of security in SharePoint.

·         Evaluate the impact of alternate identity stores on a given security approach.

·         Discuss the challenges and impact of Forms-Based authentication toward solving security concerns.

·         Dissect SharePoint Claims implementations.

Ø  Module 13: Designing for Page and Data Access Performance

·Optimizing SharePoint Page Performance

·Analyzing Performance with the SharePoint Developer Dashboard

·Optimizing SharePoint Data Access Performance

·      Lab : Designing for Page and Data Access Performance

·         Using the SharePoint Server 2010 Developer Dashboard to Capture Performance Metrics

·         Leveraging the SharePoint Server 2010 Search API for Large Data Queries

After completing this module, students will be able to:

·         Explain how SharePoint pages are built for optimized performance.

·         Evaluate pages with performance issues in terms of elapsed time as well as database impact by using the SharePoint Developer Dashboard.

·         Determine an appropriate SharePoint data access technique to deliver SharePoint data quickly and efficiently for a given scenario.

Ø  Module 14: Designing a Testing Strategy

·Testing Concepts

·Unit Testing

·Integration Testing

·Performance Testing

·      Lab : Designing a Testing Strategy

·         Conducting Unit Testing

·         Conducting Performance Testing

·         Conducting Load Testing

After completing this module, students will be able to:

·         Evaluate the core testing concepts and their impact on quality.

·         Evaluate the core concepts of unit testing.

·         Evaluate the core concepts of integration testing.

·         Test the performance of a given solution.


Share this page!