AngularJS
- Learning TypeScript: A Code Camp Adventure (4/4/2016) - Last weekend I had the pleasure of presenting a couple sessions on TypeScript at Boston Code Camp 25, one on my own and one with my good friend and colleague, Bob Goodearl. We’ve just posted the materials, which may be useful beyond the presentation. TypeScript 101 This session covers the basics of the language. I tried … Continue reading Learning TypeScript: A Code Camp Adventure
- Flexible SharePoint Development with Widget Wrangler (1/13/2016) - (Cross posted at Julie Turner’s blog, SharePoint Customization: Vedi, Vini, Vici) What’s a widget, and why should I care? In economics, a widget is a name for a generic gadget or manufactured good; on the web, a widget is a generic piece of web functionality running on a page. What makes widgets special is that, unlike controls … Continue reading Flexible SharePoint Development with Widget Wrangler
- How to read information in a SharePoint Person field via the REST API (9/16/2015) - A colleague of mine recently had a challenge reading data out of a SharePoint person field via REST and then rendering it in AngularJS. As it turns out, I had the same challenge recently and found the solution … so here it is! If you simply read the person field, you’ll end up with the … Continue reading How to read information in a SharePoint Person field via the REST API
- The Well-Tempered AngularJS Web Part (3/21/2015) - Listen while reading … The mathematics of music isn’t as simple as you might think, and early musical instruments often didn’t get it right. Keyboard instruments were especially susceptible to this. On a particular organ, for example, the fifth interval in the key of C might sound harmonious, but the fifth above Ab might be sour … Continue reading The Well-Tempered AngularJS Web Part
- Understanding Javascript Promises (3/16/2015) - I have to admit I found the concept of Promises difficult to grasp at first; once I understood, I’ve been looking for a good way to explain it to others. This article is my attempt to make Promises easy to understand through a simple metaphor. Imagine you’ve entered a crowded restaurant. You force your way … Continue reading Understanding Javascript Promises
ASP.NET
- How to: Display the name of the Windows user logged into your ASP.NET Site (2/5/2015) - This is really pretty simple but I was surprised not to find it in any one blog posting. It's easy to display the Application Pool account rather than the logged in user. Some articles said to turn on Impersonation, but that's often a bad idea for other reasons. This is what worked for me just now.
HTML
- Stretching the (HTML 5) Canvas: Fixing Aspect Ratio Problems (3/9/2015) - The Problem I’m working in a web part that uses the HTML 5 <canvas> element, and I ran into a little problem. The web part is a “microsurvey” that asks a single question and, when the user clicks an answer, displays the results of the survey so far. For the results, I wanted to show a bar … Continue reading Stretching the (HTML 5) Canvas: Fixing Aspect Ratio Problems
Javascript
- Calling Microsoft Graph from a single-page application: Part 2 (12/2/2018) - This post was part of the “30 Days Microsoft Graph” blog series, now cross-posted to my personal blog. I was thrilled to have the opportunity to contribute to this excellent blog series. Many thanks to Brian Jackett, who organized this excellent blog series, and to Srinivas Varukala, who kindly edited my articles. In addition, thanks … Continue reading Calling Microsoft Graph from a single-page application: Part 2
- Calling Microsoft Graph from a single-page application: Part 1 (12/1/2018) - This post was part of the “30 Days Microsoft Graph” blog series, now cross-posted to my personal blog. I was thrilled to have the opportunity to contribute to this excellent blog series. Many thanks to Brian Jackett, who organized 30 Days Microsoft Graph, and to Srinivas Varukala, who kindly edited my articles. In addition, thanks … Continue reading Calling Microsoft Graph from a single-page application: Part 1
- New Release of Widget Wrangler (1/31/2017) - When you’re writing a widget in Angular 1.x, it’s possible to pass configuration information into the widget using the ng-init directive, as shown in this example. (Angular 2 isn’t ready for widgets yet since there’s no way to put multiple copies on the page; Microsoft is working with Google on a fix. Here’s a sample.) … Continue reading New Release of Widget Wrangler
- Flexible SharePoint Development with Widget Wrangler (1/13/2016) - (Cross posted at Julie Turner’s blog, SharePoint Customization: Vedi, Vini, Vici) What’s a widget, and why should I care? In economics, a widget is a name for a generic gadget or manufactured good; on the web, a widget is a generic piece of web functionality running on a page. What makes widgets special is that, unlike controls … Continue reading Flexible SharePoint Development with Widget Wrangler
- The Well-Tempered AngularJS Web Part (3/21/2015) - Listen while reading … The mathematics of music isn’t as simple as you might think, and early musical instruments often didn’t get it right. Keyboard instruments were especially susceptible to this. On a particular organ, for example, the fifth interval in the key of C might sound harmonious, but the fifth above Ab might be sour … Continue reading The Well-Tempered AngularJS Web Part
- Understanding Javascript Promises (3/16/2015) - I have to admit I found the concept of Promises difficult to grasp at first; once I understood, I’ve been looking for a good way to explain it to others. This article is my attempt to make Promises easy to understand through a simple metaphor. Imagine you’ve entered a crowded restaurant. You force your way … Continue reading Understanding Javascript Promises
SharePoint (General)
- Building Microsoft Teams apps with SharePoint Pages – Part 2, Build your Own (1/7/2020) - This is Part 2 of a 2-part series which will show you how to make Teams applications using modern SharePoint pages. It’s not about the SharePoint Framework, which is a great option, but one that requires coding. This is the easy approach: if you can edit a SharePoint page, format a list, or make a … Continue reading Building Microsoft Teams apps with SharePoint Pages – Part 2, Build your Own
- Idempotent Site Scripts for SharePoint (3/7/2019) - Image by geralt on Pixabay As you probably are aware, SharePoint site scripts are used to set up content and settings in SharePoint sites. They’re applied using site designs, which allow the same script to be reused with different names and permissions. Site designs can be applied when a site is created, when it’s added to … Continue reading Idempotent Site Scripts for SharePoint
- Branding SharePoint: The New Normal (9/4/2018) - Modern SharePoint is catching on, and sites are looking better than ever right out of the box. With mobile-ready pages and easier editing, customers and partners are starting to ask for it. And as SharePoint 2019 brings the modern experience on premises, the demand is likely to grow even more. Yet even as sites look … Continue reading Branding SharePoint: The New Normal
- Swooping into Site Designs (7/31/2018) - A few months ago a group of SharePoint MVPs gathered to film a new kind of reality TV show and remake a company’s Intranet. You may have seen it – SharePoint Swoop! This is a story from behind the scenes,in which I got to make their work reusable with SharePoint Site Designs and Scripts. It was … Continue reading Swooping into Site Designs
- Teams and SharePoint: Better Together (5/14/2018) - Collaboration Silos Traditionally, our collaboration tools have been divided into silos based on the mode of communication. In the Microsoft space, we’ve used Outlook and Exchange for persistent messaging, Skype for Business for real-time communication, and SharePoint to provide a place to share documents and other information. These tools work together to provide for our … Continue reading Teams and SharePoint: Better Together
- Using SharePoint Permissions in Microsoft Teams Channels (4/12/2018) - A lot of people have asked for “private channels” in Microsoft teams. Microsoft has stated publicly that they’re working on it; there’s even a page in the documentation all ready for when it comes along! In the meantime, a question came up about using SharePoint permissions to restrict the level of access to channel files. Recall that … Continue reading Using SharePoint Permissions in Microsoft Teams Channels
- Localized strings in solutions that span classic and modern SharePoint sites (4/8/2018) - This article builds on an earlier one, Building Headers and Footers that work on Classic and Modern sites. That article, with associated sample code, was about how to create a top menu and footer that work on both modern and classic SharePoint pages. On modern pages, the solution is a SharePoint Framework extension; on classic pages, … Continue reading Localized strings in solutions that span classic and modern SharePoint sites
- Building Headers and Footers that work on Classic and Modern sites (3/11/2018) - One of the partners I consult for is migrating a Fortune 500 financial services company to SharePoint Online. The company wants to take advantage of modern team and communications sites, yet where they need features that aren’t available in modern SharePoint, they’ve decided to stick with classic Publishing sites. The challenge is: how to build … Continue reading Building Headers and Footers that work on Classic and Modern sites
- What is Modern SharePoint and Why Should I care? (2/9/2018) - The question I get the most these days is, “what is this modern SharePoint you keep talking about?” It might sound like an oxymoron! All my SharePointy friends know about it, and debate the finer points over beer at SharePint, but to the casual user, or someone who’s been working on premises, it may be … Continue reading What is Modern SharePoint and Why Should I care?
- Office Developer Bootcamp Sponsors on Board (10/10/2017) - Some readers may already know that Scot Hillier and I are presenting an Office Developer Bootcamp focused on the SharePoint Framework on Friday, October 27, 2017 at the Microsoft office in Burlington MA. This is a great opportunity to learn SharePoint Framework development, including related technologies, Typescript, WebPack, and React. There are still openings, and … Continue reading Office Developer Bootcamp Sponsors on Board
SharePoint Packaging
- The Well-Tempered AngularJS Web Part (3/21/2015) - Listen while reading … The mathematics of music isn’t as simple as you might think, and early musical instruments often didn’t get it right. Keyboard instruments were especially susceptible to this. On a particular organ, for example, the fifth interval in the key of C might sound harmonious, but the fifth above Ab might be sour … Continue reading The Well-Tempered AngularJS Web Part
- New Guidance from Microsoft for Packaging and Deploying SharePoint Solutions (1/31/2015) - This article is reposted from my old MSDN blog. Please post comments here as I am no longer able to publish or respond to them on MSDN. Thanks! Microsoft is cleaning house. Now that it has to maintain SharePoint for thousands of enterprises and millions of users in Office 365, Microsoft is working to clean up all the … Continue reading New Guidance from Microsoft for Packaging and Deploying SharePoint Solutions