Platform Evolution
Assessment run-2026-07-27-1 · 213 of 213 repos assessed
Repos / provider-activator

provider-activator

WinForms ClickOnce desktop tool for Head Office staff to switch third-party providers on/off in the Phenix database via stored procedures.

53 · amberlowloosely attachedOn-premZDD: not applicableotherdormantsecrets in source

Health score

53

0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.


Runtime currency / 25
25
Runs on supported modern .NET
Legacy transport / 15
15
No legacy WCF or SOAP surface
Test posture / 15
0
No tests
Security hygiene / 15
0
Credentials or keys committed to source
Dangerous coupling / 15
8
shares a core database (sqlserver:Phenix)
Activity / 10
0
Dormant: no meaningful change for two years or more while still deployed
Deployment hygiene / 5
5
CI in place
Health over time
2026-07-24 (run-2026-07-24-1): 532026-07-27 (run-2026-07-27-1): 53
No change since 2026-07-24 (53 to 53).

Facts

Languagescsharp
FrameworksWindows Forms, ClickOnce
Runtimes.NET 8 (windows)
Tests / CInone / CI in place
Last commit2024-05-13
OwnerOwner unknown (mapping to be curated)
DomainSelling and quoting (system generated; curate in repo-owners.json to override)
Product areaPhenix
HostedOn-prem Deployed to our own machines
  • Release "provider-activator": Publish Beta Clickonce: file copy to \\ukmaniis3\Development\ProviderActivatorBeta
  • Release "provider-activator": Publish ClickOnce: file copy to \\ukmaniis3\Development\ProviderActivator
Releases1 release pipeline(s): provider-activator
Integrationsqlserver
SourceOpen in Azure DevOps

Risk flags

Each flag links to its glossary definition.

Dependencies in context

Laying out the graph…
greenamberreddata store (square, dashed link)Node size follows fan-in. Click any node to open it.

Entanglement

loosely attached Bound into the core by 1 mechanism(s).

Detaches when the shared database group it belongs to gains an owned API or completes schema separation (sqlserver:Phenix).

Depends on / used by

Depends on (1)
Used by (0)
No internal dependents.

Data stores
sqlserver:Phenix

Migration playbooks

Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.

ZDD adoption

Not applicable

Not a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Desktop application distributed to user machines; server-side ZDD does not apply.

SQL Server exit

Retire instead

This repo is a retirement or consolidation candidate. Do not invest in a database migration; execute the retirement and the SQL Server dependency disappears with it.

Containerisation

Not appropriate

This is a desktop application distributed to user machines; containers do not apply. Its modernisation path is replacement by a web application, not containerisation.

Recommended actions

Rotate the credentials committed to provider-activator

Risk flags indicate credentials or keys in source (secrets-in-source). Rotate now and enable secret scanning in CI; this is independent of all other work.

Impact: Closes a live security exposure at near-zero cost

proposed

Review provider-activator for retirement

Dormant (last commit 2024-05-13) yet still release-linked, and nothing depends on it. Confirm remaining use, then retire and disarm its pipeline.

Impact: Shrinks the estate before the expensive work begins

proposed

Assessment notes

provider-activator

Purpose

A tiny operational Windows Forms tool ("Provider Activator") that lists providers from the Phenix database and toggles them on/off. It calls two stored procedures (ProviderSwitch_SELECT, ProviderSwitch_OnOff) and offers an environment picker driven by TC.ConnectionBroker connection strings, so operators can flip providers per environment.

Tech stack

Single C# project targeting net8.0-windows (WinForms, SDK-style csproj, win-x64), published via ClickOnce with Release and Release-Beta profiles to development.travelcounsellors.com / a \\ukmaniis3 file share. Uses Microsoft.Extensions.DependencyInjection, System.Data.SqlClient and TC.ConnectionBroker 1.12.x for connection-string resolution.

Deployment

Included as prod_application with 1 release; build pipeline provider-activator (YAML build.yml in repo, self-hosted pool with MSBuild/Visual Studio demands) and release pipeline provider-activator. Distribution is ClickOnce install pages rather than a server deployment; deployment-scripts is pulled in as a git submodule.

Dependencies

Internal: TC.ConnectionBroker.Sql / .Extensions.DependencyInjection (tc-connectionbroker) and the shared deployment-scripts submodule. No other estate packages and no external services.

Data stores

SQL Server — the shared Phenix database, accessed directly with stored procedures through a ConnectionBroker-resolved connection string.

Integration points

Direct SQL only; no REST, messaging or WCF. It is a thick client mutating shared Phenix state from operator desktops.

Code health

No test project at all and the README is untouched Azure DevOps boilerplate. Last commit 2024-05-13, so dormant for over two years. A ClickOnce signing certificate (ClickOnce.pfx) is committed to source alongside its thumbprint in the csproj.

Modernisation risks

The runtime is modern (.NET 8) so the stack itself is fine, but the pattern is not: a ClickOnce thick client writing directly to the shared Phenix database bypasses any API layer, and the committed PFX signing key is a secrets-hygiene issue. Low priority on stack grounds; the sensible move is folding this switch into an existing admin UI or API rather than upgrading it.