Microsoft recently began rolling out the new SharePoint hub sites to Targeted Office 365 tenants. I took some time to look at hub sites, and wanted to capture some notes and thoughts about what I think is an exciting new feature. This is not meant to be an exhaustive review, there are many articles that offer deeper reviews. After poking around into the configuration and integration points of hub sites, I wanted to capture the following: Hub sites will help organize "modern content" in Office 365 What's old is new in SharePoint, and that's a good thing! It's a great start... Managing Hub Sites Let's start at the beginning. First, you need to register an existing site as...

I recently needed to launch different browsers for debugging a .NET Core app in Visual Studio Code on a MacOS. A quick Google search yielded how to launch different browsers from VS Code for debugging ASP.NET Core, but this was Windows centric. While the changes below are simple, I thought I would document them anyway. Here is the whole launch.json file for reference. The important bits are in the osx sections. { // Use IntelliSense to find out which attributes exist for C# debugging // Use hover for the description of the existing attributes // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md "version": "0.2.0", "configurations": [ { "name"...

As I was working on the Securing Azure Functions with Azure Active Directory series, I wanted a simple way to test the application and OAuth flows in Azure. This seemed like a perfect time to try out the use of Azure Blob Storage for hosting static files and using Azure Function Proxies to deliver the Angular app. As a bonus, I got to learn a bit about integrating the process in Visual Studio Team Services (VSTS) build using the Azure CLI VSTS Task. The Required Azure Components Obviously we will need some Azure components. The Azure CLI and the snippets/scripts below get this part done quickly. If you don't have the Azure CLI, go get it now. The script...

Part 3 - Azure AD Secured Azure Functions - Creating an Angular Client Application Part 1 - Creating an Azure Function with the Azure CLI 2.0 Part 2 - Securing an Azure Function with Azure Active Directory Part 3 - Creating an Angular Client Application Part 4 - Adding Azure Active Directory Group Claims Checks This is part three of a series of posts about consuming Azure Functions secured by Azure Active Directory. The goal: create an Azure Function, secure it with Azure Active Directory, and use Angular to pull data back from the AAD secured Function. In Part 1 we created an Azure Function App and a basic Function. In Part 2 we secured our Azure Function using...

This is a part two of a series of posts about consuming Azure Functions secured by Azure Active Directory. Part 1 - Creating an Azure Function with the Azure CLI 2.0 Part 2 - Securing an Azure Function with Azure Active Directory Part 3 - Creating an Angular Client Application Part 4 - Adding Azure Active Directory Group Claims Checks The goal: create an Azure Function, secure it with Azure Active Directory, and use Angular to pull data back from the AAD secured function. In Part 1 we created an Azure Function App and a basic function. Our Azure Function is accessible from Postman or curl, but not from a simple web page. Configure Cross Origin Resource Sharing (CORS)...