Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing Feature Toggle #2296

Open
aburakab opened this issue Dec 2, 2019 · 7 comments
Open

Implementing Feature Toggle #2296

aburakab opened this issue Dec 2, 2019 · 7 comments

Comments

@aburakab
Copy link

aburakab commented Dec 2, 2019

What is the recommended approach to do Feature Toggle implementation in Abp?
Keep in mind that I might have a temporary feature toggles that is available in Release 1 and I might remove it in Release 2 or 3.
Also I have some business Feature toggles, so I might have a feature which requested by two clients; But I want to ship it with Logic A for the 1st client and with Logic B for 2nd client (Looks like it's a DI/IoC thing). But I would like to hear from you?

@hikalkan
Copy link
Member

ABP doesn't offer a solution for this yet. I don't know their names, but you may find some libraries on the web or you can implement your own logic.

We can take this as a feature request to work on for next versions.

@hikalkan
Copy link
Member

I see that Microsoft did something: https://github.com/microsoft/FeatureManagement-Dotnet (see document: https://docs.microsoft.com/en-us/azure/azure-app-configuration/use-feature-flags-dotnet-core)

@aburakab
Copy link
Author

Do you think that ABP should adopt it as is?

@hikalkan
Copy link
Member

I haven't tried it yet. However, it will direct work when you follow the Microsoft's document. You can use it today. When we work on this issue, we will try to understand if it would be good if we do something with the ABP Framework.

@angelieri
Copy link

angelieri commented Oct 30, 2021

I use a simple implementation.
A table to registry the feature and what user or customer is changed
Features
UserID - Number
Feature - Varchar

Then in my new feature process we do sometrhing like this:

if (Beta.IsBeta(UserID, Feature))
{
Do process A
}
else
{
Do process B
}

Beta.Isbeta uses cache.
Feature list is a enumeration.

@balessi75
Copy link

Voting for this to be considered in a future release

@elovelan
Copy link

There's a relatively new standard, similar to OTel, called OpenFeature that might also be worth a look. There's even a discussion on the Microsoft.FeatureManagement repo about trying to unify them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants