You may have come across the Files tab for a channel in Microsoft Teams. This basically shows the contents of a folder inside a Document Library in a SharePoint Team Site, the one that is provisioned when the Team was first created. In that Files tab, you are able to open that location by clicking “Open in…More
Using the Microsoft Graph to determine if an Office365 Group has an associated Microsoft Team
It is very easy to accidentally create an Office365 Group, for example by creating a new plan or creating new Team in Microsoft Teams; either of these (and I’m sure there are more ways) will provision an entire Office365 Group including mailbox, calendar, SharePoint team site and OneNote notebook. It doesn’t create a team unless…More
Serving your Angular CLI App Locally over HTTPS
When creating an Angular CLI app using the ng new command, the CLI itself will create some scripts in the packages.json relating to the building, testing, and local serving of your app. When running npm start it will subsequently run ng serve which by default runs the web server on localhost in HTTP (e.g. http://localhost:4200). This is all well and…More
Using the Angular CLI and the Yeoman Generator to create an Office Add-in
UPDATE: Since this was written the office generator has been updated and does not work in the same way as below, specifically that it no longer asks to create a subfolder (for you to refuse) and does it anyway. If a folder already exists then it will fail and the instructions below are now useless.…More
Using the Microsoft Graph API to upload files to a Library with more than 5000 items gives you a HTTP 404
UPDATE: Around the time of this blog post I added a question on StackOverflow about this issue, and a few months later it was responded to and resolved. This issue in the format mentioned below should no longer exist. I have decided to keep the post alive however as it may support any other issues…More
Creating ARM Templates was easier than I thought
Recently I have been getting my teeth into Infrastructure as Code (IAC) and particularly Azure Resource Manager (ARM) Templates. Initially, I saw these things as potentially large JSON files with a massive schema and something that could consume my time learning, causing me to question if I actually wanted to learn it. Although I am…More
Dynamic content for email signatures in Outlook (an exercise in being lazy)
Every second week at OnePlace Solutions, our very enthusiastic marketing manager tells everyone in the company to update their email signature. Typically it is just changing the image below our name to show what event we are at next, or highlighting a particular product or feature recently worked on. The image is also hyperlinked to…More
Concurrent IO read or write operations with HTTPWebRequest
Recently when using the HTTPWebRequest class to stream a file up to a SharePoint Online Document Library, I was consistently coming across the following issue: System.NotSupportedException: The stream does not support concurrent IO read or write operations. What was really annoying about that message is, I was not doing any concurrent operations but passing blocks of…More
Adding LaunchDarkly to your Angular CLI Application
Creating an angular app from scratch is annoying and time consuming. The easiest option is to use the Angular CLI to create a new app and its components; this gets you up and running very quickly. What I am talking about below is how to add the LaunchDarkly JavaScript library to an Angular CLI application,…More
Sending VSTS Build and Release messages to Microsoft Teams
A while back I noticed a VSTS add-in for sending messages to Slack from a VSTS Build or Release process. This was a great idea and thought that mentioned that it would be great to have an equivalent for Microsoft Teams, to which the response was: Microsoft has already created Microsoft Teams integration to VSTS,…More