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

Strategy docs updates #8711

Merged
merged 26 commits into from
Dec 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b697af5
Reorganize navigation to group together related concepts
melindafekete Nov 11, 2024
a9aa0bd
Move deprecated strategy types to a hidden page
melindafekete Nov 13, 2024
491dae2
Initial restructuring, and first bits of docs updates
melindafekete Nov 15, 2024
1bdd7af
Fix broken links
melindafekete Nov 18, 2024
bf2e404
Fix linting errors
melindafekete Nov 18, 2024
88e0a79
Fix broken links
melindafekete Nov 18, 2024
c17db68
Fix broken links
melindafekete Nov 18, 2024
ccac475
Add deprecations for custom activation strategies
melindafekete Nov 18, 2024
05e63ea
More tweaks to activation strategies
melindafekete Nov 18, 2024
a36ceb4
Updaye image, fix typos and broken links
melindafekete Nov 19, 2024
d043acb
Variants rewrite
melindafekete Nov 19, 2024
812efa2
Tweak navigation
melindafekete Nov 28, 2024
efb1ab4
Fix some typos and redirects
melindafekete Nov 28, 2024
f036a4e
Add redirect for custom strategy how to guide
melindafekete Nov 28, 2024
e0b9570
Reorganize items in nav
melindafekete Nov 29, 2024
51c27e2
Reorganize chapters
melindafekete Nov 29, 2024
1261628
Remove tags page, reorganize navigation
melindafekete Dec 2, 2024
031f544
Add new events
melindafekete Dec 4, 2024
ec43f04
Merge branch 'main' into melinda/strategy-docs-update
melindafekete Dec 4, 2024
126f5cd
Fix broken links
melindafekete Dec 4, 2024
a13afab
Fix typso and links
melindafekete Dec 5, 2024
bb0f79a
Fix broken links
melindafekete Dec 5, 2024
3f884f8
Revert changes to Orval-generated files
melindafekete Dec 6, 2024
67683cf
Fix two more orval-generated files
melindafekete Dec 6, 2024
ffae788
Fix another orval-generated file
melindafekete Dec 6, 2024
455aa4b
Apply suggestions from code review
melindafekete Dec 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -62,7 +62,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
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
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
Loading