SharePoint 2016 for Developers

This course explores the development opportunities available with SharePoint 2016 On-premises. The first half of the class focuses on SharePoint Foundation 2016 development where students will learn how to develop fundamental building blocks such as features, solutions, pages, lists and workflows. In addition, new topics such the new SharePoint app model and the SharePoint app security (OAuth and S2S) for apps as well as remote event receivers are covered and explained in great depth.

The second half of the class addresses SharePoint Server 2016 service applications which provide additional enterprise development opportunities such as working with Business Connectivity Services, Enterprise Content Management, Web Content Management, search and other services specific to SharePoint Server 2016.

Some non-SharePoint topics are also covered that are heavily leveraged within SharePoint such as OData, Office 365, OAuth, JavaScript, JavaScript templates and Windows Azure so those students with little to no experience in these areas will get an adequate ramp-up to be productive in SharePoint 2016.

Throughout the course students will not only learn how to create robust project and solutions using the tools included in Visual Studio 2015, but they will also learn best practices about what and when you should and should not do.


Developers who want to learn to build solutions for SharePoint. SharePoint Server 2016 is used during the course, but most of what you’ll learn is also applicable on SharePoint Server 2013.


Attendees should have professional development experience with Visual Studio, JavaScript, C# the .NET Framework and ASP.NET. It is also recommended (but not required) that attendees have a background with the previous version of SharePoint Server.

Module 01: Getting Started with SharePoint 2016

In this module students will introduce students to the big picture of SharePoint development. You will learn about the architecture and topology of a SharePoint on-premises farm. You will learn about the two main SharePoint development strategies which include full trust solutions and SharePoint apps. You will also be introduced to a set of tools that are often used during SharePoint development.

  • SharePoint Architecture and Topology
  • SharePoint Development Strategies
  • SharePoint Developer Tools and Utilities
  • Creating a SharePoint Development Environment

Module 02: Developing SharePoint Solutions

SharePoint extensibility has traditionally been done using solution packages (*.wsp’s). The two types of solutions, farm & sandbox, are covered in depth in this module. Students will learn when they are available depending on the deployments, what you can and can’t do with them as scenarios when they are applicable..

  • Understanding SharePoint Solutions
  • Features and Feature Receivers
  • Creating Web Parts
  • Creating Site Pages and Application Pages

Module 03: Developing SharePoint-hosted Add-ins

This module provides an in-depth examination of the supporting architecture for SharePoint-hosted add-ins. Students will learn about the role of the app web and how to design the user interface for an add-in start page. Students will also learn how to leverage the app web as a storage container for creating lists and document libraries that are private to the add-in. The module concludes with a discussion of how to develop and test add-in parts in the host web where the Add-in is installed.

  • SharePoint Add-in Model
  • SharePoint-hosted Add-in Architecture
  • User Interface Design Techniques
  • Developing App Parts
  • Adding User Custom Actions

Module 04: Programming the SharePoint REST API

This module examines the new SharePoint REST API with SharePoint Server 2016. Students will learn how to create REST URIs to target SharePoint objects such as sites, lists and list items. Students will also learn about the SharePoint-specific issues such as dealing with ETags and the request digest as well as passing the list item type whenever adding or updating a list item.

  • The SharePoint REST API
  • Creating REST URIs for SharePoint Objects
  • Consuming OData Results from SharePoint
  • Paging SharePoint List Items
  • Adding and Updating Items

Module 05: Developing SharePoint Add-ins with AngularJS

This module provides an introduction to the AngularJS Framework. Students will learn what features the framework provides as well as in which scenarios it makes sense to use it. You will learn essential concepts including the MVC pattern, Angular directives and view bindings. You will also learn how to use the AngularJS Framework in a SharePoint-hosted app by creating controllers and programming with the $scope object to pass data from a controller to a view.

  • Introduction to AngularJS
  • Directives and Modules
  • Routes, Views and Controllers
  • Angular Services

Module 06: SharePoint Add-in Security

This module examines how to develop provider-hosted add-ins with a server-to-server (S2S) trust in a SharePoint 2016 on-premises environment. Student will learn how to create a test certificate and how to configure an S2S trust. Student will also learn how to create a provider-hosted app project that uses an S2S trust which makes it possible to execute authenticated web service calls back to the SharePoint host environment. The module also includes a discussion of using the TokenHelper class to create access tokens and pass them to the SharePoint host when making authenticated calls.

  • SharePoint Add-in Security Overview
  • Configuring SharePoint Add-in Permissions
  • Understanding App Security Principals
  • Server-to-Server (S2S) Trust Configuration
  • Programming with Access Tokens
  • App Authentication using OAuth

Module 07: Developing Provider-hosted Add-ins

The module begins with an in-depth examination of the architecture of a provider-hosted app. Student will learn how to create a user interface experience in the pages of the remote web using a customer master page and the SharePoint Chrome Control. The module discusses how to write and test server-side code which leverages ASP.NET and the libraries of the .NET Framework. Student will learn how to create remote event receivers as well as how to implement the remote web of a provider-hosted app in Visual Studio 2013 using an ASP.NET MVC5 project.

  • Getting Started with Provider-hosted Apps
  • User Interface Design for the Remote Web
  • Working with ASP.NET MVC
  • Creating Provider-hosted Apps using MVC5

Module 08: Developing with SharePoint Lists and Events

In this module you will learn how to create lists and document libraries using the SharePoint development tools in Visual Studio 2015. Students will also learn about the various events in SharePoint 2016 including the new remote event receiver capability.

  • Site Columns and Content Types
  • Creating Lists and Document Libraries
  • Updating Columns, Content Types and Lists
  • Creating Event Receivers
  • Creating Remote Event Receivers

Module 09: CSOM Programming

This module introduces students to programming with the Client-side Object Model (CSOM) in SharePoint 2016. Emphasis will be placed on writing server-side C# code in the remote web using CSOM and executing queries efficiently. Student will learn how to leverage CSOM to create lists and document libraries in the host web during add-in installation. Students will also learn how to use CSOM to register remote event receivers to add behaviors to list and document libraries that have been created in the host web.

  • CSOM Fundamentals
  • User and App Authentication
  • CSOM Code Optimization
  • Remote Exception Handling
  • Creating Content Types and Lists

Module 10: Publishing, Installing and Upgrading SharePoint Add-ins

This module discusses how to manage the lifecycle of a SharePoint app in a production environment. Students will learn how to create an App Catalog site and how to publish SharePoint apps. Student will also learn about the differences between site-scoped app installation and tenancy-scoped app installation. The module concludes with a discussion of app versioning and strategies for evolving the behavior of an app over time.

  • Creating the App Catalog
  • Publishing Apps in the App Catalog
  • Installing and Upgrading Apps
  • Deploying Provider-hosted Apps

Module 11: Developing Custom Web Services using Web API 2

This module teaches students how to create, test and debug custom web services using Web API 2. Students will learn how to implement a RESTful web service using an API controller as well as how to call this RESTful service from JavaScript code running in the browser. Student will learn how to leverage the Visual Studio scaffolding support to create a strongly-typed ODATA controller from an entity model created using Entity Framework. The module concludes with an examination of Cross-Origin Resource Sharing (CORS) and a demonstration of how to add CORS support to web services created with Web API 2 to allow cross-domain calls from client-side JavaScript code running in a browser.

  • Understanding API Controllers and Call Routing
  • Creating a RESTful Web Services
  • Custom Routing Schemes and Attribute Routing
  • Developing OData Controller
  • Cross-Origin Resource Sharing (CORS)

Module 12: JavaScript Injection and Remote Provisioning

The module begins by explaining the central concept of JavaScript injection where scripts containing custom JavaScript code are uploaded to SharePoint Online and executed using the permissions of the current user. Students will learn to get started with JavaScript injection using the Script Editor Web Part. Next, students will learn how to extend a SharePoint site by adding new pages and custom JavaScript code which makes use of the JavaScript Object Model (JSOM) and the SharePoint REST API. The module then explains how to use remote provisioning to effectively deploy a custom solution which uses JavaScript injection. Along the way, the module discusses loading JavaScript library dependencies as well as how to execute custom JavaScript code with user custom actions such as ribbon buttons, ECB menu items and ScriptLinks as well as how to use client-side rendering rendering techniques and JSLink to create customized views for SharePoint lists.

  • Enabling Scripting in SharePoint 2016
  • Understanding JavaScript Injection
  • JSOM Programming
  • Remote Provisioning using CSOM
  • Designing MDS-enabled Pages

Module 13: Business Connectivity Services

In this module you will learn about the architecture of Business Data Connectivity Services (BCS) which allows you to configure read/write connections to backend data sources such as SQL Server databases and line of business systems (e.g. SAP, PeopleSoft). You will learn how to create external content types using SharePoint Designer 2013. You will also learn several different ways to surface backend data from an external content type using external lists, the Business Data Web Parts and external data columns. The module also discusses the new BCS support for creating external content types based on external data sources that expose their data using the OData protocol.

  • BCS Overview
  • Creating Secure Store Service Applications
  • Creating External Content Types
  • Consuming External Content Types
  • External Content Types with SharePoint Add-ins

Module 14: Enterprise Content Management

This module will cover all the Enterprise Content Management (ECM) capabilities in SharePoint 2016 in the areas of managed metadata, document management, recordings management and eDiscovery. Microsoft invested a considerable amount of effort in eDiscovery in SharePoint Server and this module will cover what students need to know. In addition students will also learn how to work with Managed Metadata and how to leverage it in custom solutions using either the existing server-side API or the new client-side API.

  • Managed Metadata
  • Enterprise Content Types
  • Document Sets
  • Records Management
  • eDiscovery
  • Programming with Managed Metadata

Module 15: SharePoint Search

SharePoint 2010 included various search implementations between SharePoint search & FAST search. When Microsoft designed SharePoint 2013, they merged their search implementations into a single, unified search architecture with a powerful and robust search API that is accessible both in server-side and client-side solutions. In this module students will learn about the search architecture as it exists in SharePoint 2016 as well as how to leverage it in custom solutions.

  • SharePoint 2016 Search Architecture
  • Managed Properties
  • Query Execution using KQL
  • Result Sources and Query Rules
  • Result Types and Custom Display Templates
  • Executing Searches Programmatically

Module 16: Developing SharePoint Workflows

SharePoint 2013 dramatically changes the workflow architecture in the latest release. SharePoint 2013 Workflow is now handled by Workflow Managers, both in on-premises and hosted deployments. In this module students will learn how to create custom workflows using SharePoint Designer 2013 and Visual Studio 2013 as well as some of the new capabilities introduced in SharePoint 2013 workflows: dynamic values, stages and remote web service calls.

  • Introduction to SharePoint Workflow
  • Creating Custom Workflows
  • Workflow Template Types
  • Developing Workflows with Visual Studio
  • Programming Workflows using CSOM

Boka kursen

Boka din plats redan idag.

Om kursen

Pris: 36 950,00 kr

exklusive moms

Längd 5 dagar
Kurskod A310

KompetenskortKompetenskort gäller på denna kurs

Boka kursen

Välj ort och kursstart

lc LiveClass innebär att kursen hålls som en lärarledd interaktiv onlineutbildning.

25 maj


Kursanmälan är bindande. För mer information och avbokningsregler se våra allmänna villkor.