Introduction to SharePoint and Office 365 Development
This module will give you an overview of the different parts of Office 365 and how these integrate together, for getting the bigger picture.
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.
- Microsoft 365 Overview
- SharePoint Development Options
- Overview of Microsoft 365 APIs
- LAB: Setting up the Development Environment
Microsoft Identity Platform
With Microsoft Identity Platform, 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 Entra ID, how to register applications and how to authenticate applications depending on the
- Microsoft Identity Platform Overview
- Registering your Apps in Entra ID
- OAuth Authentication Flows
- User & Application Authentication
- Microsoft Authentication Libraries (MSAL)
- LAB: Microsoft Identity Platform
Microsoft 365 provides you with one single endpoint allowing you to communicate with all Microsoft 365 services. This
API is known as the Microsoft Graph and allows developers to access data, intelligence and insights
coming from the Microsoft cloud.
- The Microsoft Graph API: Mail, Contacts, Calendar, People, Teams...
- The Microsoft Graph SDK
- Graph Extensions
- Graph Webhooks
- LAB: Fetching Mails with Graph
Customizing Microsoft Search with Microsoft Graph
Microsoft Search makes your MS365 data searchable. Additional content sources can be added by using additional Connectors.
These connectors use the Graph Search API for extending Search. In this chapter we will use the Graph API for using and extending Microsoft Search
- Verticals, Result Types, Search Result Layouts, Filters and Microsoft Graph Connectors
- Querying Data with the Search API
- Indexing External Data with the Search API
Client Side Development using CSOM
- Authentication with CSOM
- Consuming SharePoint Data
- LAB: Creating a SharePoint Explorer using CSOM
REST and OData
SharePoint provides REST/OData endpoints to communicate with exposing the same operations as CSOM does.
the choice of any webtechnology, server- or client-side.
- The SharePoint REST APIs
- OData Querying Syntax
- Batch Processing
- Digest Tokens
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.
- SPFx Overview
- The SharePoint Framework Toolset: Yeoman, npm, gulp, TypeScript and React
- SPFx Roadmap
Building Client-Side Web Parts with SharePoint Framework
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
- Creating Full Page Apps
- LAB: Creating an SPFx webpart
SPFx Deployment Overview
SPFx solutions need to be deployed through a SharePoint App Catalog. In this chapter we will learn what the options are when deploying.
- What is an App Catalog?
- Deploying your Bundle and Package
- Tenant-wide, Site Collection or Site Specific Deployments
- LAB - Deploying SPFx Projects
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
- Fluent UI Styles
- Fluent UI components
Using the Microsoft Graph Toolkit
The Graph toolkit contains a set of web components which makes it easier to make solutions targetting the Graph API.
We will have a look at the components offered and how we can use them
- Graph Toolkit
- React Components
- Building Teams Tab
- Customizing Graph Toolkit Components
- Authentication Providers
Styling your SharePoint Sites
With the modern UI comes modern ways to change the design of your sites, columns, lists and libraries. Gone are the days of saving sites as templates
- Creating Site Templates
- Extracting Site Templates with PowerShell
- Formatting Columns & Views
- LAB: Creating a Site Template
Responding to List Events with SharePoint Webhooks
You would like to respond to the manipulation of an item in a SharePoint list or library ?
SharePoint allows you to use webhooks, a common HTTP callback method for responding to events. This module will show you
how to create SharePoint webhook subscriptions and how to get information about the changes on SharePoint.
- Webhook Subscriptions and Event Notifications
- Getting Change Details
- Debugging Webhooks
Microsoft 365 Patterns and Practices - PnP
Microsoft accomodates the Microsoft 365 Patterns and
Practices (PnP) initiative, offering guidance and solutions on how to tackle certain problems when creating functionalities for
Microsoft 365. PnP provides us with extensive documentation, tools, libraries and samples
- The PnP Initiative
- Using PnP Core in your Applications
- Simplifying Authentication using the PnP IdentityModel
- Using the PnP PowerShell CmdLets
Remote Provisioning and Remote Timerjobs with PnP
Modern Microsoft 365 development is about running code remotely, so Microsoft 365 Patterns and Practices came up with a few recipes for creating 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?
- The PnP Provisioning Engine
- Building Remote Timerjobs
- LAB: Remote Provisioning
- LAB: Remote Timerjob
Microsoft Teams Development Overview
Microsoft Teams has quickly been adopted as the tool for collaboration. Providing us with functionalities for doing
our team-work, it is also very extensible. It comes out-of-the box with different options for adding tabs, conversational bots,
connectors to get external data, and message extensions for enriching our conversations. With the increased interest
in Teams there is also an increased interest in adding custom functionalities to it. This module will lay out the different
options for Teams development.
- Options for creating Microsoft Teams Apps
- The Teams SDK
- Adaptive Cards
- Microsoft Teams Toolkit
- App elements: Tabs, Bots, Connectors, Message Extensions
- LAB: Creating a Teams Tab app
Introduction to SharePoint Embedded
SharePoint Embedded is a cloud-based file and document management system that can be integrated into any application.
It is an API-only solution using Microsoft Graph API that enables app developers to harness the power of the Microsoft 365 file and document storage platform,
with typical SharePoint functionalities such as searching, versioning, co-authoring, ...
- Why use SharePoint Embedded
- Setting up SharePoint Embedded
- SharePoint Embedded Architecture
- Creating SharePoint Embedded Containers
- Working with Files and Folders
- Visualizing Documents
- Using the Search API
Creating Collaborative Applications with the Microsoft Fluid Framework
Microsoft Fluid Framework is a collection of client libraries that allow multiple clients to simultaneously create and operate on shared data structures.
It allows real-time collaboration across applications, providing developers with
easy-to-use data structures which Fluid automatically keeps in sync between clients.
- The Fluid Working Flow
- Fluid Architecture
- Fluid Containers and Distributed Data Structures
- Testing with Tinylicious
- The Azure Fluid Relay
Low-code App Development with Power Apps
Development is mostly fun, but also takes a lot of time and effort. Power Apps gives us a quick and powerfull way of creating mobile-friendly applications
that can be used in SharePoint, Teams, but also as stand-alone applications that run in the browser or on your laptop, tablet or phone. In this module we will see
how to start creating Power Apps, and the different options for using them in SharePoint and Teams
- Auto-generating Apps from your Data
- Using Power Apps Studio
- Working with Data Connections
- Adding screens and Controls
- Introduction to Edit- and Detail-forms
- Using Power Apps in SharePoint & Teams
- LAB: Building a Power App
Automating Business Processes with Power Automate
Power Automate allows you to create automatic processes, called flows, with a low-code approach. A flow can start automatically, triggered by something happening, like 'a new mail arrives'
,the click of a button or a schedule. We can thereafter perform one or more actions, connecting to hundreds of data source - Outlook, SharePoint, Twitter, Dynamics 365, ...
All of this without writing a single line of code.
- Start a Flow for a SharePoint List
- Start a Flow on a Schedule
- Adding Conditions
- Monitoring Flows
- LAB: Process Mail Attachments with Power Automate