Course Description
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 CompletionAfter 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.
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.
Agenda
Creating Robust and Efficient Apps for SharePoint
- Apps for SharePoint
- Communicating with SharePoint from an App
- Authenticating and Authorizing Apps for SharePoint
- Designing Apps for Performance
Lab: Monitoring SharePoint Health Scores
Developing Managed Metadata Solutions
- Managed Metadata
- Configuring Managed Metadata Term Sets
- Working with Managed Metadata Fields
Lab: Developing Managed Metadata Solutions (Part 1)
Lab: Developing Managed Metadata Solutions (Part 2)
Interacting with the Search Service
- 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
Customizing the Search Experience
- Customizing Query Processing
- Customizing Search Results
- Customizing Content Processing
Lab: Configuring Result Types and Display Templates
Lab: Configuring Entity Extraction
Implementing Enterprise Content Management
- Working with eDiscovery
- Working with Content Management
- Automating Records Management
Lab: Implementing Content Management Functionality
Developing a Publishing Site for Web Content
- Programming with the Web Content Publishing API
- Developing Page Components for Web Content Publishing
Lab: Customizing a SharePoint Publishing Site
Structuring and Publishing Websites for All Users
- Website Structure and Navigation
- Publishing Content
- Publishing to Mobile Devices
- Multi-language sites using Variations
Lab: Structuring a SharePoint Publishing Site
Lab: Publishing for Multiple Devices and Languages
Developing Optimized Internet Sites
- Optimizing a SharePoint Site for Search Engines
- Optimizing Performance and Scalability
Lab: Optimizing SharePoint Publishing Sites
Working with Business Connectivity Services
- 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 Advanced Business Data Connectivity Models
- Configuring BDC Models for Search
- Developing Custom Connectivity Components
- Working with External Events and Notifications
Lab: Creating and Deploying a .NET Connectivity Assembly
Working with Business Data
- 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
Managing and Accessing User Profile Data
- 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
Lab: Managing User Profile Properties
Customizing the Social Workload
- Overview of the Social Workload
- Developing Social Solutions
- Working with Feeds
Lab: Creating a Social App Part
Module 14: Monitoring and Troubleshooting Custom SharePoint Solutions
- Debugging SharePoint Apps in Visual Studio
- Diagnosing Faults in Deployed Apps
- Testing Performance and Scalability
Audience
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.