1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-11-24 20:06:55 +01:00

update language-specific guides

This commit is contained in:
melindafekete 2025-11-24 17:34:10 +01:00
parent 8283443523
commit bf8110c49b
No known key found for this signature in database
53 changed files with 390 additions and 145 deletions

View File

@ -69,18 +69,18 @@ Learn more:
Step-by-step examples for React, Java, Python, and other SDKs show you how to connect, configure, and evaluate feature flags in real applications.
**Frontend SDKs**
- [React](/feature-flag-tutorials/react)
- [JavaScript](/feature-flag-tutorials/javascript)
- [Next.js](/feature-flag-tutorials/nextjs)
- [SvelteKit](/feature-flag-tutorials/sveltekit)
- [Flutter](/feature-flag-tutorials/flutter/a-b-testing)
- [iOS](/feature-flag-tutorials/ios)
- [React](/guides/implement-feature-flags-in-react)
- [JavaScript](/guides/implement-feature-flags-in-javascript)
- [Next.js](/guides/implement-feature-flags-in-nextjs)
- [SvelteKit](/guides/implement-feature-flags-in-sveltekit)
- [Flutter](/guides/implement-ab-test-in-flutter)
- [iOS](/guides/implement-feature-flags-in-ios)
**Backend SDKs**
- [Java](/feature-flag-tutorials/java)
- [Python](/feature-flag-tutorials/python)
- [Go](/feature-flag-tutorials/go)
- [.NET](/feature-flag-tutorials/dotnet)
- [Ruby](/feature-flag-tutorials/ruby)
- [Rust](/feature-flag-tutorials/rust)
- [Serverless](/feature-flag-tutorials/serverless/lambda)
- [Java](/guides/implement-feature-flags-in-java)
- [Python](/guides/implement-feature-flags-in-python)
- [Go](/guides/implement-feature-flags-in-golang)
- [.NET](/guides/implement-feature-flags-in-dotnet)
- [Ruby](/guides/implement-feature-flags-in-ruby)
- [Rust](/guides/implement-feature-flags-in-rust)
- [Serverless](/guides/implement-feature-flags-in-aws-lambda)

View File

@ -128,5 +128,5 @@ For examples that show how to connect to Unleash in other programming languages,
You have successfully connected Unleash to your application. To continue exploring, see the following resources:
- **Core concepts**: Learn about the [Unleash architecture](/get-started/unleash-overview), available [hosting options](/deploy/hosting-options), and other [reference documentation](/reference/projects).
- **Developer guides**: Explore feature flag [best practices](/guides/feature-flag-best-practices) and [language-specific tutorials](/feature-flag-tutorials/react).
- **Developer guides**: Explore feature flag [best practices](/guides/feature-flag-best-practices) and [language-specific tutorials](/guides/implement-feature-flags-in-react).
- **Join the community**: Have questions or feedback? Join the [Unleash community on Slack](https://slack.unleash.run) to connect with other developers and the Unleash team.

View File

@ -136,7 +136,7 @@ The output from the impression data in your app may look like this code snippet:
}
```
In order to capture impression events in your app, follow our [language and framework-specific tutorials](/feature-flag-tutorials/react).
In order to capture impression events in your app, follow our [language and framework-specific tutorials](/guides/implement-feature-flags-in-react).
Now that your application is capturing impression events, you can configure the correct data fields and formatting to send to any analytics tool or data warehouse you use.

View File

@ -1,9 +1,9 @@
---
title: Django Feature Flag Examples
slug: /feature-flag-tutorials/django/examples
slug: /guides/feature-flag-examples-django
---
In our [Django feature flag tutorial](/feature-flag-tutorials/django), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in Django with some of those more advanced use cases in mind.
In our [Django feature flag tutorial](/guides/implement-feature-flags-in-django), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in Django with some of those more advanced use cases in mind.
We built multiple features into Unleash, an open-source feature flag platform, to address the complexities of releasing code and managing feature flags along the way. This tutorial will explore the following:
@ -186,7 +186,7 @@ A/B testing is a common way for teams to test out how users interact with two or
When a feature flag is enabled, we can expose a particular version of a feature to select user bases. From there, we can use the variants to view the performance metrics in Unleash and see which is more efficient.
In the context of our [Python tutorial](/feature-flag-tutorials/python), lets say we want to test a new variation of the flag for deleting surveys. In this new variation, we want the UI to remain the samea delete button that removes a surveybut server-side, wed like to store the deleted surveys in a new database model so they can be restored if a user decides to.
In the context of our [Python tutorial](/guides/implement-feature-flags-in-python), lets say we want to test a new variation of the flag for deleting surveys. In this new variation, we want the UI to remain the samea delete button that removes a surveybut server-side, wed like to store the deleted surveys in a new database model so they can be restored if a user decides to.
While we wont implement all the functionality required to save and restore deleted surveys in this example, we can walk through how to set up variants and where the server-side changes would take place in the Python app.
@ -326,7 +326,7 @@ You can find more information in our [impression data docs](/reference/impressio
## Application Metrics and Monitoring for Django
Under your feature flags Metrics tab in Unleash, you can see the general activity of the [Flask Surveys Container App](/feature-flag-tutorials/python) tutorial in the development environment over different periods of time. If the app had a production environment enabled, we would also be able to view exposure (amount of users that are exposed to the flag by count and overall percentage) and requests the app is receiving over time.
Under your feature flags Metrics tab in Unleash, you can see the general activity of the [Flask Surveys Container App](/guides/implement-feature-flags-in-python) tutorial in the development environment over different periods of time. If the app had a production environment enabled, we would also be able to view exposure (amount of users that are exposed to the flag by count and overall percentage) and requests the app is receiving over time.
![A Metrics graph provides the visualization of your flag being exposed in your environments for your connected application.](/img/python-ex-metrics.png)

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in Django
description: "How to use Unleash feature flags with Django."
slug: /feature-flag-tutorials/django
slug: /guides/implement-feature-flags-in-django
---
Hello! In this tutorial, well show you how to add feature flags to your Django app, using [Unleash](https://www.getunleash.io/) and the official [Unleash Python SDK](/reference/sdks/python). With Unleash, an open-source feature flag service, you can use our tooling to add feature flags to your application and release new features faster.
@ -16,7 +16,7 @@ For this tutorial, you'll need the following:
- Git
- Docker and Docker Compose
![architecture diagram for our implementation](../rails/diagram.png)
![architecture diagram for our implementation](/img/rails-guide-diagram.png)
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. For backend applications or automated scripts, Unleash exposes an [API](/get-started/api-overview) defined by an OpenAPI specification, allowing you to perform these actions programmatically.
@ -43,11 +43,11 @@ Password: unleash4all
Click the 'New feature flag' button to create a new feature flag.
![Create a new feature flag](../ruby/new-ff.png)
![Create a new feature flag](/img/ruby-guide-new-ff.png)
Call it `top-3` and enable it in the `development` environment.
![A feature flag called `top-3` is now visible.](../rails/enable-ff.png)
![A feature flag called `top-3` is now visible.](/img/rails-guide-enable-ff.png)
Everything's now set up on the Unleash side. Let's set up the Django application.
@ -84,7 +84,7 @@ python manage.py runserver
Go to [http://localhost:8000](http://localhost:8000) and check that you see the following:
![A blog app with a list of posts](../rails/blog-app.png)
![A blog app with a list of posts](/img/rails-guide-blog-app.png)
## 3. Restrict the number of posts

View File

@ -1,9 +1,9 @@
---
title: .NET Feature Flag Examples
slug: /feature-flag-tutorials/dotnet/examples
slug: /guides/feature-flag-examples-dotnet
---
In our [.NET feature flag tutorial](/feature-flag-tutorials/dotnet), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in .NET.
In our [.NET feature flag tutorial](/guides/implement-feature-flags-in-dotnet), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in .NET.
We built many features into Unleash, our open-source feature flag platform, to address the complexities of releasing code. This tutorial will explore the following:
@ -182,7 +182,7 @@ When a feature flag is enabled, we can expose a particular version of a feature
In Unleash, navigate go to a feature flag, then click on an environment to open your strategy.
![Open the strategy menu](../ruby/strategy.png)
![Open the strategy menu](/img/ruby-guide-strategy.png)
Click Edit Strategy'
@ -190,7 +190,7 @@ Click Edit Strategy'
Only enable your flag for 50% of users.
![The slider that controls the graduality of the rollout is set to 50%](../ruby/50-gradual.png)
![The slider that controls the graduality of the rollout is set to 50%](/img/ruby-guide-50-gradual.png)
Alternatively, you can do that with a `PUT` request in .NET using our API:
@ -244,13 +244,13 @@ Lets walk through how to enable impression data for a feature flag.
At the flag level in Unleash, navigate to the Settings view.
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](../ruby/flag-settings.png)
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](/img/ruby-guide-flag-settings.png)
In the Settings view, there's an edit button with pencil icon. This will take us to the Edit Feature flag form.
Turn on the impression data and then save it. Events will now be emitted every time the feature flag is triggered.
![There is a flag that turns on the impression data events in your flag form.](../ruby/enable-impression-data.png)
![There is a flag that turns on the impression data events in your flag form.](/img/ruby-guide-enable-impression-data.png)
You can also use our API command to enable the impression data:
@ -318,7 +318,7 @@ You can view [Event Log](/reference/events#event-log) to monitor the changes to
- How the gradual rollout strategy was configured
- When and how the variants were created and configured
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](../ruby/event-logs.png)
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](/img/ruby-guide-event-logs.png)
You can also retrieve events by using an API command, like below:

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in .NET
description: "How to use Unleash feature flags with .NET."
slug: /feature-flag-tutorials/dotnet
slug: /guides/implement-feature-flags-in-dotnet
---
Hello! In this tutorial well show you how to add feature flags to your .NET app, using [Unleash](https://www.getunleash.io/) and the official [Unleash .NET SDK](/reference/sdks/dotnet). With Unleash, an open-source feature management service, you can use our tooling to add feature flags to your application and release new features faster.
@ -22,7 +22,7 @@ For this tutorial, youll need the following:
- Git
- Docker and Docker Compose
![architecture diagram for our implementation](./diagram.png)
![architecture diagram for our implementation](/img/dotnet-guide-diagram.png)
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/get-started/api-overview) to perform the same actions straight from your CLI or app.
@ -49,11 +49,11 @@ Password: unleash4all
Click the New feature flag button to create a new feature flag.
![Create a new feature flag](../ruby/new-ff.png)
![Create a new feature flag](/img/ruby-guide-new-ff.png)
Call it `graphql-api` and enable it in the `development` environment.
![A feature flag called `graphql-api` is now visible.](../ruby/enable-ff.png)
![A feature flag called `graphql-api` is now visible.](/img/ruby-guide-enable-ff.png)
Next, generate an API token to authenticate calls made to Unleash servers from your project.
@ -281,7 +281,7 @@ Now that weve connected our project to Unleash and grabbed our feature flag,
> **Note:** An update to a feature flag may take 30 seconds to propagate.
![A feature flag called `graphql-api` is now disabled](../ruby/graphql-ff.png)
![A feature flag called `graphql-api` is now disabled](/img/ruby-guide-graphql-ff.png)
## Conclusion
@ -292,6 +292,6 @@ All done! Now you know how to add feature flags with Unleash in .NET. Youve l
- Initialise the Unleash client as part of your web api's services
- Grab the value of a feature flag with the .NET SDK
Feel free to checkout our [.NET Examples docs](/feature-flag-tutorials/dotnet/examples) for more use-cases.
Feel free to checkout our [.NET Examples docs](/guides/feature-flag-examples-dotnet) for more use-cases.
Thank you

View File

@ -1,6 +1,6 @@
---
title: A/B Testing in Flutter using Unleash and Mixpanel
slug: "/feature-flag-tutorials/flutter/a-b-testing"
slug: /guides/implement-ab-test-in-flutter
---
:::note

View File

@ -1,9 +1,9 @@
---
title: Go feature flag examples
slug: /feature-flag-tutorials/golang/examples
slug: /guides/feature-flag-examples-golang
---
In our [Go feature flag tutorial](/feature-flag-tutorials/go), we implemented a simple feature flag that could be turned on and off. This document will walk you through other examples of what can be achieved using feature flags in Go.
In our [Go feature flag tutorial](/guides/implement-feature-flags-in-golang), we implemented a simple feature flag that could be turned on and off. This document will walk you through other examples of what can be achieved using feature flags in Go.
We built many features into Unleash, our open-source feature flag platform, to address the complexities of releasing code.

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in Go
description: "How to use Unleash feature flags with Go."
slug: /feature-flag-tutorials/go
slug: /guides/implement-feature-flags-in-golang
---
import VideoContent from '@site/src/components/VideoContent.jsx';
@ -19,7 +19,7 @@ For this tutorial, you'll need the following:
- Docker and Docker Compose
- Go Modules, to manage your dependencies
![architecture diagram for our implementation](./diagram.png)
![architecture diagram for our implementation](/img/golang-guide-diagram.png)
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. You can perform the same actions straight from your CLI or server-side app using the [Unleash API](/get-started/api-overview).
@ -276,6 +276,6 @@ All done! Now you know how to add feature flags with Unleash in Go. You've learn
- Install Unleash and create/enable a feature flag
- Grab the value of a feature flag with the Go SDK
Feel free to have a look at our [Go Examples page](/feature-flag-tutorials/golang/examples) for more.
Feel free to have a look at our [Go Examples page](/guides/feature-flag-examples-golang) for more.
Thank you

View File

@ -1,9 +1,9 @@
---
title: iOS Feature Flag Examples
slug: /feature-flag-tutorials/ios/examples
slug: /guides/feature-flag-examples-ios
---
In our [iOS feature flag tutorial](/feature-flag-tutorials/ios), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk through some common examples of using feature flags in iOS Swift with some of those more advanced use cases in mind.
In our [iOS feature flag tutorial](/guides/implement-feature-flags-in-ios), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk through some common examples of using feature flags in iOS Swift with some of those more advanced use cases in mind.
We built multiple features into Unleash, an open-source feature flag platform, to address the complexities of releasing code and managing feature flags along the way. This tutorial will explore the following:
@ -19,7 +19,7 @@ We built multiple features into Unleash, an open-source feature flag platform, t
Its common to use feature flags to roll out changes to a percentage of users. Flags allow you to monitor your application and infrastructure for undesired behavior (such as errors, memory bottlenecks, etc.) and to see if the changes improve the outcomes for your application (to increase sales, reduce support requests, etc.)
Doing a gradual rollout for a iOS-based application with Unleash is very straightforward. To see this in action, follow our [How to Implement Feature Flags in iOS](/feature-flag-tutorials/ios) tutorial.
Doing a gradual rollout for a iOS-based application with Unleash is very straightforward. To see this in action, follow our [How to Implement Feature Flags in iOS](/guides/implement-feature-flags-in-ios) tutorial.
Once you have completed the tutorial, you can modify the basic setup to adjust the percentage of users who experience this feature with a gradual rollout. The experience that the user is exposed to is cached for consistency.

View File

@ -1,6 +1,6 @@
---
title: How to Implement Feature Flags in iOS
slug: /feature-flag-tutorials/ios
slug: /guides/implement-feature-flags-in-ios
---
iOS is a mobile operating system developed by Apple for their mostly used mobile device: the iPhone. [Swift](https://www.swift.org/) is a programming language designed for Apple iOS devices. Unleash offers an [iOS SDK](/reference/sdks/ios) for connecting SwiftUI with your iOS application to use feature flags. We will be using the open-source iOS Swift project called [Open Meteo](https://github.com/ighiba/open-meteo)!
@ -204,4 +204,4 @@ Next, return to your app and rebuild the project. With the flag disabled, the fl
In this tutorial, we ran Unleash locally, created a new feature flag, installed the iOS SDK into an iOS app, and logged a feature flag status.
Explore some [more advanced uses cases in our iOS Examples](/feature-flag-tutorials/ios/examples)
Explore some [more advanced uses cases in our iOS Examples](/guides/feature-flag-examples-ios)

View File

@ -1,6 +1,6 @@
---
title: How to Implement Feature Flags in Java
slug: /feature-flag-tutorials/java
slug: /guides/implement-feature-flags-in-java
---
import VideoContent from '@site/src/components/VideoContent.jsx';

View File

@ -1,9 +1,9 @@
---
title: Java Spring Boot Feature Flag Examples
slug: /feature-flag-tutorials/spring-boot/examples
slug: /guides/feature-flag-examples-spring-boot
---
In our [Java Spring Boot feature flag tutorial](/feature-flag-tutorials/spring-boot), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in Java Spring Boot with some of those more advanced use cases in mind.
In our [Java Spring Boot feature flag tutorial](/guides/implement-feature-flags-in-spring-boot), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in Java Spring Boot with some of those more advanced use cases in mind.
We built multiple features into Unleash, an open-source feature flag platform, to address the complexities of releasing code and managing feature flags along the way. This tutorial will explore the following:

View File

@ -1,6 +1,6 @@
---
title: How to Implement Feature Flags in Java Spring Boot
slug: /feature-flag-tutorials/spring-boot
slug: /guides/implement-feature-flags-in-spring-boot
---
import VideoContent from '@site/src/components/VideoContent.jsx';
@ -376,4 +376,4 @@ The message rendering in the browser confirms that the app is now targeting the
In this tutorial, we created a new feature flag in Unleash and built a new page in the Spring Pet Clinic app. From there, we created two service implementations within the app for the new page and toggled between them with the feature flag. The Unleash Spring Boot SDK gave us the proper annotations to automatically toggle between the two implementations with minimal configuration.
Continue on to our [Spring Boot examples documentation](/feature-flag-tutorials/spring-boot/examples) for more advanced use cases of feature flags in Java Spring Boot using the Spring PetClinic app!
Continue on to our [Spring Boot examples documentation](/guides/feature-flag-examples-spring-boot) for more advanced use cases of feature flags in Java Spring Boot using the Spring PetClinic app!

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in JavaScript
description: "How to use Unleash feature flags with plain JavaScript."
slug: /feature-flag-tutorials/javascript
slug: /guides/implement-feature-flags-in-javascript
---
import VideoContent from '@site/src/components/VideoContent.jsx';
@ -17,7 +17,7 @@ For this tutorial, you'll need the following:
- Docker and Docker Compose
- A browser or IDE; you can also use [CodeSandbox](https://codesandbox.io/docs/learn)
![architecture diagram for our implementation](./diagram.png)
![architecture diagram for our implementation](/img/javascript-guide-diagram.png)
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. In this example, we'll set up a script to make requests to Unleash using the Unleash SDK and show/hide a DOM element based on the flag data we receive.
@ -104,7 +104,7 @@ In the `index.html` file, add the following:
Open the file in your browser, you'll see something like this:
![A non-functional website with only a button and a notice box](./template.png)
![A non-functional website with only a button and a notice box](/img/javascript-guide-template.png)
## Fetch images from the API
@ -154,7 +154,7 @@ start();
Refresh your browser again. Our website is now functional.
![Our mini corgi website](./corgi-site.png)
![Our mini corgi website](/img/javascript-guide-corgi-site.png)
## 5. Add Unleash to your website

View File

@ -1,6 +1,6 @@
---
title: How to Implement Feature Flags in Next.js using Unleash
slug: /feature-flag-tutorials/nextjs
slug: /guides/implement-feature-flags-in-nextjs
---
:::note

View File

@ -1,9 +1,9 @@
---
title: Python Feature Flag Examples
slug: /feature-flag-tutorials/python/examples
slug: /guides/feature-flag-examples-python
---
In our [Python feature flag tutorial](/feature-flag-tutorials/python), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in Python with some of those more advanced use cases in mind.
In our [Python feature flag tutorial](/guides/implement-feature-flags-in-python), we implemented a simple feature flag that could be turned on and off. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in Python with some of those more advanced use cases in mind.
We built multiple features into Unleash, an open-source feature flag platform, to address the complexities of releasing code and managing feature flags along the way. This tutorial will explore the following:
@ -185,7 +185,7 @@ A/B testing is a common way for teams to test out how users interact with two or
When a feature flag is enabled, we can expose a particular version of a feature to select user bases. From there, we can use the variants to view the performance metrics in Unleash and see which is more efficient.
In the context of our [Python tutorial](/feature-flag-tutorials/python), lets say we want to test a new variation of the flag for deleting surveys. In this new variation, we want the UI to remain the samea delete button that removes a surveybut server-side, wed like to store the deleted surveys in a new database model so they can be restored if a user decides to.
In the context of our [Python tutorial](/guides/implement-feature-flags-in-python), lets say we want to test a new variation of the flag for deleting surveys. In this new variation, we want the UI to remain the samea delete button that removes a surveybut server-side, wed like to store the deleted surveys in a new database model so they can be restored if a user decides to.
While we wont implement all the functionality required to save and restore deleted surveys in this example, we can walk through how to set up variants and where the server-side changes would take place in the Python app.
@ -325,7 +325,7 @@ You can find more information in our [impression data docs](/reference/impressio
## Application Metrics & Monitoring for Python
Under your feature flags Metrics tab in Unleash, you can see the general activity of the [Flask Surveys Container App](/feature-flag-tutorials/python) tutorial in the development environment over different periods of time. If the app had a production environment enabled, we would also be able to view exposure (amount of users that are exposed to the flag by count and overall percentage) and requests the app is receiving over time.
Under your feature flags Metrics tab in Unleash, you can see the general activity of the [Flask Surveys Container App](/guides/implement-feature-flags-in-python) tutorial in the development environment over different periods of time. If the app had a production environment enabled, we would also be able to view exposure (amount of users that are exposed to the flag by count and overall percentage) and requests the app is receiving over time.
![A Metrics graph provides the visualization of your flag being exposed in your environments for your connected application.](/img/python-ex-metrics.png)

View File

@ -1,6 +1,6 @@
---
title: How to Implement Feature Flags in Python
slug: /feature-flag-tutorials/python
slug: /guides/implement-feature-flags-in-python
---
import VideoContent from '@site/src/components/VideoContent.jsx';
@ -281,4 +281,4 @@ Next, return to your Survey app and refresh the browser. With the flag disabled,
In this tutorial, we ran Unleash locally, created a new feature flag, installed the Python SDK into a Python Flask app, and toggled new functionality that altered a database with a containerized project!
Continue to our [Python Examples docs](/feature-flag-tutorials/python/examples) for more advanced applications of feature flags in Python using our Flask Surveys Containers App!
Continue to our [Python Examples docs](/guides/feature-flag-examples-python) for more advanced applications of feature flags in Python using our Flask Surveys Containers App!

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in Rails
description: "How to use Unleash feature flags with Rails."
slug: /feature-flag-tutorials/rails
slug: /guides/implement-feature-flags-in-rails
---
Hello! In this tutorial, well show you how to add feature flags to your Ruby on Rails app, using [Unleash](https://www.getunleash.io/) and the official [Unleash Ruby SDK](/reference/sdks/ruby). With Unleash, an open-source feature flag service, you can use our tooling to add feature flags to your application and release new features faster.
@ -28,7 +28,7 @@ For this tutorial, youll need the following:
- Git
- Docker and Docker Compose
![architecture diagram for our implementation](./diagram.png)
![architecture diagram for our implementation](/img/rails-guide-diagram.png)
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/get-started/api-overview) to perform the same actions straight from your CLI or server-side app.
@ -67,11 +67,11 @@ Password: unleash4all
Click the New feature flag button to create a new feature flag.
![Create a new feature flag](../ruby/new-ff.png)
![Create a new feature flag](/img/ruby-guide-new-ff.png)
Call it `top-3` and enable it in the `development` environment.
![A feature flag called `top-3` is now visible.](./enable-ff.png)
![A feature flag called `top-3` is now visible.](/img/rails-guide-enable-ff.png)
Everythings now set up on the Unleash side. Lets set up the Rails application.
@ -114,7 +114,7 @@ rails server
Go to [http://localhost:3000](http://localhost:3000) and check that you see the following:
![A blog app with a list of posts](./blog-app.png)
![A blog app with a list of posts](/img/rails-guide-blog-app.png)
## 4. Restrict the number of posts

View File

@ -1,9 +1,9 @@
---
title: Rails Feature Flag Examples
slug: /feature-flag-tutorials/rails/examples
slug: /guides/feature-flag-examples-rails
---
In our [Rails feature flag tutorial](/feature-flag-tutorials/rails), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in Rails.
In our [Rails feature flag tutorial](/guides/implement-feature-flags-in-rails), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in Rails.
We built many features into Unleash, our open-source feature flag platform, to address the complexities of releasing code. This tutorial will explore the following:
@ -181,7 +181,7 @@ When a feature flag is enabled, we can expose a particular version of a feature
In Unleash, navigate go to a feature flag, then click on an environment to open your strategy.
![Open the strategy menu](../ruby/strategy.png)
![Open the strategy menu](/img/ruby-guide-strategy.png)
Click Edit Strategy'
@ -189,7 +189,7 @@ Click Edit Strategy'
Only enable your flag for 50% of users.
![The slider that controls the graduality of the rollout is set to 50%](../ruby/50-gradual.png)
![The slider that controls the graduality of the rollout is set to 50%](/img/ruby-guide-50-gradual.png)
Alternatively, you can do that with a `PUT` request in Ruby using our API:
@ -243,13 +243,13 @@ Lets walk through how to enable impression data for a feature flag.
At the flag level in Unleash, navigate to the Settings view.
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](../ruby/flag-settings.png)
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](/img/ruby-guide-flag-settings.png)
In the Settings view, there's an edit button with pencil icon. This will take us to the Edit Feature flag form.
Turn on the impression data and then save it. Events will now be emitted every time the feature flag is triggered.
![There is a flag that turns on the impression data events in your flag form.](../ruby/enable-impression-data.png)
![There is a flag that turns on the impression data events in your flag form.](/img/ruby-guide-enable-impression-data.png)
You can also use our API command to enable the impression data:
@ -315,7 +315,7 @@ You can view events in [Event Log](/reference/events#event-log) to monitor the c
- How the gradual rollout strategy was configured
- When and how the variants were created and configured
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](../ruby/event-logs.png)
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](/img/ruby-guide-event-logs.png)
You can also retrieve events by using an API command, like below:

View File

@ -1,9 +1,9 @@
---
title: React Feature Flag Examples
slug: /feature-flag-tutorials/react/examples
slug: /guides/feature-flag-examples-react
---
In our [React tutorial](/feature-flag-tutorials/react), we implemented a simple on/off feature flag. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in React with some of those more advanced use cases in mind.
In our [React tutorial](/guides/implement-feature-flags-in-react), we implemented a simple on/off feature flag. In the real world, many feature flag use cases have more nuance than this. This document will walk you through some common examples of using feature flags in React with some of those more advanced use cases in mind.
Applications evolve, and teams must manage all aspects of this evolution, including the flags used to control the application. We built multiple features into Unleash to address the complexities of releasing code and managing feature flags along the way:
@ -34,7 +34,7 @@ Applications evolve, and teams must manage all aspects of this evolution, includ
Its common to use feature flags to roll out changes to a percentage of users. Flags allow you to monitor your application and infrastructure for undesired behavior (such as errors, memory bottlenecks, etc.) and to see if the changes improve the outcomes for your application (to increase sales, reduce support requests, etc.)
Doing a gradual rollout for a React-based application with Unleash is very straightforward. To see this in action, follow our [How to Implement Feature Flags in React](/feature-flag-tutorials/react) tutorial, which implements a notification feature using feature flags.
Doing a gradual rollout for a React-based application with Unleash is very straightforward. To see this in action, follow our [How to Implement Feature Flags in React](/guides/implement-feature-flags-in-react) tutorial, which implements a notification feature using feature flags.
Once you have completed the tutorial, you can modify the basic setup to adjust the percentage of users who experience this feature with a gradual rollout. The experience that the user is exposed to is cached for consistency.
@ -172,7 +172,7 @@ We can expose a particular version of the feature to select user bases when a fl
We can create several variations of this feature to release to users and gather performance metrics to determine which one yields better results. While teams may have different goals for measuring performance, Unleash enables you to configure strategy for the feature variants within your application/service and the platform.
In the context of our [React tutorial](/feature-flag-tutorials/react), we have a notifications badge feature that displays in the top navigation menu. To implement feature flag variants for an A/B Test in React, we will set up a variant in the feature flag and use an announcement icon from Material UI to render a different version.
In the context of our [React tutorial](/guides/implement-feature-flags-in-react), we have a notifications badge feature that displays in the top navigation menu. To implement feature flag variants for an A/B Test in React, we will set up a variant in the feature flag and use an announcement icon from Material UI to render a different version.
In Unleash, navigate to the feature flags Variants tab and add a variant.
@ -376,7 +376,7 @@ Now that the application is capturing impression events, you can configure the c
### Application Metrics & Monitoring
Under the Metrics tab, you can see the general activity of the [Cypress Real World App from our React tutorial](/feature-flag-tutorials/react) in the development environment over different periods of time. If the app had a production environment enabled, we would also be able to view the amount of exposure and requests the app is receiving over time.
Under the Metrics tab, you can see the general activity of the [Cypress Real World App from our React tutorial](/guides/implement-feature-flags-in-react) in the development environment over different periods of time. If the app had a production environment enabled, we would also be able to view the amount of exposure and requests the app is receiving over time.
![We have a Metrics graph in Unleash to review flag exposure and request rates.](/img/react-ex-metrics.png)

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in React
slug: /feature-flag-tutorials/react
pagination_next: feature-flag-tutorials/react/examples
slug: /guides/implement-feature-flags-in-react
pagination_next: guides/language-specific-tutorials/react/examples
---
import VideoContent from '@site/src/components/VideoContent.jsx';
@ -253,4 +253,4 @@ You've successfully implemented a feature flag using best practices to control t
In this tutorial, we installed Unleash locally, created a new feature flag, installed Unleash into a React app, and toggled the visibility of a notifications feature within a [real world open source project](https://github.com/cypress-io/cypress-realworld-app)!
Explore some [more advanced uses cases in our React Examples](/feature-flag-tutorials/react/examples)
Explore some [more advanced uses cases in our React Examples](/guides/feature-flag-examples-react)

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in Ruby
description: "How to use Unleash feature flags with Ruby."
slug: /feature-flag-tutorials/ruby
slug: /guides/implement-feature-flags-in-ruby
---
import VideoContent from '@site/src/components/VideoContent.jsx';
@ -33,7 +33,7 @@ For this tutorial, youll need the following:
- Docker and Docker Compose
- (Optional) Bundler, to manage your gemfile
![architecture diagram for our implementation](./diagram.png)
![architecture diagram for our implementation](/img/ruby-guide-diagram.png)
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/get-started/api-overview) to perform the same actions straight from your CLI or server-side app.
@ -72,11 +72,11 @@ Password: unleash4all
Click the New feature flag button to create a new feature flag.
![Create a new feature flag](./new-ff.png)
![Create a new feature flag](/img/ruby-guide-new-ff.png)
Call it `graphql-api` and enable it in the `development` environment.
![A feature flag called `graphql-api` is now visible.](./enable-ff.png)
![A feature flag called `graphql-api` is now visible.](/img/ruby-guide-enable-ff.png)
Everythings now setup on the Unleash side. Lets go to the code now.
@ -225,7 +225,7 @@ Now that weve connected our project to Unleash and grabbed our feature flag,
> **Note:** An update to a feature flag may take 30 seconds to propagate.
![A feature flag called `graphql-api` is now disabled](./graphql-ff.png)
![A feature flag called `graphql-api` is now disabled](/img/ruby-guide-graphql-ff.png)
## Conclusion

View File

@ -1,9 +1,9 @@
---
title: Ruby Feature Flag Examples
slug: /feature-flag-tutorials/ruby/examples
slug: /guides/feature-flag-examples-ruby
---
In our [Ruby feature flag tutorial](/feature-flag-tutorials/ruby), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in Ruby.
In our [Ruby feature flag tutorial](/guides/implement-feature-flags-in-ruby), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in Ruby.
We built many features into Unleash, our open-source feature flag platform, to address the complexities of releasing code. This tutorial will explore the following:
@ -180,7 +180,7 @@ When a feature flag is enabled, we can expose a particular version of a feature
In Unleash, navigate go to a feature flag, then click on an environment to open your strategy.
![Open the strategy menu](./strategy.png)
![Open the strategy menu](/img/ruby-guide-strategy.png)
Click Edit Strategy'
@ -188,7 +188,7 @@ Click Edit Strategy'
Only enable your flag for 50% of users.
![The slider that controls the graduality of the rollout is set to 50%](./50-gradual.png)
![The slider that controls the graduality of the rollout is set to 50%](/img/ruby-guide-50-gradual.png)
Alternatively, you can do that with a `PUT` request in Ruby using our API:
@ -242,13 +242,13 @@ Lets walk through how to enable impression data for a feature flag.
At the flag level in Unleash, navigate to the Settings view.
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](./flag-settings.png)
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](/img/ruby-guide-flag-settings.png)
In the Settings view, there's an edit button with pencil icon. This will take us to the Edit Feature flag form.
Turn on the impression data and then save it. Events will now be emitted every time the feature flag is triggered.
![There is a flag that turns on the impression data events in your flag form.](./enable-impression-data.png)
![There is a flag that turns on the impression data events in your flag form.](/img/ruby-guide-enable-impression-data.png)
You can also use our API command to enable the impression data:
@ -314,7 +314,7 @@ You can view [Event Log](/reference/events#event-log) to monitor the changes to
- How the gradual rollout strategy was configured
- When and how the variants were created and configured
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](./event-logs.png)
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](/img/ruby-guide-event-logs.png)
You can also retrieve events by using an API command, like below:

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in Rust
description: "How to use Unleash feature flags with Rust."
slug: /feature-flag-tutorials/rust
slug: /guides/implement-feature-flags-in-rust
---
Hello! In this tutorial well show you how to add feature flags to your Rust app, using [Unleash](https://www.getunleash.io/) and the official [Unleash Rust SDK](/reference/sdks/rust). With Unleash, an open-source feature management service, you can add feature flags to your applications and release new features faster.
@ -24,7 +24,7 @@ For this tutorial, youll need the following:
- Git
- Docker and Docker Compose
![architecture diagram for our implementation](./diagram.png)
![architecture diagram for our implementation](/img/rust-guide-diagram.png)
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/get-started/api-overview) to perform the same actions straight from your CLI or app.
@ -51,11 +51,11 @@ Password: unleash4all
Click the New feature flag button to create a new feature flag.
![The "new feature flag" button is located on the project page](../ruby/new-ff.png)
![The "new feature flag" button is located on the project page](/img/ruby-guide-new-ff.png)
Call it `webp` and enable it in the `development` environment.
![A feature flag called `webp` is now visible.](./enable-ff.png)
![A feature flag called `webp` is now visible.](/img/rust-guide-enable-ff.png)
Next, generate an API token to authenticate calls made to Unleash servers from your project.
@ -99,9 +99,9 @@ cargo add image webp
We use the `image` and `webp` crates to convert images to JPEG and WebP, respectively. The `unleash_api_client` crate is used to communicate with the Unleash server. The `tokio` crate will be used to make this connection asynchronous.
Final step before we start coding: Download this image or add an image of your own to your folder. Call it "input.png." Make sure it's in the same folder as the rest of your cargo project.
Final step before we start coding: Download this image or add an image of your own to your folder. Call it "/img/rust-guide-input.png." Make sure it's in the same folder as the rest of your cargo project.
!["The Great Wave off Kanagawa" by Hokusai. A woodblock print of a cresting wave.](input.png)
!["The Great Wave off Kanagawa" by Hokusai. A woodblock print of a cresting wave.](/img/rust-guide-input.png)
Let's write some Rust code to convert the image to jpeg. We're relying on the `image` crate to read and convert the image file. We'll then use the feature flag that we just created to toggle the conversion to WebP rather than JPEG.
@ -118,7 +118,7 @@ fn main() -> Result<(), Box<dyn Error>> {
}
fn process_image() -> Result<(), Box<dyn Error>> {
let img = ImageReader::open("input.png")?.decode()?;
let img = ImageReader::open("/img/rust-guide-input.png")?.decode()?;
img.save_with_format("output.jpeg", image::ImageFormat::Jpeg)?;
Ok(())
@ -153,7 +153,7 @@ fn main() -> Result<(), Box<dyn Error>> {
}
fn process_image(is_webp: bool) -> Result<(), Box<dyn Error>> {
let img = ImageReader::open("input.png")?.decode()?;
let img = ImageReader::open("/img/rust-guide-input.png")?.decode()?;
if is_webp {
let webp_data = Encoder::from_image(&img)?.encode(0.75);
@ -175,7 +175,7 @@ cargo run
You should see another image named `output.webp` in your folder, alongside the `.jpeg` image. Make sure that all images are the same before continuing.
![Project directory containing the newly created `output.webp`](./webp-image-in-folder.png)
![Project directory containing the newly created `output.webp`](/img/rust-guide-webp-image-in-folder.png)
## 4. Add Unleash to your Rust app
@ -244,7 +244,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
}
fn process_image(is_webp: bool) -> Result<(), Box<dyn Error + Send + Sync>> {
let img = ImageReader::open("input.png")?.decode()?;
let img = ImageReader::open("/img/rust-guide-input.png")?.decode()?;
if is_webp {
let webp_data = Encoder::from_image(&img)?.encode(0.75);

View File

@ -1,9 +1,9 @@
---
title: Rust Feature Flag Examples
slug: /feature-flag-tutorials/rust/examples
slug: /guides/feature-flag-examples-rust
---
In our [Rust feature flag tutorial](/feature-flag-tutorials/rust), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in Rust with our SDK.
In our [Rust feature flag tutorial](/guides/implement-feature-flags-in-rust), we implemented a simple feature flag that could be turned on and off. This document will walk you through some common examples of using feature flags in Rust with our SDK.
We built many features into Unleash, our open-source feature flag platform, to address the complexities of releasing code. This tutorial will explore the following:
@ -219,7 +219,7 @@ When a feature flag is enabled, we can expose a particular version of a feature
In Unleash, navigate go to a feature flag, then click on an environment to open your strategy.
![Open the strategy menu](../ruby/strategy.png)
![Open the strategy menu](/img/ruby-guide-strategy.png)
Click Edit Strategy'
@ -227,7 +227,7 @@ Click Edit Strategy'
Only enable your flag for 50% of users.
![The slider that controls the graduality of the rollout is set to 50%](../ruby/50-gradual.png)
![The slider that controls the graduality of the rollout is set to 50%](/img/ruby-guide-50-gradual.png)
Alternatively, you can do that with a `PUT` request in Rust:
@ -296,13 +296,13 @@ Lets walk through how to enable impression data for a feature flag.
At the flag level in Unleash, navigate to the Settings view.
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](../ruby/flag-settings.png)
![From your flag page in Unleash, you go to Settings and edit the settings for your flag called 'feature information'.](/img/ruby-guide-flag-settings.png)
In the Settings view, there's an edit button with pencil icon. This will take us to the Edit Feature flag form.
Turn on the impression data and then save it. Events will now be emitted every time the feature flag is triggered.
![There is a flag that turns on the impression data events in your flag form.](../ruby/enable-impression-data.png)
![There is a flag that turns on the impression data events in your flag form.](/img/ruby-guide-enable-impression-data.png)
You can also use our API command to enable the impression data:
@ -378,7 +378,7 @@ You can view events in [Event Log](/reference/events#event-log) to monitor the c
- How the gradual rollout strategy was configured
- When and how the variants were created and configured
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](../ruby/event-logs.png)
![Event Log in Unleash tracks every single change made to flags, similar to Git commit history.](/img/ruby-guide-event-logs.png)
You can also retrieve events by using an API command, like below:

View File

@ -1,7 +1,7 @@
---
title: 'Serverless feature flags: How to'
description: 'Use the Unleash Node.js SDK with AWS Lambda to implement feature flags in a serverless environment.'
slug: /feature-flag-tutorials/serverless/lambda
slug: /guides/implement-feature-flags-in-aws-lambda
---
Developers can add feature flagging capabilities to serverless functions and validate new parts of them. Leveraging feature flags gives you complete control over feature exposure and simplifies serverless function versioning management.

View File

@ -1,7 +1,7 @@
---
title: How to Implement Feature Flags in SvelteKit
description: "How to use Unleash feature flags with SvelteKit."
slug: /feature-flag-tutorials/sveltekit
slug: /guides/implement-feature-flags-in-sveltekit
---
Hello and welcome to another tutorial. This is about adding feature flags to an app made with [SvelteKit](https://kit.svelte.dev/), [Unleash](https://www.getunleash.io/) and the official [Unleash Svelte SDK](/reference/sdks/svelte).

View File

@ -330,11 +330,11 @@ class="header-github-link"
},
{
label: 'Progressive or gradual rollouts',
to: '/feature-flag-tutorials/use-cases/gradual-rollout',
to: '/guides/gradual-rollout',
},
{
label: 'Trunk-based development',
to: '/feature-flag-tutorials/use-cases/trunk-based-development',
to: '/guides/trunk-based-development',
},
{
label: 'Software kill switches',
@ -342,7 +342,7 @@ class="header-github-link"
},
{
label: 'A/B testing',
to: '/feature-flag-tutorials/use-cases/a-b-testing',
to: '/guides/a-b-testing',
},
{
label: 'Feature management',

View File

@ -338,7 +338,7 @@ const sidebars: SidebarsConfig = {
collapsed: true,
link: {
type: 'doc',
id: 'feature-flag-tutorials/react/implementing-feature-flags',
id: 'guides/language-specific-tutorials/react/implementing-feature-flags',
},
items: [
{
@ -346,13 +346,13 @@ const sidebars: SidebarsConfig = {
label: 'React',
link: {
type: 'doc',
id: 'feature-flag-tutorials/react/implementing-feature-flags',
id: 'guides/language-specific-tutorials/react/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/react/examples',
id: 'guides/language-specific-tutorials/react/examples',
},
],
},
@ -361,18 +361,18 @@ const sidebars: SidebarsConfig = {
label: 'Java',
link: {
type: 'doc',
id: 'feature-flag-tutorials/java/implementing-feature-flags',
id: 'guides/language-specific-tutorials/java/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Spring Boot',
id: 'feature-flag-tutorials/java/spring-boot-implementing-feature-flags',
id: 'guides/language-specific-tutorials/java/spring-boot-implementing-feature-flags',
},
{
type: 'doc',
label: 'Spring Boot Examples',
id: 'feature-flag-tutorials/java/spring-boot-examples',
id: 'guides/language-specific-tutorials/java/spring-boot-examples',
},
],
},
@ -381,63 +381,63 @@ const sidebars: SidebarsConfig = {
label: 'Python',
link: {
type: 'doc',
id: 'feature-flag-tutorials/python/implementing-feature-flags',
id: 'guides/language-specific-tutorials/python/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Python Examples',
id: 'feature-flag-tutorials/python/examples',
id: 'guides/language-specific-tutorials/python/examples',
},
{
type: 'doc',
label: 'Django Tutorial',
id: 'feature-flag-tutorials/django/implementing-feature-flags-django',
id: 'guides/language-specific-tutorials/django/implementing-feature-flags-django',
},
{
type: 'doc',
label: 'Django Examples',
id: 'feature-flag-tutorials/django/django-examples',
id: 'guides/language-specific-tutorials/django/django-examples',
},
],
},
{
type: 'doc',
label: 'Next.js',
id: 'feature-flag-tutorials/nextjs/implementing-feature-flags-nextjs',
id: 'guides/language-specific-tutorials/nextjs/implementing-feature-flags-nextjs',
},
{
type: 'category',
label: 'Go',
link: {
type: 'doc',
id: 'feature-flag-tutorials/golang/implementing-feature-flags-golang',
id: 'guides/language-specific-tutorials/golang/implementing-feature-flags-golang',
},
items: [
{
type: 'doc',
label: 'Go Examples',
id: 'feature-flag-tutorials/golang/golang-examples',
id: 'guides/language-specific-tutorials/golang/golang-examples',
},
],
},
{
type: 'doc',
label: 'JavaScript',
id: 'feature-flag-tutorials/javascript/implementing-feature-flags-js',
id: 'guides/language-specific-tutorials/javascript/implementing-feature-flags-js',
},
{
type: 'category',
label: '.NET',
link: {
type: 'doc',
id: 'feature-flag-tutorials/dotnet/implementing-feature-flags-dotnet',
id: 'guides/language-specific-tutorials/dotnet/implementing-feature-flags-dotnet',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/dotnet/dotnet-examples',
id: 'guides/language-specific-tutorials/dotnet/dotnet-examples',
},
],
},
@ -446,68 +446,68 @@ const sidebars: SidebarsConfig = {
label: 'iOS',
link: {
type: 'doc',
id: 'feature-flag-tutorials/ios/implementing-feature-flags-ios',
id: 'guides/language-specific-tutorials/ios/implementing-feature-flags-ios',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/ios/examples',
id: 'guides/language-specific-tutorials/ios/examples',
},
],
},
{
type: 'doc',
label: 'Serverless',
id: 'feature-flag-tutorials/serverless/implementing-feature-flags-in-aws-lambda',
id: 'guides/language-specific-tutorials/serverless/implementing-feature-flags-in-aws-lambda',
},
{
type: 'category',
label: 'Rust',
link: {
type: 'doc',
id: 'feature-flag-tutorials/rust/implementing-feature-flags-rust',
id: 'guides/language-specific-tutorials/rust/implementing-feature-flags-rust',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'feature-flag-tutorials/rust/rust-examples',
id: 'guides/language-specific-tutorials/rust/rust-examples',
},
],
},
{
type: 'doc',
label: 'Flutter',
id: 'feature-flag-tutorials/flutter/a-b-testing',
id: 'guides/language-specific-tutorials/flutter/a-b-testing',
},
{
type: 'doc',
label: 'SvelteKit',
id: 'feature-flag-tutorials/sveltekit/implementing-feature-flags-sveltekit',
id: 'guides/language-specific-tutorials/sveltekit/implementing-feature-flags-sveltekit',
},
{
type: 'category',
label: 'Ruby',
link: {
type: 'doc',
id: 'feature-flag-tutorials/ruby/implementing-feature-flags-ruby',
id: 'guides/language-specific-tutorials/ruby/implementing-feature-flags-ruby',
},
items: [
{
type: 'doc',
label: 'Ruby Examples',
id: 'feature-flag-tutorials/ruby/ruby-examples',
id: 'guides/language-specific-tutorials/ruby/ruby-examples',
},
{
type: 'doc',
label: 'Rails Tutorial',
id: 'feature-flag-tutorials/rails/implementing-feature-flags-rails',
id: 'guides/language-specific-tutorials/rails/implementing-feature-flags-rails',
},
{
type: 'doc',
label: 'Rails Examples',
id: 'feature-flag-tutorials/rails/rails-examples',
id: 'guides/language-specific-tutorials/rails/rails-examples',
},
],
},

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 462 KiB

After

Width:  |  Height:  |  Size: 462 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 128 KiB

View File

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 127 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 196 KiB

View File

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 150 KiB

View File

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 210 KiB

View File

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 142 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

Before

Width:  |  Height:  |  Size: 690 KiB

After

Width:  |  Height:  |  Size: 690 KiB

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

@ -1330,6 +1330,251 @@
"source": "/understanding-unleash/the-anatomy-of-unleash",
"destination": "/reference/core-concepts",
"permanent": true
},
{
"source": "/feature-flag-tutorials/django",
"destination": "/guides/implement-feature-flags-in-django",
"permanent": true
},
{
"source": "/feature-flag-tutorials/django/implementing-feature-flags-django",
"destination": "/guides/implement-feature-flags-in-django",
"permanent": true
},
{
"source": "/feature-flag-tutorials/django/examples",
"destination": "/guides/feature-flag-examples-django",
"permanent": true
},
{
"source": "/feature-flag-tutorials/django/django-examples",
"destination": "/guides/feature-flag-examples-django",
"permanent": true
},
{
"source": "/feature-flag-tutorials/dotnet",
"destination": "/guides/implement-feature-flags-in-dotnet",
"permanent": true
},
{
"source": "/feature-flag-tutorials/dotnet/implementing-feature-flags-dotnet",
"destination": "/guides/implement-feature-flags-in-dotnet",
"permanent": true
},
{
"source": "/feature-flag-tutorials/dotnet/examples",
"destination": "/guides/feature-flag-examples-dotnet",
"permanent": true
},
{
"source": "/feature-flag-tutorials/dotnet/dotnet-examples",
"destination": "/guides/feature-flag-examples-dotnet",
"permanent": true
},
{
"source": "/feature-flag-tutorials/go",
"destination": "/guides/implement-feature-flags-in-golang",
"permanent": true
},
{
"source": "/feature-flag-tutorials/golang",
"destination": "/guides/implement-feature-flags-in-golang",
"permanent": true
},
{
"source": "/feature-flag-tutorials/golang/implementing-feature-flags-golang",
"destination": "/guides/implement-feature-flags-in-golang",
"permanent": true
},
{
"source": "/feature-flag-tutorials/golang/examples",
"destination": "/guides/feature-flag-examples-golang",
"permanent": true
},
{
"source": "/feature-flag-tutorials/golang/golang-examples",
"destination": "/guides/feature-flag-examples-golang",
"permanent": true
},
{
"source": "/feature-flag-tutorials/ios",
"destination": "/guides/implement-feature-flags-in-ios",
"permanent": true
},
{
"source": "/feature-flag-tutorials/ios/implementing-feature-flags-ios",
"destination": "/guides/implement-feature-flags-in-ios",
"permanent": true
},
{
"source": "/feature-flag-tutorials/ios/examples",
"destination": "/guides/feature-flag-examples-ios",
"permanent": true
},
{
"source": "/feature-flag-tutorials/java",
"destination": "/guides/implement-feature-flags-in-java",
"permanent": true
},
{
"source": "/feature-flag-tutorials/java/implementing-feature-flags",
"destination": "/guides/implement-feature-flags-in-java",
"permanent": true
},
{
"source": "/feature-flag-tutorials/java/spring-boot-implementing-feature-flags",
"destination": "/guides/implement-feature-flags-in-spring-boot",
"permanent": true
},
{
"source": "/feature-flag-tutorials/java/spring-boot-examples",
"destination": "/guides/feature-flag-examples-spring-boot",
"permanent": true
},
{
"source": "/feature-flag-tutorials/javascript",
"destination": "/guides/implement-feature-flags-in-javascript",
"permanent": true
},
{
"source": "/feature-flag-tutorials/javascript/implementing-feature-flags-js",
"destination": "/guides/implement-feature-flags-in-javascript",
"permanent": true
},
{
"source": "/feature-flag-tutorials/nextjs",
"destination": "/guides/implement-feature-flags-in-nextjs",
"permanent": true
},
{
"source": "/feature-flag-tutorials/nextjs/implementing-feature-flags-nextjs",
"destination": "/guides/implement-feature-flags-in-nextjs",
"permanent": true
},
{
"source": "/feature-flag-tutorials/python",
"destination": "/guides/implement-feature-flags-in-python",
"permanent": true
},
{
"source": "/feature-flag-tutorials/python/implementing-feature-flags",
"destination": "/guides/implement-feature-flags-in-python",
"permanent": true
},
{
"source": "/feature-flag-tutorials/python/examples",
"destination": "/guides/feature-flag-examples-python",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rails",
"destination": "/guides/implement-feature-flags-in-rails",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rails/implementing-feature-flags-rails",
"destination": "/guides/implement-feature-flags-in-rails",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rails/examples",
"destination": "/guides/feature-flag-examples-rails",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rails/rails-examples",
"destination": "/guides/feature-flag-examples-rails",
"permanent": true
},
{
"source": "/feature-flag-tutorials/react",
"destination": "/guides/implement-feature-flags-in-react",
"permanent": true
},
{
"source": "/feature-flag-tutorials/react/implementing-feature-flags",
"destination": "/guides/implement-feature-flags-in-react",
"permanent": true
},
{
"source": "/feature-flag-tutorials/react/examples",
"destination": "/guides/feature-flag-examples-react",
"permanent": true
},
{
"source": "/feature-flag-tutorials/ruby",
"destination": "/guides/implement-feature-flags-in-ruby",
"permanent": true
},
{
"source": "/feature-flag-tutorials/ruby/implementing-feature-flags-ruby",
"destination": "/guides/implement-feature-flags-in-ruby",
"permanent": true
},
{
"source": "/feature-flag-tutorials/ruby/examples",
"destination": "/guides/feature-flag-examples-ruby",
"permanent": true
},
{
"source": "/feature-flag-tutorials/ruby/ruby-examples",
"destination": "/guides/feature-flag-examples-ruby",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rust",
"destination": "/guides/implement-feature-flags-in-rust",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rust/implementing-feature-flags-rust",
"destination": "/guides/implement-feature-flags-in-rust",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rust/examples",
"destination": "/guides/feature-flag-examples-rust",
"permanent": true
},
{
"source": "/feature-flag-tutorials/rust/rust-examples",
"destination": "/guides/feature-flag-examples-rust",
"permanent": true
},
{
"source": "/feature-flag-tutorials/serverless/lambda",
"destination": "/guides/implement-feature-flags-in-aws-lambda",
"permanent": true
},
{
"source": "/feature-flag-tutorials/serverless/implementing-feature-flags-in-aws-lambda",
"destination": "/guides/implement-feature-flags-in-aws-lambda",
"permanent": true
},
{
"source": "/feature-flag-tutorials/spring-boot",
"destination": "/guides/implement-feature-flags-in-spring-boot",
"permanent": true
},
{
"source": "/feature-flag-tutorials/spring-boot/examples",
"destination": "/guides/feature-flag-examples-spring-boot",
"permanent": true
},
{
"source": "/feature-flag-tutorials/sveltekit",
"destination": "/guides/implement-feature-flags-in-sveltekit",
"permanent": true
},
{
"source": "/feature-flag-tutorials/sveltekit/implementing-feature-flags-sveltekit",
"destination": "/guides/implement-feature-flags-in-sveltekit",
"permanent": true
},
{
"source": "/feature-flag-tutorials/flutter/a-b-testing",
"destination": "/guides/implement-ab-test-in-flutter",
"permanent": true
}
]
}