Skip to content

Commit

Permalink
Strategy docs updates (#8711)
Browse files Browse the repository at this point in the history
- New navigation for Unleash Concepts
- Updated and restructured activation strategies and related concepts
  • Loading branch information
melindafekete authored Dec 11, 2024
1 parent 8c189ca commit 311df82
Show file tree
Hide file tree
Showing 73 changed files with 543 additions and 916 deletions.
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,13 @@ Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guideli

### Flexibility and adaptability

- Get an easy overview of all feature flags across all your environments, applications and services
- Use included [activation strategies](https://docs.getunleash.io/reference/activation-strategies) for most common use cases, or use a [custom activation strategy](https://docs.getunleash.io/reference/custom-activation-strategies) to support any need you might have
- Organise feature flags by [feature flag tags](https://docs.getunleash.io/reference/tags)
- Get an overview of all feature flags across all your environments, applications and services
- Targeted releases using [activation strategies](https://docs.getunleash.io/reference/activation-strategies) to enable and disable features for certain users or segments without having to redeploy your application.
- [Canary releases / gradual rollouts](https://docs.getunleash.io/reference/activation-strategies#gradual-rollout)
- Targeted releases: release features to specific [users](https://docs.getunleash.io/reference/activation-strategies#userids), [IPs](https://docs.getunleash.io/reference/activation-strategies#ips), or [hostnames](https://docs.getunleash.io/reference/activation-strategies#hostnames)
- [Kill switches](https://docs.getunleash.io/reference/feature-toggles#feature-flag-types)
- [A/B testing](https://docs.getunleash.io/feature-flag-tutorials/use-cases/a-b-testing)
- 2 [environments](https://docs.getunleash.io/reference/environments)
- Organize feature flags using [tags](https://docs.getunleash.io/reference/feature-toggles#tags)
- Out-of-the-box integrations with popular tools ([Slack](https://docs.getunleash.io/addons/slack), [Microsoft Teams](https://docs.getunleash.io/addons/teams), [Datadog](https://docs.getunleash.io/addons/datadog)) + integrate with anything with [webhooks](https://docs.getunleash.io/addons/webhook)
- [Dashboard for managing technical debt](https://docs.getunleash.io/reference/technical-debt) and [stale flags](https://docs.getunleash.io/reference/technical-debt#stale-and-potentially-stale-toggles)
- API-first: _everything_ can be automated. No exceptions.
Expand All @@ -166,7 +165,7 @@ If you're looking for one of the following features, please take a look at our [
- more environments
- [feature flags project support](https://docs.getunleash.io/reference/projects)
- [advanced segmentation](https://docs.getunleash.io/reference/segments)
- [additional strategy constraints](https://docs.getunleash.io/reference/strategy-constraints)
- [additional strategy constraints](https://docs.getunleash.io/reference/activation-strategies#constraints)
- tighter security
- more hosting options (we can even host it for you!)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ export const ConstraintAccordionList = forwardRef<
>
<a
href={
'https://docs.getunleash.io/reference/strategy-constraints'
'https://docs.getunleash.io/reference/activation-strategies#constraints'
}
target='_blank'
rel='noopener noreferrer'
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/component/demo/demo-topics.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ export const TOPICS: ITutorialTopic[] = [
<>
<Description>
<a
href='https://docs.getunleash.io/reference/strategy-constraints'
href='https://docs.getunleash.io/reference/activation-strategies#constraints'
target='_blank'
rel='noreferrer'
>
Expand Down Expand Up @@ -503,7 +503,7 @@ export const TOPICS: ITutorialTopic[] = [
<>
<Description>
<a
href='https://docs.getunleash.io/reference/strategy-constraints'
href='https://docs.getunleash.io/reference/activation-strategies#constraints'
target='_blank'
rel='noreferrer'
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ export const FeatureStrategyConstraintAccordionList = forwardRef<
feature flag for a subset of your
users. Read more about constraints{' '}
<a
href='https://docs.getunleash.io/reference/strategy-constraints'
href='https://docs.getunleash.io/reference/activation-strategies#constraints'
target='_blank'
rel='noopener noreferrer'
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ export const FeatureStrategyForm = ({
predefined strategies like Gradual rollout with{' '}
<Link
href={
'https://docs.getunleash.io/reference/strategy-constraints'
'https://docs.getunleash.io/reference/activation-strategies#constraints'
}
target='_blank'
variant='body2'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@ const CustomStrategyDeprecationWarning = () => (
Custom strategies are deprecated and may be removed in a future major
version. Consider rewriting this strategy as a predefined strategy with{' '}
<Link
href={'https://docs.getunleash.io/reference/strategy-constraints'}
href={
'https://docs.getunleash.io/reference/activation-strategies#constraints'
}
target='_blank'
variant='body2'
>
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/component/splash/SplashPageOperators.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ export const SplashPageOperators = () => {
<StyledFooter>
<p>
<StyledLink
href='https://docs.getunleash.io/reference/strategy-constraints#numeric-operators'
href='https://docs.getunleash.io/reference/activation-strategies#numeric-operators'
target='_blank'
rel='noreferrer'
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const CreateStrategyDeprecationWarning = () => (
Custom strategies are deprecated and may be removed in a future major
release. We recommend using the predefined strategies like Gradual
rollout with{' '}
<Link to='https://docs.getunleash.io/reference/strategy-constraints'>
<Link to='https://docs.getunleash.io/reference/activation-strategies#constraints'>
{' '}
constraints
</Link>{' '}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,9 @@ const StrategyDeprecationWarning = () => (
version. We recommend not using custom strategies going forward and
instead using the predefined strategies with{' '}
<Link
href={'https://docs.getunleash.io/reference/strategy-constraints'}
href={
'https://docs.getunleash.io/reference/activation-strategies#constraints'
}
target='_blank'
variant='body2'
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ const CreateTagType = () => {
loading={loading}
title='Create tag type'
description='Tag types allow you to group tags together in the management UI'
documentationLink='https://docs.getunleash.io/reference/tags'
documentationLink='https://docs.getunleash.io/reference/feature-toggles#tags'
documentationLinkLabel='Tags documentation'
formatApiCode={formatApiCode}
>
Expand Down
2 changes: 1 addition & 1 deletion src/lib/openapi/spec/addon-type-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export const addonTypeSchema = {
},
tagTypes: {
type: 'array',
description: `A list of [Unleash tag types](https://docs.getunleash.io/reference/tags#tag-types) that this addon uses. These tags will be added to the Unleash instance when an addon of this type is created.`,
description: `A list of [Unleash tag types](https://docs.getunleash.io/reference/feature-toggles#tags) that this addon uses. These tags will be added to the Unleash instance when an addon of this type is created.`,
example: [
{
name: 'slack',
Expand Down
4 changes: 2 additions & 2 deletions src/lib/openapi/spec/constraint-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export const constraintSchemaBase = {
type: 'object',
required: ['contextName', 'operator'],
description:
'A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/strategy-constraints)',
'A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)',
properties: {
contextName: {
description:
Expand All @@ -15,7 +15,7 @@ export const constraintSchemaBase = {
},
operator: {
description:
'The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators).',
'The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/activation-strategies#constraint-operators).',
type: 'string',
enum: ALL_OPERATORS,
example: 'IN',
Expand Down
2 changes: 1 addition & 1 deletion src/lib/openapi/spec/create-feature-strategy-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export const createFeatureStrategySchema = {
constraints: {
type: 'array',
description:
'A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints',
'A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints',
example: [
{
values: ['1', '2'],
Expand Down
2 changes: 1 addition & 1 deletion src/lib/openapi/spec/create-tag-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const createTagSchema = {
...tagSchema,
$id: '#/components/schemas/createTagSchema',
description:
'Data used to create a new [tag](https://docs.getunleash.io/reference/tags)',
'Data used to create a new [tag](https://docs.getunleash.io/reference/feature-toggles#tags)',
properties: {
...tagSchema.properties,
value: {
Expand Down
2 changes: 1 addition & 1 deletion src/lib/openapi/spec/feature-strategy-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export const featureStrategySchema = {
constraints: {
type: 'array',
description:
'A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints',
'A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints',
items: {
$ref: '#/components/schemas/constraintSchema',
},
Expand Down
4 changes: 2 additions & 2 deletions src/lib/openapi/spec/feature-tag-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export const featureTagSchema = {
type: 'string',
example: 'simple',
description:
'The [type](https://docs.getunleash.io/reference/tags#tag-types tag types) of the tag',
'The [type](https://docs.getunleash.io/reference/feature-toggles#tags tag types) of the tag',
},
tagValue: {
type: 'string',
Expand All @@ -27,7 +27,7 @@ export const featureTagSchema = {
deprecated: true,
type: 'string',
description:
'The [type](https://docs.getunleash.io/reference/tags#tag-types tag types) of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the `tagType` property.',
'The [type](https://docs.getunleash.io/reference/feature-toggles#tags tag types) of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the `tagType` property.',
},
value: {
deprecated: true,
Expand Down
4 changes: 2 additions & 2 deletions src/lib/openapi/spec/tag-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export const tagSchema = {
$id: '#/components/schemas/tagSchema',
type: 'object',
description:
'Representation of a [tag](https://docs.getunleash.io/reference/tags)',
'Representation of a [tag](https://docs.getunleash.io/reference/feature-toggles#tags)',
additionalProperties: false,
required: ['value', 'type'],
properties: {
Expand All @@ -21,7 +21,7 @@ export const tagSchema = {
minLength: TAG_MIN_LENGTH,
maxLength: TAG_MAX_LENGTH,
description:
'The [type](https://docs.getunleash.io/reference/tags#tag-types) of the tag',
'The [type](https://docs.getunleash.io/reference/feature-toggles#tags) of the tag',
example: 'simple',
},
},
Expand Down
2 changes: 1 addition & 1 deletion src/lib/openapi/spec/update-feature-strategy-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const updateFeatureStrategySchema = {
$ref: '#/components/schemas/constraintSchema',
},
description:
'A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints',
'A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints',
},
title: {
type: 'string',
Expand Down
2 changes: 1 addition & 1 deletion src/lib/openapi/util/openapi-tags.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ const OPENAPI_TAGS = [
{
name: 'Tags',
description:
'Create, update, and delete [tags and tag types](https://docs.getunleash.io/reference/tags).',
'Create, update, and delete [tags and tag types](https://docs.getunleash.io/reference/feature-toggles#tags).',
},
{
name: 'Telemetry',
Expand Down
2 changes: 1 addition & 1 deletion src/lib/routes/admin-api/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export class ContextController extends Controller {
tags: ['Context'],
summary: 'Gets configured context fields',
description:
'Returns all configured [Context fields](https://docs.getunleash.io/how-to/how-to-define-custom-context-fields) that have been created.',
'Returns all configured [Context fields](https://docs.getunleash.io/reference/unleash-context) that have been created.',
operationId: 'getContextFields',
responses: {
200: createResponseSchema('contextFieldsSchema'),
Expand Down
4 changes: 2 additions & 2 deletions website/docs/feature-flag-tutorials/django/django-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Unleash has a few ways to help manage canary deployments for Django apps at scal

- Using a [gradual rollout](/reference/activation-strategies#gradual-rollout) (which we [implemented in a previous section](#gradual-rollouts-for-python-apps)) would be a simple use case but would reduce the amount of control you have over who gets the new feature.

- Using either [constraints](/reference/strategy-constraints) or [segments](/reference/segments) (which are a collection of constraints) for a subset of your users to get the new feature vs. the old feature, for _more_ control than a gradual rollout
- Using either [constraints](/reference/activation-strategies#constraints) or [segments](/reference/segments) (which are a collection of constraints) for a subset of your users to get the new feature vs. the old feature, for _more_ control than a gradual rollout

- [Strategy variants](/reference/strategy-variants) are used to do the same canary deployment, but can be scaled to more _advanced_ cases. For example, if you have 2+ new features and are testing to see if they are better than the old one, you can use variants to split your population of users and conduct an A/B test with them.

Expand Down Expand Up @@ -178,7 +178,7 @@ print(response.text)
Check out our [API docs on updating flag strategies](/reference/api/unleash/update-feature-strategy) to learn more.

Read our documentation for more context on [strategy constraint configurations](/reference/strategy-constraints) and use cases.
Read our documentation for more context on [strategy constraint configurations](/reference/activation-strategies#constraints) and use cases.

## Server-side A/B Testing in Django

Expand Down
4 changes: 2 additions & 2 deletions website/docs/feature-flag-tutorials/dotnet/dotnet-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Unleash has a few ways to help manage canary deployments for .NET apps at scale:

- Using a [gradual rollout](/reference/activation-strategies#gradual-rollout) (which we [implemented in a previous section](#gradual-rollouts-for-net-apps)) would be a simple use case but would reduce the amount of control you have over who gets the new feature.

- Using either [constraints](/reference/strategy-constraints) or [segments](/reference/segments) (which are a collection of constraints) for a subset of your users to get the new feature vs. the old feature, for _more_ control than a gradual rollout
- Using either [constraints](/reference/activation-strategies#constraints) or [segments](/reference/segments) (which are a collection of constraints) for a subset of your users to get the new feature vs. the old feature, for _more_ control than a gradual rollout

- [Strategy variants](/reference/strategy-variants) are used to do the same canary deployment, but can be scaled to more _advanced_ cases. For example, if you have 2+ new features and are testing to see if they are better than the old one, you can use variants to split your population of users and conduct an A/B test with them.

Expand Down Expand Up @@ -172,7 +172,7 @@ Console.WriteLine(responseBody);
Check out our [API docs on updating flag strategies](/reference/api/unleash/update-feature-strategy) to learn more.

Read our documentation for more context on [strategy constraint configurations](/reference/strategy-constraints) and use cases.
Read our documentation for more context on [strategy constraint configurations](/reference/activation-strategies#constraints) and use cases.

## Server-side A/B Testing in .NET

Expand Down
4 changes: 2 additions & 2 deletions website/docs/feature-flag-tutorials/ios/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Unleash has a few ways to help manage canary deployments for iOS apps at scale:

- Using a [gradual rollout](/reference/activation-strategies#gradual-rollout) (which we [implemented in a previous section](#gradual-rollouts-for-ios-apps)) would be a simple use case but would reduce the amount of control you have over who gets the new feature.

- Using either [constraints](/reference/strategy-constraints) or [segments](/reference/segments) (which are a collection of constraints) for a subset of your users to get the new feature vs. the old feature, for _more_ control than a gradual rollout
- Using either [constraints](/reference/activation-strategies#constraints) or [segments](/reference/segments) (which are a collection of constraints) for a subset of your users to get the new feature vs. the old feature, for _more_ control than a gradual rollout

- [Strategy variants](/reference/strategy-variants) are used to do the same canary deployment, but can be scaled to more _advanced_ cases. For example, if you have 2+ new features and are testing to see if they are better than the old one, you can use variants to split your population of users and conduct an A/B test with them.

Expand Down Expand Up @@ -143,7 +143,7 @@ curl --location --request PUT 'http://localhost:4242/api/admin/projects/default/
}'
```

Read our documentation for more context on the robustness of [strategy constraint configurations](/reference/strategy-constraints) and use cases.
Read our documentation for more context on the robustness of [strategy constraint configurations](/reference/activation-strategies#constraints) and use cases.

## A/B Testing in iOS

Expand Down
Loading

0 comments on commit 311df82

Please sign in to comment.