Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Modern Development with SharePoint Online and Office 365

5days
Training code
USPOAP
Book this course

Introduction to SharePoint and Office 365 development

Sharepoint is a collaboration and communication platform that can be extended with development. Office 365 delivers Software - including SharePoint - as a Service (SaaS). It provides multiple services that a customer can chose from like Exchange Online, SharePoint Online, OneDrive for Business, … This module will give you a developer's overview on Office 365 and SharePoint.

  • Office 365 services: SharePoint Online, Exchange Online, Skype for Business...
  • SharePoint On-Premise 2013/16/19 vs SharePoint Online development options
  • Development environment and options

Client side development using CSOM

This module will introduce you to 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 in CSOM
  • Administering your tenant with CSOM

REST and OData

SharePoint also provides REST/OData endpoints to communicate with. These endpoints support the same operations as CSOM does. One of the advantages of using the REST/OData APIs is that you are not tied to using .NET as a development language. You are free to chose whatever webtechnology you want, as long as it can make calls to a webservice.

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

JavaScript Client Side Development

Using the client-side development approach, you can also consider JavaScript. In fact, if you want to build components that can be hosted inside your SharePoint sites, JavaScript is currently the best option. When using JavaScript, you have several options to choose from. This module will introduce you to the different options you have using JavaScript.

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

Part 2: SharePoint Add-ins

Introduction to SharePoint Add-ins

The SharePoint add-in model does not allow you to run custom server site code on SharePoint; custom code has to be executed remotely. The add-in model provides two hosting options that you can choose from: SharePoint hosted add-ins which are entirely hosted in SharePoint or Provider-hosted add-ins which are hosted outside SharePoint. This module will illustrate the fundamentals of building these add-ins.

  • SharePoint add-in hosting options
  • Visual Studio Project Templates
  • The anatomy of the project
  • SharePoint Add-in Package
  • Declaritively provisioning artifacts
  • Custom Actions & Add-in parts

SharePoint add-in Authentication

The SharePoint add-in model introduced a new way of thinking about security. SharePoint authenticates and authorizes components, developed according to the add-in model, 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 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

Deploying your SharePoint Add-ins

Once an add-in is completely 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

Part 3: SharePoint development extras

Office UI Fabric

Making sure your applications share the same look and feel as SharePoint Online can be a challenge. Luckily there is a UI framework, called Office UI Fabric, that can help you to apply the same look and feel to your applications.

  • Branding your applications with Office UI Fabric
  • Office UI Fabric styles
  • Office UI Fabric components

Introduction to PnP

How can you translate your old applications to this new model? Microsoft took the initiative to start SharePoint Patterns and Practices (PnP), offering techniques and solutions on how to tackle certain problems when transforming your solutions to the add-in model. Today, SharePoint PnP has grown so much that it now offers techniques, reusable and demo solutions on SharePoint and Office 365 development.

  • 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

When developing SharePoint customizations, often you will need to deploy new sites, lists, contenttypes, themes, files, ... . This process is referred to as Provisioning SharePoint Artifacts. With the remote development model, this now becomes Remote Provisioning. The same applies to timerjobs which can no longer run on server-side, but need to run remotely.

  • Why do we need (remote) provisioning?
  • Using JSON site design
  • PnP provisioning engine
  • Building remote timerjobs

SharePoint and Office 365 Webhooks

SharePoint and some other parts of Office 365 allows you to subscribe to events that might happen and get notified asynchronously when those events happen.

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

Introduction to SharePoint Framework

In this module, participants will get introduced to the SharePoint Framework and where it fits into the SharePoint development options you have.

  • SharePoint Framework overview
  • SharePoint Framework tools
  • What can be created with the Sharepoint framework ?

Part 4: Office 365 development

Microsoft Identity Platform

With Microsoft Identity Platform, Azure Active Directory for developers, authentication has been simplified for developers by providing identity as a service, using industry-standard protocols like OAuth 2.0 and OpenID Connect. Participants will learn about user authentication in Azure AD, how to register applications and how to authenticate applications depending on the application type.

  • Microsoft Identity Platform overview
  • App Registrations
  • OAuth authentication flows
  • User authentication with Microsoft Identity Platform
  • Application authentication with Microsoft Identity Platform
  • Microsoft Authentication Libraries (MSAL)

Using Azure AD for SharePoint authentication

Remote code that wants to talk to the SharePoint webservices will have to pass by authentication. If the code was installed by means of an add-in, then add-in authentication could be applied. If there is no related add-in, then Azure AD can be used to retrieve access token in order to communicate with SharePoint.

  • Azure AD app registration for SharePoint
  • Delegated versus app-only authentication

Microsoft Graph

Office 365 provides you with one single endpoint allowing you to communicate with all Office 365 services. This API is known as the Microsoft Graph and allows developers to access data, intelligence and insights coming from the Microsoft cloud.

  • Microsoft Graph API
  • Discovering the different APIs: Mail, Contacts, Calendar, People, Mail...
  • Microsoft Graph SDK
  • Graph webhooks
  • Extending the Graph with extensions

Microsoft Teams Development Overview

Since its introduction, Microsoft Teams has gained popularity in the workplace as the number one chat-based collaboration platform. Developers can extend Teams with their own customizations, like tabs, bots, ... . This module will introduce you to Teams Development.

  • Introduction to Teams development
  • Apps for Teams overview
  • Developer Tools
  • Teams Administration

Building Apps for Microsoft Teams

With tabs we can integrate external web pages into Teams. We can also search in external systems, we can perform actions, enrich chat experiences. We can connect to external systems, send and receive messages from outside of Teams and we can modify the user interface. In this chapter we will look at the different ways of extending and enhancing your Teams communications.

  • Building Apps
  • Creating tabs for Teams
  • Using the Teams SDK
  • Webhooks and Connectors
  • Cards and Task modules
  • Messaging Extensions
  • Building apps using SharePoint Framework
  • App configuration and Deployment

Microsoft Bot Framework

Bots are the future! They are applications that interact naturally with users on Teams, social media, websites, Alexa, etc. But how do you create a proper bot?

  • The Microsoft Bot Framework
  • Debugging your bot with the bot Emulator
  • Turns, Messages and Activities
  • Conversations and Channels
  • Deploying your bot

Managing Teams

To manage our Teams environment or to automate Teams management tasks, Microsoft offers us different tools. In this chapter you will learn about Teams management.

  • Teams and Microsoft Graph
  • Teams SDK's
  • Managing Teams with PowerShell and/or the Office 365 CLI

Azure Utilities

Azure comes with a lot of features that can help you when developing against Office 365. In this module, participants will learn which features from Azure can help them building their Office 365 customizations.

  • Using the Azure Queue
  • Delegate functionalities to Azure functions
  • Application Insights

With the introduction of SharePoint 2013 and Online, Microsoft introduced new ways to develop for Microsoft SharePoint. Since that time, other exciting release from Microsoft and the community have even further extended these capabilities for developers. The main focus now is to use remote scripting techniques and client-side development to customize the SharePoint environment. This course aims to give you an overview and best practices guidance on the common techniques used in modern SharePoint development. Going from Add-ins and the client-side object model, to remote scipting and PnP, to SharePoint Framework and Office UI Fabric.

This training is targeted at developers that want to start using modern development models in their customizations for SharePoint and Office 365. No prior development knowledge on SharePoint is required. Being familiar with .NET and JavaScript is strongly advised, as well as having user-experience with SharePoint.
The training is also targeted at existing SharePoint developers that have been using the Solution development approach and now want to get started with more modern techniques.

© 2020 U2U All rights reserved.