Courses

Courses I have written, hosted here or published elsewhere.

Every course I have written lives here, whether it is hosted on this site or published somewhere else.

Who a course was originally made for is a badge on the card, not a separate shelf.

Featured

External Voitanos

Building SharePoint Framework Extensions

Learn how to extend the SharePoint user experience by creating application customizers & field controls, command sets, and form customizers.

Self-paced
Open on Voitanos Mar 2023
External Voitanos

Building SharePoint Framework Adaptive Card Extensions

Learn how to extend the Viva Connections desktop & mobile apps by building custom SPFx Adaptive Card Extensions (ACEs) for dashboards.

Self-paced
Open on Voitanos Mar 2023
External Voitanos

Build Web Parts with the SharePoint Framework (SPFx)

Learn how to create Web Parts & custom property panes with the SPFx across 5 chapters consisting of 30+ lessons including over 4 hours of demos & instruction.

Self-paced
Open on Voitanos Mar 2023
External Voitanos

Explore and Evaluate the SharePoint Framework (SPFx)

Developers can learn about SharePoint Framework in 15 minutes a day for the next week. Get this free course delivered daily to your inbox

Self-paced
Open on Voitanos Oct 2021
External Voitanos

RETIRED - Microsoft 365 Certified Developer Associate MS-600 Exam Prep

In this course, another by me at Voitanos, you'll get prepared to pass the MS-600 exam, the only Microsoft 365: Developer Associate certification prerequisite - includes 300+ practice questions!

Self-paced
Open on Voitanos Oct 2020
External Voitanos

Mastering the SharePoint Framework (3 bundles)

In this course, you will get up to speed and master the SharePoint Framework (SPFx). SPFx is the recommended & premiere way to customize and extend the modern experience in SharePoint Online, as well as SharePoint Server 2019 & 2016. Choose between three course bundles, including the entirely free STARTER bundle!

Self-paced Video
Open on Voitanos Sep 2019
External Voitanos

Understand the SharePoint Framework (SPFx) build Toolchain

Join the 10-day email course to learn about SharePoint Framework and the new development toolchain, and set up your workstation quickly

Self-paced
Open on Voitanos Feb 2017

More courses

External Microsoft Learn

Create Adaptive Card Extensions (ACE) for Microsoft Viva Connections

In this module, you'll learn how to create Adaptive Card Extensions (ACEs) with the SharePoint Framework (SPFx) for use in Viva Connections.

Self-paced Text
Open on Microsoft Learn Dec 2022
External Microsoft Learn

Build and sell Microsoft Teams apps in Microsoft AppSource and the Microsoft Teams store

Learn how to monetize your Microsoft Teams apps by selling them through Microsoft AppSource, the Teams store, and the Teams Admin Center.

Self-paced Text
Open on Microsoft Learn Jun 2022
Retired
Course Microsoft Learn

Microsoft Learning: Create meeting apps for Microsoft Teams

Improve your meeting experience with a custom app. Learn to create Microsoft Teams meetings app for pre/in/post-meeting stages from my new module.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Feb 2022
External Microsoft Learn

Microsoft Learning: Build Microsoft Teams customization using the SharePoint Framework

Learn how to run a SharePoint Framework web part as a Microsoft Teams tab, use conditional logic per host, and update its configuration settings.

Self-paced Text
Open on Microsoft Learn Jan 2022
Retired
Course Microsoft Learn

Microsoft Learning: Create embedded web experiences with tabs for Microsoft Teams

Learn how to build personal and channel/group tabs, add them to your Microsoft Teams app, and call a protected REST API from a tab.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Sep 2021
Retired
Course Microsoft Learn

Microsoft Learning: Using Single Sign-On (SSO) with Office Add-ins

This module explains how to use single sign-on in Office Add-ins.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

May 2021
Retired
Course Microsoft Learn

Microsoft Learning: Microsoft Teams – Authentication and Single Sign-on

In this module, you'll learn about the different authentication flows supported by Microsoft Teams that you can use in your custom apps.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Mar 2021
Retired
Course Microsoft Learn

Microsoft Learning: Microsoft Teams - Use the teamwork Microsoft Graph endpoint

Learn how to use the teamwork Microsoft Graph endpoint to list teams, configure built-in tabs, and send activity feed notifications in Teams.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Mar 2021
Retired
Course Microsoft Learn

Microsoft Learning: Introduction to customizing and extending SharePoint

SharePoint is an extensible platform you can customize and extend with the SharePoint Framework and multiple APIs available to developers. In this module, developers learn what customizations and extensibility points are available to them with the SharePoint Framework, and determine if it's right for you.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Dec 2020
Retired
Course Microsoft Learn

Microsoft Learning: Introduction to Office client customization with add-ins

Learn how Office Add-ins extend Word, Excel, and Outlook, including the programming model, developer tooling, debugging, and deployment options.

Self-pacedText

Microsoft removed this module; the address now lands on general product documentation.

Aug 2020
Retired
Course Microsoft Learn

Microsoft Learning: Secure custom APIs with Microsoft identity

Learn how to secure a web API with Microsoft identity and how to call it from another application.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

Mar 2020
Retired
Course Microsoft Learn

Microsoft Learning: Work with users, groups, and roles in custom apps and APIs

Learn how to use both Microsoft Entra ID Groups and Application Roles to provide fine grained access control to an application.

Self-pacedText

Microsoft removed this module; the address now lands on general product documentation.

Feb 2020
External Microsoft Learn

Microsoft Learning: Deploy SharePoint Framework components to production

Learn how to deploy SharePoint Framework solutions to production, the differences between tenant and site App Catalogs, and how to update versions.

Self-paced Text
Open on Microsoft Learn Feb 2020
Retired
Course Microsoft Learn

Microsoft Learning: Connect web services to Microsoft Teams with webhooks and Office 365 Connectors

Learn how to connect your web services to Microsoft Teams channels with outgoing webhooks, incoming webhooks, and Office 365 Connectors.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Feb 2020
Retired
Course Microsoft Learn

Create custom messaging extensions for Microsoft Teams

Learn how to create messaging extensions for Microsoft Teams apps, including action-based, search-based, and URL unfurling.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Feb 2020
Retired
Course Microsoft Learn

Microsoft Learning: Create interactive conversational bots for Microsoft Teams

Learn how to create conversational bots for Microsoft Teams, subscribe and respond to events, and add authentication to your bot.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Feb 2020
Retired
Course Microsoft Learn

Microsoft Learning: Access Files with Microsoft Graph

Learn how to access files in OneDrive with Microsoft Graph.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Jan 2020
Retired
Course Microsoft Learn

Collect & display input in Microsoft Teams with Task Modules

Learn how to create task modules for your custom Microsoft Teams app and improve your user experience with this step-by-step guide.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Dec 2019
Retired
Course Microsoft Learn

Microsoft Learning: Permissions and Consent Framework

Learn the different types of permissions and consent framework models for obtaining permissions from users to use them in apps.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

Dec 2019
Retired
Course Microsoft Learn

Microsoft Learning: Application types in Microsoft identity

Learn how developers can leverage Microsoft identity in different types of applications.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

Dec 2019
Retired
Course Microsoft Learn

Microsoft Learning: Manage Group Lifecycle with Microsoft Graph

Learn how to manage the lifecycle of Office 365 groups with Microsoft Graph.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Dec 2019
Retired
Course Microsoft Learn

Microsoft Learning: Access User Data from Microsoft Graph

Learn how to access user data from Microsoft Graph.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Dec 2019
Retired
Course Microsoft Learn

Microsoft Learning: Introduction to building apps for Microsoft Teams

Understand what's possible with a custom Microsoft Teams app, the ways you can extend Teams, your distribution options, and if it's right for you.

Self-pacedText

Microsoft removed this module; the address now lands on general product documentation.

Oct 2019
Retired
Course Microsoft Learn

Microsoft Learning: Getting Started with Microsoft Identity

Learn the basics of Microsoft identity including the different types of tokens, account types, and supported topologies.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

Oct 2019
Retired
Course Microsoft Learn

Microsoft Learning: Optimize network traffic with Microsoft Graph

Learn how Microsoft Graph uses throttling to maintain service health and how to address this feature when creating applications.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Sep 2019
Retired
Course Microsoft Learn

Microsoft Learning: Optimize data usage when using Microsoft Graph with query parameters

Learn how to use Microsoft Graph query parameters to control the data returned, filter and search results, expand entities, and batch requests.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Sep 2019
External Microsoft Learn

Microsoft Learning: Work with SharePoint Content using the SharePoint Framework

Learn how to work with SharePoint content in SharePoint Framework projects.

Self-paced Text
Open on Microsoft Learn Apr 2019
Retired
Course Microsoft Learn

Microsoft Learning: Use Change Notifications and Track Changes with Microsoft Graph

Learn how to with change notifications (webhooks) & track changes (delta query) in the Microsoft Graph.

Self-pacedText

Microsoft folded this module into a replacement; the address now lands on a different module.

Mar 2019
Retired
Course Microsoft Learn

Microsoft Learning: Build Office add-ins for Outlook

This module walks through development of Office add-ins for Microsoft Outlook.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

Dec 2018
External Microsoft Learn

Microsoft Learning: Leverage Microsoft Graph & third-party APIs

Learn how to call third-party APIs including Microsoft Graph, Microsoft Entra ID protected APIs, and anonymous APIs.

Self-paced Text
Open on Microsoft Learn Dec 2018
Retired
Course Microsoft Learn

Microsoft Learning: Build Office Add-ins for Word

This module walks through development of Office Add-ins for Microsoft Word.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

Jun 2018
Retired
Course Microsoft Learn

Microsoft Learning: Build Office add-ins for Excel

This module walks through development of Office add-ins for Microsoft Excel.

Self-pacedText

Microsoft removed this module; the address now lands on the training catalogue.

Jun 2018
External Microsoft Learn

Microsoft Learning: Build ASP.NET MVC web applications with the Microsoft Graph .NET SDK

Learn how to use the Microsoft Graph .NET SDK in an ASP.NET MVC web application.

Self-paced Text
Open on Microsoft Learn Nov 2017
External Microsoft Learn

Microsoft Learning: Get started with the SharePoint Framework

Learn what the SharePoint Framework is and how to get started creating custom solutions.

Self-paced Text
Open on Microsoft Learn Feb 2017
External Microsoft Learn

Microsoft Learning: Extend the SharePoint user interface with SharePoint Framework extensions

Learn how to extend the SharePoint user interface with SharePoint Framework extensions.

Self-paced Text
Open on Microsoft Learn Feb 2017
External Microsoft Learn

Microsoft Learning: Enable SharePoint Framework web part configuration with property panes

Learn how to enable web part configurations with property panes in the SharePoint Framework.

Self-paced Text
Open on Microsoft Learn Feb 2017
External Microsoft Learn

Microsoft Learning: Develop web parts with the SharePoint Framework

Learn how to build client-side web parts with the SharePoint Framework, test them in the SharePoint-hosted workbench, and explore the SPFx API.

Self-paced Text
Open on Microsoft Learn Feb 2017
External Microsoft Learn

CSP: Microsoft Partner Center SDK Developer Course

This is for Microsoft partners in the Cloud Solution Provider (CSP) program. It covers the Partner Center SDK, including both the managed API and REST API.

Self-paced Video
Open on Microsoft Learn Mar 2016
External Pluralsight

Pluralsight: Office 365 APIs: Contacts

Learn how to use the Office 365 Contacts API for CRUD-Q operations on Exchange Online contacts and contact folders, with the REST API or .NET SDK.

Self-paced Video
Open on Pluralsight Apr 2015
External Pluralsight

Pluralsight: Office 365 APIs - Overview, Authentication and the Discovery Service

This course will introduce developers to the Office 365 APIs, a new set of APIs that will be constantly improved and updated by Microsoft. These APIs will be used by developers to access and interact with an enterprises' data in Office 365, specifically mail, contacts, calendars, and files. And this list will grow over time. All four of the endpoints provided in the Office 365 APIs share common characteristics, such as the tooling, authentication, interaction with Microsoft Entra ID, and the discovery service. This course will serve as the starting point for all other Office 365 API courses.

Self-paced Video
Open on Pluralsight Feb 2015
External Pluralsight

Pluralsight: Building SharePoint Apps as Single Page Apps with AngularJS

Microsoft introduced a new app model in the SharePoint 2013 release, which is available both for on-premise deployments and in the hosted service Office 365. One type of SharePoint app developers can build is a SharePoint-hosted application where everything is stored in SharePoint but the app actually runs within the user's browser. These types of SharePoint apps can be built as single page applications for a very fast, fluid, and pleasant experience for your users. This course will show you how to create a SharePoint-hosted app as a single page application by working through an example scenario.

Self-paced Video
Open on Pluralsight Feb 2014
External Pluralsight

Pluralsight: SharePoint 2013 Workflow - Web Services

Learn how to call anonymous and secured web services from SharePoint 2013 workflows, including the SharePoint REST API and third-party OAuth services.

Self-paced Video
Open on Pluralsight Jan 2014
External Pluralsight

Pluralsight: SharePoint 2013 - Workflow Advanced Topics

The goal of this course is to build off my previous course and tackle some of the more complex things you'll need to accomplish in your day-to-day SharePoint workflow development. The target audience for this course are developers as I cover building workflows using Visual Studio primarily. There is no specific customer focus... everything I show you works both in an on-premises deployment as well as a hosted environment such as Office 365.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2013 Developer Ramp-Up - Part 6: Automating Business Process, Enterprise Data and Search

In this course students will learn how to consume and interact with external data sources as well as how to create a custom .NET Assembly Connector. In addition students will also learn how to create BCS-enabled SharePoint Apps and some of the new support for remote callouts as well as how to work with BCS via the client-side object model.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2013 Developer Ramp-Up - Part 5: Information Architecture Storage and Data Access

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

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2013 Developer Ramp-Up - Part 4: Authentication, Authorization and Security

In this course students will learn the basics of security and permissions in SharePoint 2013, specifically AuthN, AuthZ and claims based security. In addition students will also learn how to program with the security API and how to secure SharePoint Apps using app identity, and the new support for OAuth and server-to-server (S2S) authentication/security.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2013 Developer Ramp-Up - Part 3: Creating Pages and Extending the UX

In this course you will learn how to create custom application pages as well as content pages and the details around customizing pages. In addition this course will also dive into the aspects of customizing the SharePoint user interface for custom branding experiences as well as customizing and extending the SharePoint Ribbon and how to create custom list views using JavaScript. Additional on-premises only capabilities are covered such as custom field types and field controls.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2013 Developer Ramp-Up - Part 2: Developing SharePoint Solutions and Apps

SharePoint extensibility has traditionally been done using solution packages (*.wsp’s). The two types of solutions, farm and 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. Next, SharePoint 2013 introduces a new way to extend SharePoint sites: the SharePoint App Model. This module will cover everything students need to know about the SharePoint App Model including how to deploy them to the Marketplace to monetize your projects.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2013 Developer Ramp-Up - Part 1: Understanding the Platform and Developer Experience

Get up to speed on SharePoint 2013: SKUs and licensing, capabilities and architecture, the deployment models, and your development options.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2010 Developer Ramp-Up - Part 6: Business Intelligence and Security

This course covers all the security aspects in SharePoint 2010. New to SharePoint 2010 is the support for claims based authentication.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2010 Developer Ramp-Up - Part 5: Content Management

Learn the content management features in SharePoint 2010: document IDs, document sets, the content organizer, managed metadata, and Publishing sites.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2013 - Workflow Fundamentals

The goal of this course is to help people immediately get up to speed and productive in creating automated business processes as workflows in SharePoint 2013. The target audience for this course are developers and power users as I cover building workflows and assigning tasks using both SharePoint Designer 2013 and Visual Studio 2012. There no specific customer focus… everything I show you works both in an on-premises deployment as well as a hosted environment such as Office 365.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2010 Developer Ramp-Up - Part 4: Automating Business Process, Enterprise Data and Search

This course covers automating business process with workflow in SharePoint 2010 as well as the improved support for working with data that does not live in SharePoint using Business Connectivity Services. This includes creating new custom .NET Assembly Connectors to have full control over accessing the external data. Students will also learn how search works in SharePoint, the differences between SharePoint search and FAST Search for SharePoint as well as how to extend SharePoint Results.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2010 Developer Ramp-Up - Part 3: Information Architecture Storage and Data Access

Learn how SharePoint 2010 structures and stores data: site columns, content types, lists, event receivers, LINQ to SharePoint, and the CSOM.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2010 Developer Ramp-Up - Part 2: Solutions, Features, Pages and Extending the UX

This course is the SharePoint 2010 user experience course for developers. In this course you'll learn how to create different types of custom pages and extend the SharePoint ribbon. In addition students will also learn all about the different types of development of pages, both customized and uncustomized pages. In addition, students will learn how to create custom Web Parts complete with persistent properties and customize the verbs menu.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2010 Developer Ramp-Up - Part 1: Understanding the Platform and Developer Experience

Getting into SharePoint 2010 development? This course is for you! You'll learn the basics of SharePoint 2010 architecture and the products involved. Students will also get a crash course in working with PowerShell for SharePoint as Microsoft now recommends all command line management of SharePoint 2010 be done with PowerShell. Students will also get an introduction to the new developer tools included in Visual Studio 2010 as well as how to develop in terms of Features and Solutions.

Self-paced Video
Open on Pluralsight Jun 2013
External Pluralsight

Pluralsight: SharePoint 2010 No-Code Customization for Power Users

SharePoint 2010 is a very powerful application that provides many offerings right out of the box. However, another aspect is that it is very extensible and malleable. While developers can do quite a bit, there are many ways power users can customize SharePoint without having to write any code. This course will teach you how to create custom solutions using tools like SharePoint Designer, InfoPath and the browser. In addition you will learn how to take solutions offline with SharePoint Workspace.

Self-paced Video
Open on Pluralsight Jun 2013
Retired
Course Critical Path Training

MOSS 2007 Web Content Management Developer Training

Learn Office SharePoint Server 2007 (MOSS) Web Content Management (WCM) development with Critical Path Training and my course.

Instructor-ledText

Critical Path Training stopped offering this course; SharePoint 2007 reached end of support in 2017.

Jul 2007