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
Building SharePoint Framework Extensions
Learn how to extend the SharePoint user experience by creating application customizers & field controls, command sets, and form customizers.
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.
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.
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
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!
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!
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
More courses
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.
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.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
Microsoft Learning: Using Single Sign-On (SSO) with Office Add-ins
This module explains how to use single sign-on in Office Add-ins.
Microsoft removed this module; the address now lands on the training catalogue.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft removed this module; the address now lands on general product documentation.
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.
Microsoft removed this module; the address now lands on the training catalogue.
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.
Microsoft removed this module; the address now lands on general product documentation.
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.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
Microsoft Learning: Access Files with Microsoft Graph
Learn how to access files in OneDrive with Microsoft Graph.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft removed this module; the address now lands on the training catalogue.
Microsoft Learning: Application types in Microsoft identity
Learn how developers can leverage Microsoft identity in different types of applications.
Microsoft removed this module; the address now lands on the training catalogue.
Microsoft Learning: Manage Group Lifecycle with Microsoft Graph
Learn how to manage the lifecycle of Office 365 groups with Microsoft Graph.
Microsoft folded this module into a replacement; the address now lands on a different module.
Microsoft Learning: Access User Data from Microsoft Graph
Learn how to access user data from Microsoft Graph.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft removed this module; the address now lands on general product documentation.
Microsoft Learning: Getting Started with Microsoft Identity
Learn the basics of Microsoft identity including the different types of tokens, account types, and supported topologies.
Microsoft removed this module; the address now lands on the training catalogue.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
Microsoft Learning: Work with SharePoint Content using the SharePoint Framework
Learn how to work with SharePoint content in SharePoint Framework projects.
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.
Microsoft folded this module into a replacement; the address now lands on a different module.
Microsoft Learning: Build Office add-ins for Outlook
This module walks through development of Office add-ins for Microsoft Outlook.
Microsoft removed this module; the address now lands on the training catalogue.
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.
Microsoft Learning: Build Office Add-ins for Word
This module walks through development of Office Add-ins for Microsoft Word.
Microsoft removed this module; the address now lands on the training catalogue.
Microsoft Learning: Build Office add-ins for Excel
This module walks through development of Office add-ins for Microsoft Excel.
Microsoft removed this module; the address now lands on the training catalogue.
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.
Microsoft Learning: Get started with the SharePoint Framework
Learn what the SharePoint Framework is and how to get started creating custom solutions.
Microsoft Learning: Extend the SharePoint user interface with SharePoint Framework extensions
Learn how to extend the SharePoint user interface with SharePoint Framework extensions.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Critical Path Training stopped offering this course; SharePoint 2007 reached end of support in 2017.