GovBuilt.FeatureFlags
1.0.5
dotnet add package GovBuilt.FeatureFlags --version 1.0.5
NuGet\Install-Package GovBuilt.FeatureFlags -Version 1.0.5
<PackageReference Include="GovBuilt.FeatureFlags" Version="1.0.5" />
<PackageVersion Include="GovBuilt.FeatureFlags" Version="1.0.5" />
<PackageReference Include="GovBuilt.FeatureFlags" />
paket add GovBuilt.FeatureFlags --version 1.0.5
#r "nuget: GovBuilt.FeatureFlags, 1.0.5"
#:package GovBuilt.FeatureFlags@1.0.5
#addin nuget:?package=GovBuilt.FeatureFlags&version=1.0.5
#tool nuget:?package=GovBuilt.FeatureFlags&version=1.0.5
GovBuilt.FeatureFlags
Private package — GovBuiltFeed only. Do not publish to nuget.org.
An Orchard Core module that stores per-tenant feature flag settings and provides the admin UI for managing them.
The module is the flag authority. It owns storage, the admin settings page, and the IFeatureFlagHelper DI registration.
Consuming modules never write flags — they only read them via GovBuilt.FeatureFlags.Abstraction.
What this package does
- Stores feature flag settings per tenant using Orchard Core
ISiteService - Renders the admin settings page at Admin → Configuration → Settings → Feature Flags
- Registers
IFeatureFlagHelperin the Orchard Core tenant DI container - Protects the settings page with the
ManageFeatureFlagspermission (Administrators only by default)
What this package does NOT
- Expose any controllers or API endpoints
- Share flag state across tenants
- Require database migrations
Prerequisites
- .NET 8
- Orchard Core multi-tenant host
GovBuilt.FeatureFlags.Abstraction(peer dependency — providesFeatureFlagSettingandIFeatureFlagHelper)
Installation
Step 1: Add the private feed (once per machine)
dotnet nuget add source "https://pkgs.dev.azure.com/MCCinnovations/_packaging/GovBuiltFeed/nuget/v3/index.json" \
--name GovBuiltFeed \
--username az \
--password <PAT>
Step 2: Add the package to the host project
<PackageReference Include="GovBuilt.FeatureFlags" Version="1.0.5" />
No Startup wiring required — the module is discovered automatically by Orchard Core.
Adding a new feature flag
Only FeatureFlagSetting.cs in GovBuilt.FeatureFlags.Abstraction needs to change:
[FeatureFlagInfo(Title = "My Feature", Type = "General", HelpText = "Enables my feature.")]
public bool IsMyFeature { get; set; }
The driver (FeatureFlagSettingsDisplayDriver) and admin view both use reflection and pick up new properties automatically.
Important rules:
- Prefix all flag properties with
Is - All flags default to
false(opt-in) - Use
Typeto group flags in the admin UI filter dropdown - Bump
<Version>in both packages and publish after adding a flag
Publishing
dotnet pack src/GovBuilt.Core/GovBuilt.FeatureFlags/GovBuilt.FeatureFlags.csproj -c Release -o ./artifacts
dotnet nuget push ./artifacts/GovBuilt.FeatureFlags.*.nupkg --source GovBuiltFeed --api-key az
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- GovBuilt.FeatureFlags.Abstraction (>= 1.0.4)
- OrchardCore.DisplayManagement (>= 2.2.0)
- OrchardCore.Module.Targets (>= 2.2.0)
- OrchardCore.Navigation.Core (>= 2.2.0)
- OrchardCore.Security (>= 2.2.0)
- OrchardCore.Settings (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.