20489: Developing Microsoft SharePoint Server 2013 Advanced Solutions
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.
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.
- 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
- Working with Server Health Scores
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.
- 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
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.
- 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
Module 4: Customizing the Search Experience
In this module you will create and modify queries as well as manage search results.
- Customizing Query Processing
- Customizing Search Results
- Configuring Result Types and Display Templates
- Customizing Content Processing
Lab : Configuring Entity Extraction
- Create and deploy an entity extractor.
Module 5: Implementing Enterprise Content Management
In this module, you will work with SharePoint document management features in code.
- 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
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.
- 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
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.
- 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
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.
- 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
Module 9: Working with Business Connectivity Services
In this module, you will learn how to develop Business Connectivity Services (BCS) solutions.
- 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
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.
- 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
Module 11: Working with Business Data In Client Applications
BCS provides a framework to access via a wide array of protocols such as WCF and OData services to a myriad of external data sources, ranging from data stored in databases to custom proprietary data stores. In this module you will work with Business Data in both custom and composite solutions.
- 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
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.
- User Profile Data in SharePoint 2013
- 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
Module 13: Developing Microsoft SharePoint Server 2013 Advanced Solutions
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.
- 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
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.
- 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
Before attending this course, students must have:
- Completed course 20488: 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.