IT Training

Modern Development with SharePoint Server 2019

The future is now! Long gone are the days that developing for SharePoint only meant writing server-side ASP.NET code running on SharePoint Server. We have new, modern ways to develop for the SharePoint platform, following the general industry tendency towards more client-side development. This course sets you up with the needed knowledge and best practices guidance on the tools and techniques

Who should attend this course?
  • This training is targeted at developers that want to use modern development techniques in their customizations for SharePoint 2019. No prior development knowledge on SharePoint is required.
  • The training is also targeting existing SharePoint developers that have been using the classic solution development approach and now want to get started with more modern techniques.

Being familiar with .NET and JavaScript is strongly advised, as well as having user-experience with SharePoint.

Part 1: SharePoint API

Introduction to SharePoint Development

This module will give you an overview of the different parts Sharepoint and how these integrate together, for getting the bigger picture. Furthermore, the Office 365 ecosystem will be introduced. You will also get a broad view of the different development options you have, starting from the classic Farm Solutions to the modern SharePoint Framework.

  • Office 365 overview: SharePoint Online, Exchange Online, Office 365 Groups, Teams…
  • SharePoint On-Premise vs SharePoint Online development options
  • The modern development environment
  • LAB: Setting up the development environment

Client Side Development using CSOM

This module will teach you how to do client side development in .NET using the Client Side Object Model (CSOM).

  • Getting started with CSOM
  • Authentication with CSOM
  • Consuming SharePoint data
  • Code efficiency with CSOM
  • Additional libraries
  • Administering your tenant with CSOM
  • LAB: Creating a SharePoint Explorer using CSOM

REST and OData

SharePoint provides REST/OData endpoints to communicate with,which expose the same operations as CSOM does. One of the advantages of using the REST/OData APIs is that you are no longer tied to the .NET platform for development, but have the choice of any modern webplatform.

  • Getting started with the SharePoint REST APIs
  • Authentication with REST APIs
  • OData querying syntax
  • Batch processing
  • The need for digest tokens

JavaScript Client Side Development

If you want to build functionality for using directy within the SharePoint User interface, Javascript is one of the best options. It allows you to modify the UI, use the SharePoint REST API’s or Javascript CSOM libraries, and more. This module will show you how to use Javascript with SharePoint, and what you can do with it.

  • JavaScript embedding options
  • JavaScript Object Model (JSOM) library
  • Using the REST APIs
  • The Cross-domain library
  • The PnPJS library

Part 2: SharePoint Development

Introduction to SharePoint Add-ins

The SharePoint add-in model is a development model where custom code is executed remotely. This gives us two hosting options to choose from: SharePoint hosted add-ins which are entirely hosted in SharePoint, using JavaScript, or Provider-hosted add-ins which are hosted outside SharePoint. This module will learn you how to build these add-ins.

  • SharePoint add-in hosting options
  • Visual Studio Project Templates for Add-ins
  • The anatomy of the project
  • SharePoint Add-in Packages
  • Declaritively provisioning artifacts
  • Creating Custom Actions & Add-in parts
  • LAB: Building a SharePoint hosted Add-in

SharePoint add-in Authentication

SharePoint authenticates and authorizes add-ins using the OAuth 2.0 protocol. This module will explain you the details of the OAuth protocol and will explain you the differences between OAuth and the Server to Server Authentication, which is used in on-premises farms.

  • User versus add-in authentication in SharePoint
  • OAuth 2.0 and the SharePoint authentication flow: Context Tokens, Refresh Tokens and Access Tokens
  • Server to Server High Trust Authentication
  • Requesting and granting permissions
  • Delegated versus app-only authentication
  • LAB: Creating the Photo Room App (Provider-hosted)

Deploying your SharePoint Add-ins

Once an add-in is developed, tested and approved, it is time to publish it. This module will discuss what you have to take into account when deploying your SharePoint add-in.

  • Application registration
  • Corporate App Catalog
  • Client IDs and Client Secrets
  • Publishing the remote parts
  • Publishing the SharePoint add-in package
  • LAB: Deploying your Add-in

The Fluent UI Framework

Making sure your applications share the same look and feel as microsoft 365 can be a challenge. Luckily there is a UI framework, called Fluent UI, which allows you to apply the same look and feel to your applications,so they blend with their environment.

  • Branding your applications with Fluent UI Framework
  • Using the Fluent UI styles
  • Integrating Fluent UI components

Introduction to PnP

Microsoft accomodates the Office 365 Patterns and Practices (PnP) initiative, offering guidance and solutions on how to tackle certain problems when creating functionalities for SharePoint and Office 365. PnP provides us with extensive documentation, tools, libraries and samples

  • What is PnP and how can it help me?
  • Using the PnP Core in your applications
  • Simplifying authentication using the PnP IdentityModel
  • Reusable solutions for SharePoint On-Prem and Online with the Partner Pack
  • Using the PnP PowerShell CmdLets

Remote Provisioning and remote timerjobs

The add-in model is about running code remotely, so Office 365 Patterns and Practices came up with a few recipes for doing remote functionality. The remote provisioning-model is for creating SharePoint artifacts like sites, lists and libraries, columns, content types and more. The remote timerjob model allows running remote functionality on a schedule. This module will explain these two remote models in detail.

  • Why do we need (remote) provisioning?
  • Using JSON site designs
  • The PnP provisioning engine
  • Building remote timerjobs
  • LAB: Remote Provisioning and Site Designs
  • LAB: Remote timerjob

SharePoint and Office 365 Webhooks

You would like to respond to the adding or updating an item in a SharePoint list, or to the arrival of an email in Outlook Online ? Both SharePoint and Office 365 offers webhooks, a common HTTP callback method for responding to events. This module will show you the details and differences between SharePoint and Office 365 webhooks, and how to use them.

  • How to handle webhook subscriptions and event notifications
  • Using SharePoint Webhooks
  • Using Office 365 Webhooks
  • Debugging Webhooks

Introduction to SharePoint Framework

The SharePoint Framework (SPFX) is the most recent development technology which fits into the modern SharePoint development story, providing support for client-side SharePoint and O365 development, and easy integration with SharePoint and O365 data. This module introduces the SharePoint Framework and discusses the possibilities and the open-source toolset used.

  • SharePoint Framework overview
  • The SharePoint Framework toolset: Yeoman, npm, gulp, Typescript and React
  • On-Prem vs Online
  • SPFX Roadmap

Building Client-Side Web Parts

The SharePoint Framework allows us to build modern client-side web parts. During this module, we will create basic webparts and will explore the structure of the webparts and the SPFX projects.

  • Client-side web part fundamentals
  • SPFX Project Structure
  • Adding multiple web parts to a project
  • Full Page Apps
  • LAB: Creating an SPFX webpart

Practical information


3 Days




€1300,00 + 21% VAT


Online Classroom Courses


Guaranteed to run

English courses
28/2 - 02/3Book
25/4 - 27/4Book
27/6 - 29/6Book
05/9 - 07/9Book
24/10 - 26/10Book
12/12 - 14/12Book

Share this course on

Book your training

Enter your information to confirm your booking.

    Prerequisite test

    Looking for a tailor made solution?