Our.Umbraco.FeaturesManagementDashboard 3.1.0

Additional Details

Contains issues connecting to database. Please use >=3.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Our.Umbraco.FeaturesManagementDashboard --version 3.1.0                
NuGet\Install-Package Our.Umbraco.FeaturesManagementDashboard -Version 3.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Our.Umbraco.FeaturesManagementDashboard" Version="3.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Our.Umbraco.FeaturesManagementDashboard --version 3.1.0                
#r "nuget: Our.Umbraco.FeaturesManagementDashboard, 3.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Our.Umbraco.FeaturesManagementDashboard as a Cake Addin
#addin nuget:?package=Our.Umbraco.FeaturesManagementDashboard&version=3.1.0

// Install Our.Umbraco.FeaturesManagementDashboard as a Cake Tool
#tool nuget:?package=Our.Umbraco.FeaturesManagementDashboard&version=3.1.0                

Our.Umbraco.FeaturesManagementDashboard

Build NuGet release NuGet Our Umbraco project page Umbraco version Umbraco version

This package adds feature management dashboard into Umbraco backoffice. It use as feature management the Microsoft Feature Flags engine - more information about Microsoft Feature Flags Tutorial.

Getting Started 💫

This package is supported on Umbraco >=9.0.1, Umbraco >=10.0.1 and Umbraco >=11.0.0 and is available for net5.0, net6.0, net7.0.

Umbraco backoffice credentials:

  • login: admin@admin.com
  • password: adminadmin

Installation 🎊

Our.Umbraco.FeaturesManagementDashboard is available from: NuGet, GitHub Packages and Our.Umbraco.

NuGet

To install from NuGet, you can run one of the following commands:

  • NuGet Package Manage:

     PM> Install-Package Our.Umbraco.FeatureManagementDashboard
    
  • Command line:

    dotnet add [PROJECT.csproj] package Our.Umbraco.FeatureManagementDashboard
    
GitHub Package:

For now there isn't public token for installing from this repository. Please go into repository and go to Packages and download latest nupkg assets.

Our.Umbraco:

In backoffice search and install package.

Usage 🔥

After installing the package you will need to enable package in appsettings.json and perform some features configuration.

To enable package create section with setting:

appsettings.json

"FeaturesManagementDashboard": {
  "Enabled": true
}

Now we need to declare feature flags configurations that will be transferred into Umbraco.

Let's say we have following features:

  • HomePage
  • WeatherPage
  • Weather

The configuration for those flags will look in appsettings.json like this:

"FeatureManagement": {
  "HomePage": true,
  "WeatherPage": false,
  "Weather": true
}

Currently it's only supported boolean value of features flags, in the future it will be extended to support full functionality that exists in Microsoft.FeatureManagement - more information: feature flags declaration.

After that all setting will be transferred into Umbraco - after that it will not override by default imported flags into Umbraco.

To override Umbraco feature flags lets add option in appsettings.json:

"FeaturesManagementDashboard": {
  "Enabled": true,
  "Override": true
}

Note: Override option is not required, it by default false.

After adding Override: true option it will each time override Umbraco feature flags configuration.

In backoffice there will be present Feature Management Dashboard under Settings section.

Backoffice section

Feature Flags configuration

There are few options to setup feature flags in code:

  1. MVC tag helper

    Install Microsoft.FeatureManagement.AspNetCore package into your Web application.

    In Views\_ViewImports.cshtml add helper import:

    @addTagHelper *, Microsoft.FeatureManagement.AspNetCore
    

    After that you can start working with feature flags on views by using:

    <feature name="featureName">
    
    </feature>
    
  2. Controller actions attribute

    Wrap your controller with attribute [FeatureGate("WeatherPage")]. Feature Flags engine will handle it automatically.

  3. Dependency injection

    Inject IFeatureManager service into your object. After that you can perform custom logic for working with features, for example:

    public async Task<IViewComponentResult> InvokeAsync()
            => await _featureManager.IsEnabledAsync("Weather")
                ? View(new WeatherViewModel(_random.Next(-30, 30)))
                : Content(string.Empty);
    
  4. Other

    For other options and more information please see Microsoft Feature Flags documentation.

Contribution guidelines ⛏

To raise a new bug, create an issue on the GitHub repository. To fix a bug or add new features, fork the repository and send a pull request with your changes. Feel free to add ideas to the repository's issues list if you would to discuss anything related to the package.

Changelog 📖

All notable changes to this project can be found in CHANGELOG.md.

Notes 📝

Future work:

License 📜

Licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.