Please enable JavaScript.
Coggle requires JavaScript to display documents.
Feature flags - Coggle Diagram
Feature flags
Launch Darkly
Feature management
Feature flag
a feature flag in LaunchDarkly. A feature flag describes rules for who can access a feature in your app, whether that means individual users, users who share common characteristics like email domain or type of mobile device, or just a certain percentage of your application's traffic.
use the SDK to make a function call any time you want to determine whether a particular user should receive a feature, and what variation of the feature they should receive. The SDKs use local caching to make these variation checks as efficient as possible.
The SDKs send analytics events to LaunchDarkly to record every user who encounters a flag and which variation they received. You control which data is sent to LaunchDarkly and can designate certain data as private if you want LaunchDarkly to use it for flag evaluation but not store it.
-
-
-
-
-
-
-
setting default values
When you create a feature flag, some of its variations are designated as default values. You can accept the defaults or change them. When you change default values and click Save flag, the flag is created across all environments in your project with the new variations set as its default on and off values.
-
-
-
flag keys
LaunchDarkly primarily identifies feature flags by a key which must contain only alphanumeric characters, dots (.), underscores (_), and dashes (-). These keys are used in the SDKs to identify flags
in JavaScript, accessing keys containing . and - requires the bracket operator. Instead of requiring this, the React SDK automatically changes all flag keys to camel case by default. A flag with key dev-flag-test is accessible as flags.devFlagTest.
-
-
To disable the React SDK's automatic camel-case feature, provide asyncWithLDProvider or withLDProvider with the reactOptions.useCamelCaseFlagKeys property. The React SDK supports this in versions 2.13.0 and later.
-
With this configuration option in place, you can access your dev-flag-test flag using bracket notation, for example, flag['dev-flag-test'].
Tools
LaunchDarkly: This is a cloud-based platform for feature management that allows developers to easily toggle features on and off, perform A/B testing, and track feature usage. It supports a wide range of programming languages and frameworks, and has a robust API for integrating with other tools.
It supports a wide range of programming languages and frameworks, including Java, Python, Ruby, JavaScript, .NET, and more.
One of the key features of LaunchDarkly is its ability to target specific users or groups of users with different feature configurations, using a combination of attributes such as user roles, geographic location, and custom properties. This allows developers to perform targeted rollouts, test new features with a subset of users before releasing them to the general public, and make changes to the feature set for specific groups of users.
LaunchDarkly also has a robust API for integrating with other tools, such as analytics platforms, monitoring systems, and incident management tools. This allows developers to easily track feature usage, monitor performance, and respond to issues in real-time.
Additionally, LaunchDarkly provides a web-based dashboard that allows developers and product managers to easily see which features are enabled or disabled for different users and groups, and to make changes to the feature set on the fly.
cloud based, toggle feature, track user engagement, targeting, segmentation and rollback
Rollout: This is a mobile-first feature management platform that allows developers to easily toggle features on and off, perform A/B testing, and track feature usage. It supports a wide range of programming languages and frameworks, and has a robust API for integrating with other tools.
It supports a wide range of programming languages and frameworks, including Java, Swift, and Kotlin for mobile app development and Node.js, Ruby, and Python for server-side development.
One of the key features of Rollout is its ability to target specific users or groups of users with different feature configurations, using a combination of attributes such as device type, app version, and custom properties. This allows developers to perform targeted rollouts, test new features with a subset of users before releasing them to the general public, and make changes to the feature set for specific groups of users.
Rollout also provides a web-based dashboard that allows developers and product managers to easily see which features are enabled or disabled for different users and groups, and to make changes to the feature set on the fly. This allows for easy experimentation and testing, and allows developers to quickly respond to user feedback and make necessary changes to the app.
Another feature of Rollout is its integration with various analytics platforms like Mixpanel, Amplitude and Firebase Analytics, which enables developers to track feature usage and monitor performance, helping them to make informed decisions about which features to keep, change or remove.
mobile applications, targeting, segmentation, rollback
Optimizely: This is a experimentation platform that allows developers to perform A/B testing, multivariate testing and feature flagging.
Optimizely is a website optimization platform that allows businesses to make data-driven decisions about their website through A/B and multivariate testing. It allows users to test different versions of their website and track visitor behavior to determine which version performs the best, allowing them to make informed decisions about website design and content. Additionally, Optimizely can be used for personalization, experimentation, and feature flagging.
-
It allows users to test different versions of their website and track visitor behavior to determine which version performs the best.
ConfigCat: This is a feature flag management tool that allows developers to easily toggle features on and off, perform A/B testing, and track feature usage. It supports a wide range of programming languages and frameworks, and has a robust API for integrating with other tools.
. It supports a wide range of programming languages and frameworks, including Java, Python, Ruby, JavaScript, C#, and more.
Rollout also provides a web-based dashboard that allows developers and product managers to easily see which features are enabled or disabled for different users and groups, and to make changes to the feature set on the fly. This allows for easy experimentation and testing, and allows developers to quickly respond to user feedback and make necessary changes to the app.
Another feature of Rollout is its integration with various analytics platforms like Mixpanel, Amplitude and Firebase Analytics, which enables developers to track feature usage and monitor performance, helping them to make informed decisions about which features to keep, change or remove.
feature flags. configuration of application, dynamic config
Togglz: This is an open-source feature toggle library for Java that allows developers to easily toggle features on and off in their code. It supports a wide range of programming languages and frameworks, and has a robust API for integrating with other tools.
Togglz is an open-source feature toggle framework for Java applications. It allows developers to easily toggle the availability of certain features in their software, without having to deploy new code. This allows for more flexibility in the development process and can be used for a number of purposes, such as A/B testing, canary releases, and dark launching. Togglz allows developers to define features using Java code and also provides a web-based management interface for controlling the state of these features at runtime. It also supports for persistence and caching mechanism for toggles.
java application , persistence and caching
software development technique used to enable or disable specific functionality in a program without changing the source code
They are typically implemented as a Boolean value or a string in a configuration file, and can be used to manage the rollout of new features, perform A/B testing, and make it easier to roll back changes in case of problems
Feature flags can also be used to control access to specific features based on user roles or other criteria.