All articles

  1. Governance & security

    Documentation is a claim until the system is read against it

    A configuration document governs a Microsoft 365 or Azure estate only while it is bound to the system it describes: an owner, a documented reading of the actual state, a comparison and a date to read it again. What NIST SP 800-53 and Microsoft's guidance ask of documentation, how Compliance Manager keeps a recorded status apart from a read one, and three Microsoft 365 settings where the document and the tenant can disagree unnoticed.

    ·12 min read

    Keep reading →
  2. Migrations

    A SharePoint cutover stops being reversible when the new farm accepts writes

    Keeping the old farm available preserves a fallback environment. It does not preserve changes accepted by the new one. A decision matrix and an offline counterexample separate routing recovery from data reconciliation.

    ·6 min read

    Keep reading →
  3. Development & automation

    A hybrid SharePoint integration needs more than a successful sign-in

    A Java or .NET API can authenticate a caller while the downstream SharePoint operation still has the wrong authority. Compare the identities, contracts and failure boundaries before choosing a gateway or extracting legacy functionality.

    ·6 min read

    Keep reading →
  4. Microsoft 365 & SharePoint

    Installing a SharePoint Server Subscription Edition update without downtime, step by step

    Microsoft documents zero downtime patching for Subscription Edition: binaries on half the farm at a time, then the build-to-build upgrade one server at a time, while people keep working. What the farm must have before it is possible, every step with Microsoft's commands, the three places Microsoft's own pages disagree, and what zero downtime does not cover.

    ·9 min read

    Keep reading →
  5. Development & automation

    A retry that sends a POST twice

    A client that never received the response cannot know whether its create was applied, and a retry can write the record twice. What HTTP allows a client to repeat, which Microsoft 365 failures mean the write was refused, where integrations inherit retries they did not write, and how to make a SharePoint or Graph create safe to repeat.

    ·15 min read

    Keep reading →
  6. Governance & security

    SharePoint HTML pages are governed by a setting your custom script audit does not read

    HTML pages run JavaScript inside a sandbox, are on by default, and are switched off site by site by each site owner. Microsoft states there is no tenant-level restriction, and the custom script setting is not part of the answer. What the sandbox stops, what it leaves to governance, and what to measure before general availability reaches your tenant.

    ·9 min read

    Keep reading →
  7. Development & automation

    The API an integration can call after it moves to .NET 10

    Moving an integration to .NET 10 changes which SharePoint libraries it can load and which sign-in it can keep. SharePoint Online takes Microsoft Graph, SharePoint REST or the .NET Standard CSOM, each with a Microsoft Entra ID token. Subscription Edition takes REST with the farm's own authentication, because the CSOM Microsoft documents for on-premises SharePoint is the .NET Framework build.

    ·13 min read

    Keep reading →
  8. Migrations

    What a SharePoint 2016 or 2019 farm stops receiving

    Support for SharePoint Server 2016 and 2019 ended on 14 July 2026. One more security update for each followed on 11 August 2026, nothing has followed it, and Microsoft documents no Extended Security Update programme for either. What stopped, what the last updates changed, and what to decide while the farm still runs.

    ·12 min read

    Keep reading →
  9. Development & automation

    Migrating privileged SharePoint server-side code requires an authorization design

    A WSP that deploys on Subscription Edition has not proved its authorization boundary. Review caller intent, elevated object lifetime, external identities and business acceptance before retaining, refactoring, extracting or eliminating server-side code.

    ·8 min read

    Keep reading →
  10. Development & automation

    Farm solution, SharePoint Framework or external service: deciding each customisation on Subscription Edition

    A farm that upgrades to Subscription Edition does not make its custom code compatible, secure or supported. Each component is decided on its own: kept as a farm solution, rebuilt on the SharePoint Framework, moved to an external service, or retired. What Microsoft documents for each, and what decides between them.

    ·7 min read

    Keep reading →
  11. Governance & security

    The confident wrong answer is worse than missing evidence

    A governance report told us a site had external sharing disabled. The site permitted anonymous links. Nothing was broken: a correct API returned a default value for a property it had never populated, and the default happened to be the safest word in the enum. Here is the mechanism, the code that reproduces it, Microsoft's own documentation of it, and the discipline that catches the whole class.

    ·7 min read

    Keep reading →
  12. Development & automation

    Why SharePoint Framework stayed on React 17 through SPFx 1.23.2

    A retrospective on the SPFx 1.16–1.23.2 dependency boundary, updated to distinguish it from SPFx 1.24 and React 18.3.1. Platform compatibility requires more than changing a package version.

    ·6 min read

    Keep reading →
  13. Development & automation

    Developing for SharePoint Server Subscription Edition: the practices that hold up

    Subscription Edition is supported until at least 2035 and its SharePoint Framework ceiling has not moved since 2023. That combination is the whole job: a long runway on an older stack. This is how to build on it well, with code that runs on the version your farm actually accepts.

    ·20 min read

    Keep reading →
  14. Migrations

    SharePoint 2016, 2019, Subscription Edition and Online: what actually changes

    2016 and 2019 both left support on 14 July 2026. Subscription Edition has no end date and cannot be bought outright. Online has features the others do not have, and Subscription Edition has two that are no longer a simple no. A practical comparison, with the licensing that decides it.

    ·21 min read

    Keep reading →
  15. Migrations

    Migrating SharePoint 2016 and 2019 to Subscription Edition: the scripts

    SharePoint 2016 goes straight to Subscription Edition. There is no hop through 2019, the method is database attach and nothing else, and the order of the service applications is not a preference. The sequence in PowerShell, from the inventory you take before touching anything to the checks you run before anyone is let in.

    ·25 min read

    Keep reading →
  16. AI & agents

    A Copilot agent manifest is a security boundary. Here is the linter for it.

    Every scoping property in a Microsoft 365 Copilot agent manifest is optional, and in six places omitting one grants the widest scope instead of the narrowest. A JSON Schema validator approves those manifests, because nothing in them is invalid: something optional is missing. So we wrote the check that does catch it. It finds six problems in a manifest that passes every other test.

    ·6 min read

    Keep reading →
  17. Development & automation

    SPFx before version 1.0: our web parts in the official Microsoft samples

    The SharePoint Framework developer preview came out in August 2016. Version 1.0 arrived in February 2017. Our first contribution to the official Microsoft 365 samples repository is dated October 2016, five months before there was a 1.0 to build against. Four of our web parts are in that repository today, and this is what each of them is for.

    ·5 min read

    Keep reading →
  18. Development & automation

    SPFx 1.23.2: upgrading is not changing a number

    The previous version was pulled from npm for regressions, and that is the warning: the risk of upgrading the SharePoint Framework is almost never in the SharePoint runtime, it is in the build. What changed in Heft, in Sass and in npm audit, with the code showing how it was, how it is, and how it will be.

    ·6 min read

    Keep reading →
  19. Microsoft 365 & SharePoint

    The state of SharePoint in 2026: what is gone, what is current, and what to build on

    Every year someone declares SharePoint dead. It never was. But in a matter of months, real parts of it reached the end of the line: SharePoint Online Add-ins and Azure ACS for SharePoint Online retired in April, and SharePoint Server 2016 and 2019, InfoPath and SharePoint Designer left support in July. Here is what actually ended, what replaced it, and what to build on now, on-premises and in the cloud.

    ·6 min read

    Keep reading →
  20. Migrations

    Migrating SharePoint without stopping the business

    Every migration interrupts somebody. The work is deciding which interruption is acceptable, for whom and for how long, and measuring it in rehearsal before promising it. What that means when the destination is Subscription Edition and when it is SharePoint Online.

    ·11 min read

    Keep reading →

Categories

Send us a message

or write to hello@ph7x.com