SharePoint / SPFx

SharePoint Maintenance Banner

A tenant-wide Application Customizer that turns a centralized SharePoint list into scheduled, targeted, dismissible notification banners.

Version 1.3.4 publication build
Recovered Production v1.3.3 SPPKG
Status Rebuilt and validated
Source Public · GPLv3 or later

Overview

The extension gives SharePoint administrators one configuration list for time-bound maintenance, outage, success, warning, and informational banners. It evaluates site, user, and group targeting before rendering in SharePoint's top placeholder.

Evidence boundary: solution metadata and runtime behavior were recovered directly from the deployed package. Readable TypeScript was reconstructed from the compiled bundle. Version 1.3.4 then generalized the configuration site for publication.
ChallengeCommunicate scheduled incidents and maintenance across many SharePoint sites without editing each page.
SolutionA list-driven SPFx extension with scheduling, priority, site targeting, group targeting, and dismissal.
ResultA centrally governed tenant communication layer reconstructed, sanitized, documented, and published.

Interface evidence

Problem and solution

Page-by-page announcements do not scale across a tenant. This solution separates message administration from page authoring: list items define content, schedule, priority, targeting, links, countdown behavior, dismissal, and refresh timing.

Configuration Site Maintenance Banners list
Extension SPFx Application Customizer
Audience SharePoint and Graph groups
Output Top placeholder banners

Key features

  • Start/end scheduling, ascending priority, and a five-banner query limit.
  • Target and exclusion matching against site URLs and paths.
  • Direct-user, SharePoint-group, and Graph transitive-group targeting.
  • Critical, warning, success, and informational treatments.
  • Optional links, new-tab behavior, countdowns, local dismissal, and automatic refresh.

Engineering decisions

The recovery preserved the original SPFx 1.20.0 toolchain and PnPjs 4.19.0 rather than silently upgrading frameworks. The rebuilt package retains authoritative IDs, permissions, feature metadata, and behavior markers while documenting unavoidable bundle-hash differences.

Security and governance

Graph audience evaluation requires tenant approval for GroupMember.Read.All. Version 1.3.4 removes the recovered organization-specific URL and accepts an optional configurationSiteUrl property, defaulting to the current web.

Integration contract

ConfigurationSharePoint list items define content, timing, priority, links, and targeting
PlacementSPFx Application Customizer renders into the SharePoint top placeholder
AudienceDirect users, SharePoint groups, and Microsoft Graph transitive groups
RefreshConfigurable polling, countdown updates, expiry, and local dismissal
PermissionGroupMember.Read.All requires tenant administrator approval

What this project demonstrates

  • Recovering and validating a production solution from an authoritative deployment artifact.
  • Separating centralized administration from tenant-wide presentation.
  • Combining SharePoint, SPFx, PnPjs, and Graph audience evaluation.
  • Publishing responsibly by removing tenant-specific configuration and documenting permissions.
← Back to Portfolio