Course 102325 Days

Course OverviewThis five-day instructor-led course is intended for Microsoft SharePoint Development professionals who are responsible for leading projects, designing solutions, and identifying problems. In this course, students learn the skills and best practices that are required to help organizations design and develop effective SharePoint applications.

AudienceCourse 10232: Designing and Developing Microsoft SharePoint Server 2010 Applications 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.

Course OutlineModule 1: ASP.NET Advanced Concepts for SharePointThis module helps you to review the essential information regarding ASP.NET including how to improve performance for high-scale sites like SharePoint. This module covers concepts around ViewState, caching, and session state and provides an opportunity to learn to make appropriate choices.Lessons

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 ExperienceThis module provides the key criteria and structure necessary to make appropriate decisions about what kind of user interface component to use based on the needs of the solution.Lessons

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.

Module 3: Designing for DataThis module explains defining what storage will look like. This module discusses the information about data design critical to the performance and accessibility of the solution. The module also covers scalability issues related to data as well as the structural components such as the use of lists, list definitions, content types, and fields.Lessons

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 IntegrationThis module discusses strategies on how to get the data into the system. This module covers the techniques for capturing data – including office integration and integrating to other systems with BCS.Lessons

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 ArtifactsThis module discusses items that will need to be implemented in SharePoint to tie the user interface and the data structure together. The module covers information about artifacts to begin the transformation of the abstract design into a specific set of deliverables that need to be created through SharePoint.Lessons

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 SolutionsThis module covers the details of options for developing solutions. The module provides decision criteria for the determination of sandbox versus full trust (or a hybrid of the two) deployments. The module also provides details for making decisions about processing including how to address long running operations and how to decide the appropriate processing solutions.Lessons

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.

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

Module 7: Designing PackagingThis module addresses the first order problem of factoring the solution into features and packages so that it can be upgraded. This module covers the baseline skills of determining the number, scope, and dependency of features and determining the right number of packages.Lessons

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 StrategyThis module focuses on two key items necessary to deploy larger solutions, configuration and logging. This module provides the students a platform to expand the scope of the solution and focus on issues related to dozens of projects on a server, each with its own approach to configuration and logging.Lessons

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 DeploymentThis module delves into the challenges of versioning in a SharePoint environment. The module also addresses deployment issues because most deployment issues are related to the versioning process.Lessons

Application Life Cycle Management

Source Control and Build

Versioning Strategy

Upgrading

Deployment

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.

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 SupportThis module covers branding options, including what tools can be used to customize the appearance. The module moves us to including the users and power users of the ultimate solution.Lessons

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 SecurityThis module describes how to design security for performance and provide a holistic view so to evaluate security implications and tradeoffs. This module also outlines the new Claims-Based authentication in SharePoint 2010 and how Forms-Based Authentication fits into this model.Lessons

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.