SharePoint Development Track
Tuesday 9:00 AM - 12:30 PM · Room 431
SharePoint Data Modeling: From Requirements to Usage
Data modeling is an essential first step in any Power Apps or Power Automate project. Power apps provides a user interface for information stored in a data source and Power Automate creates workflows that manipulate data stored in a data source based on specific events or triggers. Data modeling is difficult enough for professional developers, but it is even harder for citizen developers. Citizen developers usually have little exposure to concepts like data normalization and often can’t use true relational databases like SQL or Dataverse because of the cost of Premium licensing. So, they are left trying to figure out how to build their flows or apps using data stored in SharePoint lists or Excel spreadsheets. In this workshop I will show you some real-world techniques for doing data modeling. I’ll start with a typical project requirements definition and show you how to easily convert it into an Entity Relationship model. Next, I’ll show you how to map that Entity Relationship model onto a set of SharePoint lists. Once I have the lists designed, I’ll show you how to use them in a Power App and a flow. Along the way I’ll walk you through what you need to know about using SharePoint as a data source, including: • What Column types work well and which ones to avoid • When to use (or not use) Lookup columns to create relationships between lists • How to plan for Security in SharePoint • Other Common issues I’ll focus on SharePoint in the workshop but the techniques I teach you are also applicable for other data sources like Excel, SQL or even Dataverse.
Tuesday 9:00 AM - 12:30 PM · Room 440-441
Use the SharePoint Framework to develop apps & customize SharePoint & Viva Connections
The SharePoint Framework (SPFx) is Microsoft's recommended way to customize and extend your SharePoint site and Viva Connections.
Whether you're an experienced SharePoint developer or new to the platform, this half-day workshop is perfect for you. You'll learn how to set up your development workstation for SPFx and discover how to create web parts, UX extensions, and Adaptive Card Extensions (ACEs) for Viva Connections. We'll also cover working with SharePoint lists, libraries, and Microsoft Graph data.
By the end of the workshop, you'll understand the full range of possibilities for your next SharePoint customization project. And if you're using SharePoint Server on-premises (2016, 2019, or Subscription Edition) rather than SharePoint Online? Don't worry—we'll cover what's possible in each version!
Feel free to sit back and learn or bring your laptop to build your own SPFx solutions. Everyone will walk away with all the resources used and created throughout the workshop!
Wednesday 10:20 AM - 11:30 AM · Room 431
Build Solutions for Microsoft 365 with a Fluent API Library
For the most part, your imagination is the limit when it comes to extending the Microsoft 365 platform. Join me for a complete look at the PnPjs library, a collection of fluent libraries for consuming SharePoint and Microsoft Graph REST APIs that make building solutions 10x easier and faster. This free, open-source initiative, part of the Microsoft 365 & Power Platform Community can be used within the SharePoint Framework, NodeJS, or any JavaScript/TypeScript based project.
This session will cover using the library within the SharePoint Framework and Azure Functions NodeJS project. We'll cover: • How to get started, your project template, and establishing context • An overview of all the packages available and outline the ease of use • More advanced scenarios like batching and cross site execution.
Wednesday 10:20 AM - 11:30 AM · Room 440-441
Getting Started with the SharePoint Framework (SPFx)
Are you a developer that is just getting started trying to customize SharePoint and Teams and don't know where to start?
In this introductory level session we will look at how to get started using the SharePoint Framework (SPFx) and some potential uses for it. We will learn about setting up a development environment, creating a new project, deploying and debugging, and resources to keep the learning going.
Wednesday 2:00 PM - 3:10 PM · Room 440-441
Level up workflow with Webhooks
Mature organizations that use Microsoft 365 often need to run custom workflows when events happen in Microsoft 365, like updating list items, adding users, updating groups, or changing files. When there's only a single list or library, or other single event items, it can make sense to use a tool like Power Automate or an Azure Logic Apps. However, these tools require connecting a workflow to a specific entity (list, library, drive) making these solutions difficult to manage when there are many of the same types of items to monitor. Enter stage left: Webhooks.
To be clear, webhooks are not a power user tool; they require the ability to architect and manage cloud resources and write enterprise level code. But the benefits and scalability make it well worth the time investment! In this session you'll learn about: • What webhooks are and what are some of the common use cases they can help solve • What common architectural pattern for managing your subscriptions and events looks like • What cloud services are commonly used to support the common architecture • What boilerplate code looks like to establish and manage subscriptions and react to event notifications • Where and how you might implement custom handlers for establishing what subscriptions are needed and what happens when an event is fired. Don't miss this opportunity to learn how to manage workflows at scale to reduce risk and simplify management!
Thursday 10:20 AM - 11:30 AM · Room 440-441
Building Engaging Employee Experiences for Viva Connections using SPFx
In this introductory developer session, we will explore ways to develop engaging employee experiences using the extensibility model for Viva Connections. We will learn how to create Adaptive Card Extensions using SPFx. We will talk about some real world use cases and how to get started.
We will explore the technical components of creating your first Adaptive Card Extensions. We will look at more advanced concepts such as geolocation, data binding, as well as layout out options for your cards using the Adaptive Card Framework. You will walk away with a better understanding of how to get started extending Viva Connections and how to avoid some common pitfalls.
Thursday 2:00 PM - 3:10 PM · Room 431
Azure Functions: Real world scenarios & NodeJS implementation overview
In this session, we will explore the powerful capabilities of Azure Functions for extending Microsoft 365.
We will begin by discussing the various use cases for Azure Functions, including their ability to trigger actions when items in Microsoft 365 change and their application as Timer Jobs. We will delve into the integration with SharePoint Framework (SPFx) APIs using the On-Behalf-Of (OBO) flow and discuss how queues can be used to provide the most resilient solutions.
The remainder of the session will be devoted to giving an overview how implementing Azure functions using NodeJS (although you absolutely can do them with C#/Visual Studio). We'll include the getting started configuration, and a brief word about CommonJS vs ESModules. We'll then discuss security considerations by showing basic Entra ID application registration but discuss how we can implement Managed Identity using Azure Identity to securely access other parts of your tenant. The session will also include a detailed look at the OBO Flow. We'll finish up by discussing queues and requeuing options.
Join me to gain a comprehensive understanding of how Azure Functions can be used to extend Microsoft 365, improve efficiency, and enhance security.
Thursday 2:00 PM - 3:10 PM · Room 440-441
Explore SharePoint Embedded App Development: From Setup to Production Ready Apps
Dive into the world of SharePoint Embedded and discover the optimal scenarios for custom apps that use SharePoint for all document storage.
Uncover the key scenarios where SharePoint Embedded apps shine and learn how to set up SharePoint Embedded in your tenant.
By the end of this session, you'll be equipped to start integrating SharePoint Embedded into your app development projects!
Thursday 4:00 PM - 5:10 PM · Room 440-441
Enhancing SPFx projects with Live Data integration to SharePoint, MS Graph and beyond
Level 300. SharePoint Framework (SPFx) opens the door to crafting stunning, contemporary solutions for Office 365, Microsoft Teams, and Viva. Yet, the true magic happens when these solutions seamlessly connect to real-time data sources.
In this exciting journey, we'll dive deep into the art of connecting SPFx to SharePoint and Microsoft Graph, unleashing the full potential of your creations. We'll master the art of harnessing REST APIs to forge direct links with these data sources. Moreover, we'll unveil the secrets of PnPJs and the Microsoft Graph toolkit (MGT), transforming your development process and supercharging the performance of your SPFx solutions.
Join us as we bridge the gap between innovation and data, making your SPFx projects come alive with real-time information. Elevate your solutions to a whole new level of excellence and impact.
Friday 9:00 AM - 10:10 AM · Room 431
Bringing Intelligence to SharePoint with Custom Agents
In this session, Daniel Christian, a Microsoft MVP and certified trainer will explore how intelligent agents can supercharge your SharePoint experience. You will learn how to build a SharePoint Agent that can enhance productivity, and provide tailored user support. Then decide when a customized agent is the right choice to meet unique business needs and how to weigh the benefits and limitations of out-of-the-box solutions versus custom-built agents. Gain practical insights and best practices to make informed decisions that drive value for your organization. Whether you're new to intelligent agents or looking to elevate your SharePoint capabilities, this session has something for everyone!
Friday 9:00 AM - 10:10 AM · Room 440-441
Code Once Use Everywhere - Using SPFx to create applications that work in Teams and SharePoint
Users are spending more and more time using Teams. It makes sense to try and reduce the friction of context switching by bringing our custom applications directly into Teams where they are working. We are able to harness the collaborative nature of Teams and SharePoint in one application and render it in many different contexts.
In this introductory developer session we will look at how to create and deploy a SharePoint Framework WebPart and have it be usable in Teams. We will use one code base to make the web part Teams aware in both a Teams Tab and a Personal App. We will look at how to use that app to read and write data into SharePoint using PnPjs.
Users will leave with an understanding of how to leverage SPFx to create applications they can use in Teams and resources on how to explore this further.
Friday 10:20 AM - 11:30 AM · Room 440-441
Introduction to JSON to master customizing SharePoint
JSON is EVERYWHERE in SharePoint Online and your ability to take your SharePoint deployments to the next level depend on your ability to understand and create complicated JSON objects. In this densely demo-packed session, attendees will learn:
- What is JSON and how to understand the structure
- Tips for creating JSON objects and starting with community content as a starting point
Attendees will also learn how to use JSON Objects in SharePoint Online to:
- Customize list columns and list views
- Create Site Designs for creating custom site templates
- Create stunning Quick Views for Viva Connections ACE's
- Post messages in teams as Adaptive Cards
- Process SharePoint REST queries in Power Automate
- and more!!
Friday 1:50 PM - 3:00 PM · Room 431
Power Up Your M365 Development Game: Embracing React Functional Components and Hooks
Level 300. While Class Components have long been the go-to project type in SPFx and Teams React solutions, a new, arguably better alternative has emerged in ReactJS. Many developers now swear by Functional Components and Hooks as a simpler, more readable way to code projects.
In this session, we'll delve into the advantages and considerations of both approaches, unveiling the power of Functional Components. We'll guide you through the transition from Class Components, making your code cleaner and more comprehensible. Plus, we'll explore the array of hooks available to add that extra sizzle to your solutions. Get ready to take your SPFx and Teams projects to the next level!
Friday 1:50 PM - 3:00 PM · Room 440-441
Navigating SharePoint Framework: Best Practices and Hidden Gems
I've seen it all... the good, bad, and ugly parts of the SharePoint Framework. Join me for a dive deep into the SharePoint Framework and find out what works, what doesn't, and how to pivot when things go sideways. You've likely been warned about what 'never' to do, but we go beyond warnings to provide actionable steps to turn potential mistakes into triumphs. This session is packed with practical tips, nifty tricks, and insightful hacks designed to elevate your SharePoint Framework projects and streamline your development process.