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.
- Office 365 overview: SharePoint Online, Exchange Online, Microsoft 365 Groups, Teams...
- SharePoint On-Premise vs SharePoint Online development options
- The modern development environment
- Overview of Microsoft 365 APIs
- LAB: Setting up the development environment
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
- Microsoft Identity Platform overview
- Registering your apps
- OAuth authentication flows
- User authentication with Microsoft Identity Platform
- Application authentication with Microsoft Identity Platform
- 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
- Discovering the different APIs: Mail, Contacts, Calendar, People, Teams, ...
- The Microsoft Graph SDK
- Extending the Graph with extensions
- Responding to events using 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
- Microsoft Search - the basics : Verticals, Result Types, Search Result Layouts, Filters and Microsoft Graph Connectors
- Querying data with the Search API
- Index external data with the Search API
Client Side Development using CSOM
- Getting started with CSOM
- Authentication with CSOM
- Consuming SharePoint data
- Code efficiency with CSOM
- Additional libraries
- 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.
- Getting started with the SharePoint REST APIs
- Authentication with SharePoint REST APIs
- OData querying syntax
- Batch processing
- The need for digest tokens when updating data
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 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 and how do we create it?
- 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
- Using the Fluent UI styles
- Integrating Fluent UI components
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 List and Library Columns
- Formatting List and Library 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.
- How to handle webhook subscriptions and event notifications
- Using SharePoint Webhooks
- 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
Azure comes with a lot of features that can help you when developing for SharePoint. In this module,
participants will learn which features from Azure can help them building their SHarePoint customizations.
- Asynchronous processing with Azure Queues
- Delegate functionalities to Azure Functions
- Application Insights
- Lab: Follow up on SharePoint tasks with Azure Functions
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 extension 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.
- Teams Development introduction
- Creating Microsoft Teams Apps with Node.js and .NET
- Generating Teams projects with the Yeoman Generator
- Microsoft Teams Toolkit for Visual Studio Code
- App elements: Tabs, Bots, Connectors, Message Extensions
- LAB: Creating a Teams Tab app
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
- Using Power Apps in 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 with automatic triggers
- Start a flow for a selected list or library item
- Start a flow on a schedule
- Flow action connection basics
- Adding conditions
- Monitoring flows
- LAB: process mail attachments with Power Automate
Creating Office Add-ins and Office Scripts
Office add-ins and scripts allows you to add functionalities to Office, both online as in the desktop or mobile version.
This module will illustrate the different types of Office add-ins, and show you how the different options for creating them.
You will also get an introduction into Office Scripts for automating repetitive tasks in Excel.
These could be used for replacing your VBA macros, which do not run in the browser.
- Introduction to Office Add-ins
- Supported applications
- User experience with task panes, content, mail add-ins and custom ribbon buttons
- The Office API
- Automate Excel tasks with Office Scripts