On May the 4th Microsoft announced a new development framework for SharePoint, based on pure client side technologies. This framework would be utilising a combination of Node.js, Gulp, TypeScript, React and Knockout. It marked a radical change to the way we develop apps using established open source frameworks for pure client side with SharePoint office 365 and eventually SharePoint 2016.
Yesterday (18th August) Microsoft announced the release of SharePoint framework in Preview: See announcement: SharePoint Framework Developer Preview Release. So we are going to create a new app with this framework.
In a recent scenario with a client, we started to notice that some apps created over a year ago have started to expire. After investigating the cause, the default lifetime for an Client ID and Secret is 1 year, Yikes!
Once this has expired your apps will stop working! It is worth knowing when these principles expire, so from the Microsoft articles we have extracted the PowerShell used to list when these apps could expire.
Prerequisites before running the script
- Microsoft Online Services Sign-In Assistant is installed on the development computer.
- Microsoft Online Services PowerShell Module (32-bit; 64-bit) is installed on the development computer.
- You need to be a tenant administrator for the Office 365 tenant where the add-in was registered with.
The code for listing apps and their expiry is fairly straight forward and much of it is provided on MSDN, we have made a few tweaks to output to CSV, for tenants with large amounts of apps.
This summer is looking like an awesome period for new development features and the Office PnP team recently published a web cast on SharePoint Web Hooks in Office 365, although this is not yet released, the public preview for first release tenants will be due this summer.
So what are Web Hooks?
Web Hooks are an asynchronous push mechanism to provide notification to a remote endpoint for changes. In the context of SharePoint, this would be similar to Remote Event Receivers that trigger a remote call when changes are made to the subscribed resource i.e. lists or web.