Developing Event Receivers and Timer Jobs for SharePoint Online
With SharePoint Online, the shift to client-side development is complete: the last possibility to deploy a server side code, through sandbox solutions with code, was disabled in summer 2016. With all the advantages that client-side development brings, we have also witnessed some of the disadvantages. Developing daemons, such as event handler and timer job equivalents, which was a huge part of traditional SharePoint development, was "left behind" in the client development world for a long time. Provider-hosted AddIns - with all its shortcomings - were the only way to get this done.
This changed recently: introducing webhooks in SharePoint Online, and Azure Functions as a part of Microsoft's Azure platform, give us necessary tools to tackle this issue. This development session will show how to develop the "timer job" replacements with Azure Functions, Azure Active Directory and app-only permissions. We will see how to emulate event handlers using webhooks and Azure Functions, using both App-Only permissions for "elevated priviledges mode" or where the user identity is not important, or with delegated permissions where knowing the user identity is crucial.