Module 1: Advanced ASP.NET Concepts for SharePoint
This 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 view state, caching, and session state and provides an opportunity to learn to make appropriate choices.
- Server Memory
- Server CPU
- Transfer and Client
Lab : Page Size and View State
- Using Fiddler to Observe Page Loading
- Using Fiddler to Examine Page Size
- Reducing Page Size
Lab : Memory and Performance
- Capturing a Memory Profile
- 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
This 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.
- SharePoint Background
- Page Parts
- Pages
- Globalization and Localization
- Designing for Accessibility
Lab : Selecting Page Parts
- Plant Summary Page
- Plant Configuration Page
- Employee List
- Line Status
Lab : Selecting Page Types
- Line Dashboard
- Manager’s Dashboard
- Alert Notification
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
This 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.
- List and Library Fundamentals
- Large Data Strategies
- SharePoint Data Management
Lab : Time Tracking
- Creating List Views
- Indexing Key Columns
Lab : Invoice Management
- Establishing an Invoice Content Type
- Creating a Solution for Storing Invoices
- Testing the Solution for Storing Invoices
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
This 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.
- 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
- Deciding the kind of form to create
- Creating the Header fields
- Creating the Lines
- Publishing the Form to a SharePoint Library
After completing this module, students will be able to:
- 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
This 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.
- 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 artefacts.
Module 6: Designing Processing Solutions
This 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.
- Multi-Server Configurations
- In and Out of the Sandbox
- Getting Work Done
- Working with Workflows
Lab : Engineering System
- Evaluating Client Capabilities and Requirements
- Evaluating Sandbox Capabilities and Requirements
- Evaluating Farm Deployment Capabilities and Requirements
Lab : Sensor Report
- Designing Data Access for Sensor Data
- Designing a Processing Solution for the Report
- Designing a Processing Solution for Approval
After completing this module, students will be able to:
- Explain the processing solutions and approaches that must be created when working in a multi-server 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
This 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.
- Understanding the Packaging Lifecycle
- Establish 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
This 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.
- Developing for the Enterprise
- The Role of Logging
- Application Flexibility and Configuration
Lab : Team-based Logging and Configuration
- List based configuration appraisal
- SharePoint List based configuration
- SharePoint List based logging
- Configure logging level
Lab : Operational Logging
- Add 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 Versioning and Deployment
This 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.
- Application Lifecycle
- Versioning Strategy
- Upgrading
Lab : Versioning Assemblies
- Defining Base Version
- Upgrading the Assembly
Lab : Feature Upgrade
- Creating Upgrade Manage Page
- Adding Feature to Upgrade
- Upgrade Feature
After completing this module, students will be able to:
- Review the fundamentals of the software development lifecycle and its relation to configuration management.
- Determine the approach for versioning a given application.
- Address specific concerns for upgrading a given application that has been deployed to production.
Module 10: Designing Information Architecture and Navigation
This module helps to draw the distinction between information architecture and branding topics. The module helps to separate taxonomy (organization) from navigation (user interface).
- Designing an Information Architecture
- Planning for Software Boundaries
- Designing Content Navigation
Lab : Categorizing Information
- Card Sort
- Design Content Types and Site Columns
Lab : Implementing Farm Level Navigation
- Deploying a custom SiteMap
- Adding an ASP Menu to the 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
This 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.
- Introduction to Branding
- Themes
- Master Pages
- Cascading Style Sheets
- Tools Overview
- Implementing SharePoint Branding
Lab : Deploying Custom Branding
- Deploying a Custom Site Column and Content Type
- Using custom CSS
- Deploying a custom master page
Lab : Deploying a Custom Content Type
- Deploying a Custom Site Column and Content Type
Module 12: Designing Security
This 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.
- 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.
Module 13: Designing for Page and Data Access Performance
This module discusses page and data access performance and how to plan for a high performance site.
- Optimizing SharePoint Page Performance
- Analyzing Performance with the SharePoint Developer Dashboard
- Optimizing SharePoint Data Access Performance
Lab : Using Developer Dashboard
- 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 Testing Strategy
This module discusses what we do at the end of the development process, testing. The module also covers functional testing and scale/performance testing.
- Testing Concepts
- Unit, Integration, Regression Testing
- Performance Testing
Lab : Designing a Testing Strategy
- Unit Testing
- Performance Testing
- 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, integration testing, and regression testing.
- Test the performance of a given solution.
|