Office 365

SPFx: Check if User is an Admin or an Owner is SharePoint

In this post: Introduction · Understanding SharePoint User Roles · Checking If a User Is an Admin in an SPFx WebPart · Checking in an Application Customizer · Alternative: Checking Site Owners Group Membership · The simpler check you probably want first · Pros and Cons of Different Approaches · Related reading Introduction When working […]

SPFx: Check if User is an Admin or an Owner is SharePoint Read More »

How to Export SharePoint Site Users to an Excel Spreadsheet

Worth a direct correction before anything else: neither the classic on-premises COM-automation script nor the “PnP PowerShell” example commonly shown for this actually produces a real Excel file without a caveat — the COM approach genuinely needs Excel installed on the machine running it, and the PnP example usually exports to CSV, not a true

How to Export SharePoint Site Users to an Excel Spreadsheet Read More »

Switching Between Classic and Modern Views in SharePoint

Worth a direct correction before anything else: `-EnableContentTypes` doesn’t control list experience at all — it toggles whether a list supports multiple content types, an entirely unrelated setting. A script built around it silently changes the wrong thing while doing nothing to actually switch between classic and modern view, with no error to flag the

Switching Between Classic and Modern Views in SharePoint Read More »

Get SharePoint Site Users: Implementations and Use Cases

Knowing who actually has access to a SharePoint site — not who you think has access — is the starting point for any real audit, cleanup, or automation built around user roles. This covers the ways to pull that list programmatically: REST via plain JavaScript or jQuery, PnPjs for SPFx solutions, and PowerShell for admin-scale

Get SharePoint Site Users: Implementations and Use Cases Read More »

Breaking SharePoint Permission Inheritance: What It Is and Why It Matters

Every site, library, list, and item in SharePoint inherits its permissions from its parent by default — that’s what keeps permission management manageable. Breaking that inheritance lets you set unique permissions at a specific level instead, for the cases where “everyone who can see the parent can see this too” isn’t the right answer. For

Breaking SharePoint Permission Inheritance: What It Is and Why It Matters Read More »

A Comprehensive Guide to SharePoint Site Design

In this post: The steps · Automating repeatable setup with Site Scripts · On step 7 (permissions) specifically · Designing for accessibility, not just branding · Common mistakes worth avoiding · When would you actually use this? · Helpful references · Related reading The steps Define the purpose first. Project management, company-wide comms, or external

A Comprehensive Guide to SharePoint Site Design Read More »

Understanding SharePoint List Types: A Guide for Developers

SharePoint lists work like a lightweight database — each list is a table, columns are metadata fields — but built for collaborative, permission-aware environments rather than raw relational data. Here’s the built-in list types, the template IDs for creating them programmatically, and how to work with them in code. In this post: Built-in list types

Understanding SharePoint List Types: A Guide for Developers Read More »

Should I Use SharePoint List as a Database?

SharePoint lists are a familiar feature for many organizations, especially those leveraging Microsoft 365. They’re incredibly flexible and often find themselves at the center of lightweight applications and data tracking needs. But how far can you stretch their capabilities? Could they serve as a database? Let’s dive into the pros, cons, and practical scenarios to

Should I Use SharePoint List as a Database? Read More »

How to Escape Apostrophes in SharePoint REST Queries

An apostrophe in a data value — a name like O’Reilly, a title like Harry’s Adventures — breaks a SharePoint REST `$filter` query, because OData uses single quotes as the string delimiter and has no way to tell a literal apostrophe apart from the end of the string. The fix is one specific, verified rule:

How to Escape Apostrophes in SharePoint REST Queries Read More »

Rendering SharePoint List Extensions for Specific List Templates

Command Sets and Application Customizers scope to specific list templates the same way, through `RegistrationType`/`RegistrationId` in `elements.xml`. Field Customizers don’t — they’re registered against a specific column, not a list template, a genuinely different mechanism worth knowing before assuming one pattern covers all three extension types this post touches on. In this post: Scoping a

Rendering SharePoint List Extensions for Specific List Templates Read More »