0 votes

Our.Umbraco.FeaturesManagementDashboard

    

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 and is available for net5.0 and net6.0.

Umbraco backoffice credentials:

Installation 🎊

Our.Umbraco.FeaturesManagementDashboard is available from: NuGetGitHub 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.

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">
        <!-- Content -->
    </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.

Screenshots

 Download package
version 3.2.0

NuGet install instructions for Umbraco 1.0.0-9+

Install-Package Our.Umbraco.FeaturesManagementDashboard

NuGet install instructions for Umbraco 9+

dotnet add package Our.Umbraco.FeaturesManagementDashboard

Package owner

Adrian Ochmann

Adrian Ochmann

Adrian has 71 karma points

Package Compatibility

This package is compatible with the following versions as reported by community members who have downloaded this package:
Untested or doesn't work on Umbraco Cloud
Version 8.18.x (untested)

You must login before you can report on package compatibility.

Previously reported to work on versions:

Package Information

  • Package owner: Adrian Ochmann
  • Created: 03/01/2022
  • Current version 3.2.0
  • .NET version 6.0.0
  • License MIT
  • Downloads on Our: 83
  • Downloads on NuGet: 5.8K
  • Total downloads : 5.9K