Developing Microsoft SharePoint Server Advanced Solutions (20489)

Request a Quote for this class

About this Course

This course provides SharePoint developers the information needed to implement SharePoint solutions using Enterprise Search, Managed Metadata Service (MMS), Business Connectivity Services (BCS), Enterprise Content Management (ECM), Web Content Management (WCM), Social Computing features and SharePoint Apps.

Audience Profile

The course is intended for professional developers who develop solutions for SharePoint products and technologies in a team-based, medium-sized to large development environment. The course is ideally suited to SharePoint developers who have gained some experience with SharePoint 2013 and who are looking to build on their existing skills.

At Course Completion

After completing this course, students will be able to:

  • Describe the apps for SharePoint development platform.
  • Use the client-side object models and the REST API to communicate with SharePoint.
  • Configure security for apps for SharePoint.
  • Optimize the performance of apps for SharePoint.
  • Explain the capabilities and applications of managed metadata in SharePoint 2013.
  • Automate the creation and configuration of managed metadata term sets.
  • Interact with managed metadata term sets and fields from client-side and server-side code.
  • Describe the SharePoint 2013 Search Architecture.
  • Build simple and advanced KQL Queries.
  • Describe the SharePoint Search Index.
  • Describe and work with crawled and managed properties.
  • Describe the levels and security of the SharePoint Search Schema.
  • Create various types of result sources
  • Create basic and complex query transforms
  • Configure query rule conditions and actions to target query intent
  • Create and modify result types
  • Create and modify display templates
  • Utilize display templates with various search web parts
  • Add managed properties as refiners with counts
  • Utilize entity extraction in your crawls
  • Extend content processing with Content Enrichment
  • Describe how to utilize the Publishing API to access publishing settings and content.
  • Describe how to use and customize page content controls in publishing sites.
  • Configure website structure and navigation.
  • Describe the difference between structured and metadata navigation.
  • Utilize basic publishing features of SharePoint.
  • Use the new cross-site publishing features of SharePoint 2013.
  • Configure and implement variations for multilingual sites.
  • Configure search engine optimization settings.
  • Add SEO Properties to publishing pages and Managed Navigation terms.
  • Configure caching to improve site rendering performance.
  • Optimize site assets and resources to maximize performance.
  • Describe the key components of Business Connectivity Services in SharePoint Server 2013.
  • Create and configure BDC models by using SharePoint Designer.
  • Create and configure BDC models by using Visual Studio 2012.
  • Describe BCS Connector Framework scenarios.
  • Design and Develop BCS Connector stereotyped operations.
  • Design and Configure BDC model security.
  • Optimize Search Connector crawl performance.
  • Use Visual Studio to build BDC Models for Search.
  • Deploy BDC Search connectors.
  • Debug and troubleshoot your search connectors.
  • Design and deploy BDC event subscriber methods.
  • Describe how to format event notification messages.
  • Configure alerts and event receivers on external lists.
  • Explain how user profile data is used in SharePoint.
  • Describe the options and restrictions for accessing user profile data.
  • Use client-side code to access and server-side code to access and update user profile data.
  • Configure and manage user profile properties.
  • Describe how to identify, diagnose, and remove bugs in SharePoint apps during development.
  • Describe how to record information about issues that arise in deployed SharePoint apps.
  • Describe how developers optimize the performance of SharePoint apps by implementing best practices, measuring performance, and load testing.

Prerequisites

Before attending this course, students must have:

  • Completed course 20488A: Developing Microsoft SharePoint Server 2013 Core Solutions (or equivalent knowledge).
  • A working knowledge of using Visual Studio 2010 or Visual Studio 2012 to develop solutions.
  • A basic working knowledge of SharePoint solution development, either in SharePoint 2013 or in earlier versions of SharePoint.
  • A working knowledge of Visual C# and the .NET Framework 4.5.
  • A basic understanding of ASP.NET and server-side web development technologies, including request/response and the page lifecycle.
  • A basic working knowledge of client-side web technologies including HTML, CSS, and JavaScript.

Course Outline

Module 1: Creating Robust and Efficient Apps for SharePoint

In this module, you will review key aspects of the apps for SharePoint development platform, including capabilities, packaging and infrastructure, client-side programming for SharePoint, and app security. You will also learn about how to optimize the performance of your apps.

Lessons

  • Apps for SharePoint
  • Communicating with SharePoint from an App
  • Authenticating and Authorizing Apps for SharePoint
  • Designing Apps for Performance

Lab : Monitoring SharePoint Health Scores

  • Creating and Deploying an App Part
  • Add health score polling functionality

After completing this module, students will be able to:

  • Describe the apps for SharePoint development platform.
  • Use the client-side object models and the REST API to communicate with SharePoint.
  • Configure security for apps for SharePoint.
  • Optimize the performance of apps for SharePoint.

Module 2: Developing Managed Metadata Solutions

In this module you will see metadata objects and how they are used to categorize items so that you can learn how to work with them in code. You will also see how to use the advanced features of terms and manage permissions and roles. In this way you can provide a full set of terms that users can tag content with.

Lessons

  • Managed Metadata
  • Configuring Managed Metadata Term Sets
  • Working with Managed Metadata Fields

Lab : Developing Managed Metadata Solutions (Part 1)

  • Creating and Configuring the Corporate Structure App
  • Displaying the Existing Taxonomy Groups
  • Creating a Group, a Term Set, and Terms

Lab : Developing Managed Metadata Solutions (Part 2)

  • Obtaining the Host Web
  • Adding Metadata Site Columns

After completing this module, students will be able to:

  • Explain the capabilities and applications of managed metadata in SharePoint 2013.
  • Automate the creation and configuration of managed metadata term sets.
  • Interact with managed metadata term sets and fields from client-side and server-side code.

Module 3: Interacting with the Search Service

The module provides an overview of the search service architecture in SharePoint 2013 as it relates to developers, before describing how to construct queries using Keyword Query Language (KQL) and FAST Query Language (FQL) and submit these queries to the search service.

Lessons

  • Understanding the SharePoint 2013 Search Service
  • Building Search Queries with KQL and FQL
  • Executing Search Queries from Code

Lab : Executing Search Queries from SharePoint Apps

  • Submitting Search Queries from Client-Side Code
  • Using a Custom Action to Launch A Search App

After completing this module, students will be able to:

  • Describe the SharePoint 2013 Search Architecture.
  • Build simple and advanced KQL Queries.
  • Describe the SharePoint Search Index.
  • Describe and work with crawled and managed properties.
  • Describe the levels and security of the SharePoint Search Schema.

Module 4: Customizing the Search Experience

In this module you will create and modify queries as well as manage search results.

Lessons

  • Customizing Query Processing
  • Customizing Search Results
  • Customizing Content Processing

Lab : Configuring Result Types and Display Templates

  • Configuring and Test Result Type
  • Customizing an Item Display Template
  • Customizing a Hover Panel Display Template

Lab : Configuring Entity Extraction

  • Create and deploy an entity extractor

After completing this module, students will be able to:

  • Create various types of result sources
  • Create basic and complex query transforms
  • Configure query rule conditions and actions to target query intent
  • Create and modify result types
  • Create and modify display templates
  • Utilize display templates with various search web parts
  • Add managed properties as refiners with counts
  • Utilize entity extraction in your crawls
  • Extend content processing with Content Enrichment

Module 5: Implementing Enterprise Content Management

In this module, you will see how to work with SharePoint document management features in code.

Lessons

  • Working with eDiscovery
  • Working with Content Management
  • Automating Records Management

Lab : Implementing Content Management Functionality

  • Creating a Custom Document ID Provider
  • Registering a Custom Document ID Provider
  • Applying a Custom Audit Policy

After completing this module, students will be able to:

  • Use SharePoint eDiscovery functionality in custom applications.
  • Create and manage information management policies and document sets programmatically.
  • Manage and customize SharePoint records management functionality.

Module 6: Developing a Publishing Site for Web Content

In this module, you will learn how to utilize develop web content solutions for publishing sites.

Lessons

  • Programming with the Web Content Publishing API
  • Developing Page Components for Web Content Publishing

Lab : Customizing a SharePoint Publishing Site

  • Building a Custom Page Field Control
  • Building a Page Layout

After completing this module, students will be able to:

  • Describe how to utilize the Publishing API to access publishing settings and content.
  • Describe how to use and customize page content controls in publishing sites.

Module 7: Structuring and Publishing Websites for All Users

This module will focus on providing you with the knowledge to build web sites that are mobile device friendly, support multiple language and with proper navigation. This will be accomplished by introducing you to SharePoint features including device channels, managed navigation and variations.

Lessons

  • Website Structure and Navigation
  • Publishing Content
  • Publishing to Mobile Devices
  • Multi-language sites using Variations

Lab : Structuring a SharePoint Publishing Site

  • Creating a Navigation Term Set

Lab : Publishing for Multiple Devices and Languages

  • Creating a Device Channel
  • Using the Device Panel Control
  • Creating a French Variation

After completing this module, students will be able to:

  • Configure website structure and navigation.
  • Describe the difference between structured and metadata navigation.
  • Utilize basic publishing features of SharePoint.
  • Use the new cross-site publishing features of SharePoint 2013.
  • Configure and implement variations for multilingual sites.

Module 8: Developing Optimized Internet Sites

In this module, you will learn how to optimize your site for Internet search engines, and maximize the performance of rendering your site content.

Lessons

  • Optimizing a SharePoint Site for Search Engines
  • Optimizing Performance and Scalability

Lab : Optimizing SharePoint Publishing Sites

  • Optimizing a Site for Search Engines
  • Maximizing the Performance of a Publishing Site

After completing this module, students will be able to:

  • Configure search engine optimization settings.
  • Add SEO Properties to publishing pages and Managed Navigation terms.
  • Configure caching to improve site rendering performance.
  • Optimize site assets and resources to maximize performance.

Module 9: Working with Business Connectivity Services

In this module, you will learn how to develop Business Connectivity Services (BCS) solutions.

Lessons

  • Business Connectivity Services in SharePoint 2013
  • Creating BDC Models in SharePoint Designer
  • Creating BDC Models in Visual Studio 2012

Lab : Working with Business Connectivity Services

  • Creating Farm-Scoped External Content Types
  • Creating App-Scoped External Content Types

After completing this module, students will be able to:

  • Describe the key components of Business Connectivity Services in SharePoint Server 2013.
  • Create and configure BDC models by using SharePoint Designer.
  • Create and configure BDC models by using Visual Studio 2012.

Module 10: Creating Advanced Business Data Connectivity Models

This module will explore how to create custom search connectors using several different methodologies and lastly, you will learn the advanced topic of the new SharePoint 2013 external event notification feature to support SharePoint list features such as alerts and event receivers when external data changes.

Lessons

  • Configuring BDC Models for Search
  • Developing Custom Connectivity Components
  • Working with External Events and Notifications

Lab : Creating and Deploying a .NET Connectivity Assembly

  • Create a .NET Connectivity Assembly
  • Implementing Entity Methods
  • Deploying and testing a .NET Connectivity Model

After completing this module, students will be able to:

  • Describe BCS Connector Framework scenarios.
  • Design and Develop BCS Connector stereotyped operations.
  • Design and Configure BDC model security.
  • Optimize Search Connector crawl performance.
  • Use Visual Studio to build BDC Models for Search.
  • Deploy BDC Search connectors.
  • Debug and troubleshoot your search connectors.
  • Design and deploy BDC event subscriber methods.
  • Describe how to format event notification messages.
  • Configure alerts and event receivers on external lists.

Module 11: Working with Business Data

In this module you will leverage BCS components and data in custom solutions. The module first covers the built-in components that SharePoint provides for surfacing business data in the user interface. Next, we describes how to work with business data in code. Finally, the module describes how to work with offline business data in Office client solutions.

Lessons

  • Working with Business Data in Composite Solutions
  • Working with Business Data in Custom Solutions
  • Working with Business Data in Client Applications

Lab : Working with Business Data in Apps for SharePoint

  • Reading Business Data in Client-Side Code
  • Presenting Business Data in an App for SharePoint

After completing this module, students will be able to:

  • Describe the key components of Business Connectivity Services in SharePoint Server 2013.
  • Create and configure BDC models by using SharePoint Designer.
  • Create and configure BDC models by using Visual Studio 2012.

Module 12: Managing and Accessing User Profile Data

In this module, you will review key aspects of the user profile service, and see how you can write client-side and server-side code to access, update and manage user profile properties.

Lessons

  • Overview of User Profile Data in SharePoint 2013
  • Understanding Options for Accessing User Profile Data
  • Managing User Profile Data
  • Managing User Profile Properties

Lab : Accessing User Profile Data

  • Add People Search Functionality to an App
  • Display User Properties in the App

Lab : Managing User Profile Properties

  • Add Code to Display User Profile Properties
  • Add Code to Manage User Profile Properties

After completing this module, students will be able to:

  • Explain how user profile data is used in SharePoint.
  • Describe the options and restrictions for accessing user profile data.
  • Use client-side code to access and server-side code to access and update user profile data.
  • Configure and manage user profile properties.

Module 13: Customizing the Social Workload

In this module, you will see some of the social features in SharePoint 2013, and you will see how you can develop apps which extend and customize the social workload; tailoring the experience for your business needs.

Lessons

  • Overview of the Social Workload
  • Developing Social Solutions
  • Working with Feeds

Lab : Creating a Social App Part

  • Displaying a Project Site Newsfeed
  • Posting a Message to a Newsfeed
  • Using Search to Retrieve Newsfeed Posts

After completing this module, students will be able to:

  • Describe the main components of the social workload.
  • Develop solutions to extend the social workload.
  • Create solutions which make use of the newsfeed functionality in SharePoint Server 2013.

Module 14: Monitoring and Troubleshooting Custom SharePoint Solutions

This module will introduce methods that you can use to improve the performance and scalability of solutions and apps.

Lessons

  • Debugging SharePoint Apps in Visual Studio
  • Diagnosing Faults in Deployed Apps
  • Testing Performance and Scalability

Lab : Enabling ASP.NET Tracing

  • Adding a Diagnostics Page to a SharePoint App
  • Configuring ASP.NET Tracing
  • Using Trace Logs

After completing this module, students will be able to:

  • Describe how to identify, diagnose, and remove bugs in SharePoint apps during development.
  • Describe how to record information about issues that arise in deployed SharePoint apps.
  • Describe how developers optimize the performance of SharePoint apps by implementing best practices, measuring performance, and load testing.