Skip to content

Commit

Permalink
Merge pull request #1186 from Unleash/docs/4.3-minor-updates
Browse files Browse the repository at this point in the history
docs: update existing articles and screenshots to match version 4.3
  • Loading branch information
thomasheartman committed Dec 15, 2021
2 parents 9a370cb + 5b97ef6 commit e061ccc
Show file tree
Hide file tree
Showing 26 changed files with 52 additions and 46 deletions.
10 changes: 7 additions & 3 deletions website/docs/advanced/api_access.md
Expand Up @@ -11,7 +11,9 @@ Please refer to [Create token](../user_guide/api-token) on how to create an API

Please note that it may take up to 60 seconds for the new key to propagate to all Unleash instances due to eager caching.

> If you need an API token to use in a client SDK you should create a "client token" as these have less access.
:::note
If you need an API token to use in a client SDK you should create a "client token" as these have fewer access rights.
:::

## Step 2: Use Admin API {#step-2-use-admin-api}

Expand All @@ -20,12 +22,14 @@ Now that you have an access token with admin privileges we can use that to perfo
In the example below we will use the [Unleash Admin API](../api/admin/features) to enable the “Demo” feature toggle using curl.

```sh
curl -X POST -H "Content-Type: application/json" -H "Authorization: admintoken" https://app.unleash-hosted.com/demo/api/admin/features/Demo/toggle/on
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: admintoken" \
https://app.unleash-hosted.com/demo/api/admin/features/Demo/toggle/on
```

**Great success!** We have now enabled the feature toggle. We can also verify that it was actually changed by the API user by navigating to the history (audit log) for this feature toggle.

![Create token](/img/api_access_history.png)
![A feature toggle's event log showing that it was last updated by \"admin-api\".](/img/api_access_history.png)

## API overview {#api-overview}

Expand Down
14 changes: 9 additions & 5 deletions website/docs/advanced/archived-toggles.md
Expand Up @@ -3,14 +3,18 @@ id: archived_toggles
title: Archived toggles
---

In unleash you may choose to "archive" a feature toggle when it is not needed anymore. You do this by clicking the "Archive" button on the feature toggle details view. By archiving a feature toggle it will not be available to Client SDKs anymore.
You can _archive_ a feature toggle when it is not needed anymore. You do this by clicking the "Archive" button on the feature toggle details view. When you archive a feature toggle, it will no longer be available to Client SDKs.

![Archive Toggle](/img/archive-toggle.png 'Archiving a Feature Toggle').
![The Unleash toggle view showing a focused "archive feature toggle" button, highlighted by a red arrow.](/img/archive-toggle.png 'Archiving a Feature Toggle').

You will not be able to "fully delete a feature toggle". The reason for this is to avoid old toggles suddenly "waking up again". This could, in worst case, re-activate old functionality in code where the use of the feature toggle has not been cleaned up yet.
You can not "fully delete a feature toggle". This is to prevent you from creating a new feature toggle with the same name as an old one. This could potentially reactivate old functionality in code that still referenced the old toggle and result in unintended consequences.

## Viewing archived toggles

You can find archived toggles in the toggle archive. The archive is accessible from the global feature toggle list.

## Reviving a feature toggle {#reviving-a-feature-toggle}

If you want to re-use a feature toggle which has been archived you may revive in from the archive. You do that by clicking the "revive icon". Please not that revived toggles will be "disabled" when they are active again.
If you want to re-use a feature toggle that you previously archived, you can revive in from the feature toggle archive. Click the "revive icon" to revive the toggle. Revived toggles will be in the disabled state when you re-enable them.

![Revive Toggle](/img/archive-toggle-revive.png 'Reviving a Feature Toggle').
![A list of archived toggles. Each toggle displays its name and project it belongs to. Each toggle also has a \"revive\" button, as highlighted by a red arrow.](/img/archive-toggle-revive.png 'Reviving a Feature Toggle').
12 changes: 6 additions & 6 deletions website/docs/advanced/audit-log.md
Expand Up @@ -3,16 +3,16 @@ id: audit_log
title: The audit log
---

When something is not working as expected it is important to be able to track what changed when, and who performed the change.
The audit log lets you track changes in Unleash. It lists _what_ changed, _when_ it changed, and _who_ performed the change.

## Audit log per feature toggle {#audit-log-per-feature-toggle}
## Feature toggle log {#audit-log-per-feature-toggle}

Unleash comes with a audit log, available on a feature toggle level. You access the audit log via the “history” tab in the feature toggle view.
Each feature toggle has its own audit log. The audit log is available under the "Event log" tab in the tab view.

![Audit log](/img/unleash-toggle-history.png)
![The event log for a feature toggle. The \"Event log\" tab is highlighted and the UI shows the most recent changes, including a JSON diff and the change details.](/img/unleash-toggle-history.png)

## Global Audit Log {#global-audit-log}

Unleash also keeps an audit log across all toggles and activation strategies, tracking all changes. You access the global audit log via the “Event history”, which you can find in the drawer menu.
Unleash also keeps an audit log across all toggles and activation strategies, tracking all changes. You access the global audit log via the “Event history”, which you can find in the drawer menu. The global audit log is only accessible by users with instance admin access.

![Global audit log](/img/global_audit_log.png)
![The global event log and how to get there. It shows a number of events and their changes as well as the navigation steps: use the admin menu and navigate to "event history".](/img/global_audit_log.png)
4 changes: 2 additions & 2 deletions website/docs/advanced/custom-activation-strategy.md
Expand Up @@ -13,15 +13,15 @@ In this example we want to define an activation strategy offers a scheduled rele

First we need to "define" our new strategy. To add a new "Strategy", open the Strategies tab from the sidebar.

![timestamp_create_strategy](/img/timestamp_create_strategy.png)
![A strategy creation form. It has fields labeled \"strategy name\" and \"description\". It also has fields for a parameter named \"enableAfter\". The parameter is of type \"string\" and the description is \"Expected format: YYYY-MM-DD HH:MM\". The parameter is required.](/img/timestamp_create_strategy.png)

We name our strategy `TimeStamp` and add one required parameter of type string, which we call `enableAfter`.

#### Use custom strategy {#use-custom-strategy}

After we have created the strategy definition, we can now decide to use that activation strategy for our feature toggle.

![timestamp_use_strategy](/img/timestamp_use_strategy.png)
![The strategy configuration screen for the TimeStamp strategy. It shows the strategy from above with a date entered into the \"enableAfter\" field.](/img/timestamp_use_strategy.png)

In the example we want to use our custom strategy for the feature toggle named `demo.TimeStampRollout`.

Expand Down
8 changes: 4 additions & 4 deletions website/docs/user_guide/control-rollout.md
Expand Up @@ -23,23 +23,23 @@ The built-in activation strategies:

When you create a new feature toggle you will get the standard activation strategy, if you don’t configure any specific strategies. The standard activation strategy will always evaluate to true, given that the feature toggle is enabled.

![Default activation strategy](/img/control_rollout_standard_strategy.png)
![A UI element describing the \"standard\" strategy. It says \"The standard strategy is strictly on / off for your entire userbase\".](/img/control_rollout_standard_strategy.png)

## The UserIDs strategy {#the-userids-strategy}

When we have deployed some new code to production it would be nice to enable the new feature for ourselves before we enable it to everyone else. To achieve this with Unleash, you can use the **UserIDs** activation strategy. This strategy allows you to specify a list of user IDs that you want to expose the new feature for.

A userId is how you identify users in your system (email, UUID, etc) and is provided as part of the Unleash Context to the client SDK.

![UserWithId activation strategy](/img/control_rollout_userid_strategy.png)
![A UI element showing the user ID strategy. It has an active list of two user IDs: \"productlead@mycompany.com\" and \"me@mycompany.com\".](/img/control_rollout_userid_strategy.png)

## Multiple activation strategies {#multiple-activation-strategies}

In order to increase the exposure of the feature which is protected with the feature toggle you can configure multiple activation strategies on the same feature toggle.

![Multiple activation strategy](/img/control_rollout_multiple_strategies.png)
![A feature toggle with two active strategies: a user ID strategy and a gradual rollout strategy.](/img/control_rollout_multiple_strategies.png)

In the example above we have to configure two activation strategies, **userWithId** and **flexibleRollout**. If one of them evaluates to true the feature toggle is considered enabled. In the example we have enabled the feature toggle for usersWithId (_productlead@mycompany.com and me@mycompany.com_) in addition to 75% of the traffic.
In the example above we have to configure two activation strategies, **userWithId** and **flexibleRollout**. If one of them evaluates to true the feature toggle is considered enabled. In the example we have enabled the feature toggle for usersWithId (*productlead@mycompany.com* and *me@mycompany.com*) in addition to 75% of the traffic.

## Summary {#summary}

Expand Down
10 changes: 5 additions & 5 deletions website/docs/user_guide/environments.md
Expand Up @@ -25,7 +25,7 @@ Despite this being a shift in how Unleash works, everything will continue to wor



![Environments Overview](/img/environments_overview.svg "A feature toggle exists across all environments, but take different activation strategies per environment.")
![A graph showing how environments work. Each project can have multiple features, and each feature can have different activation strategies in each of its environments.](/img/environments_overview.svg "A feature toggle exists across all environments, but take different activation strategies per environment.")


## How to start using environments
Expand All @@ -45,7 +45,7 @@ Navigate to the project and choose the “environments” tab.



![Configure environment for this project](/img/environments_configure.png "Configure environment for this project")
![A project view showing the Environments tab. The UI displays three environment toggles: \"default\", \"development\", and \"production\". The \"default\" environment is enabled.](/img/environments_configure.png "Configure environment for this project")


### Step 2: Configure activation strategies for the new environment
Expand All @@ -54,7 +54,7 @@ From the “feature toggle view” you will now be able to configure activation



![Add strategy configuration per environment](/img/environments_strategies.png "Add strategy configuration per environment")
![A feature toggle strategies tab showing three different environments, of which one is active. The UI displays data about the currently selected environment, ](/img/environments_strategies.png "Add strategy configuration per environment")


### Step 3: Create environment specific API keys
Expand All @@ -63,7 +63,7 @@ In order for the SDK to download the feature toggle configuration for the correc



![Create Environment specific API Keys](/img/environments_api_keys.png "Create Environment specific API Keys")
![An API key creation form. The form's fields are \"username\", \"token type\", \"project\", and, crucially, \"environment\". The development environment is selected.](/img/environments_api_keys.png "Create Environment specific API Keys")



Expand All @@ -76,7 +76,7 @@ If you're currently using strategy constraints together with the “environment



![You will not use strategy constraints for environments any more.](/img/environments_strategy_constraints.png "You will not use strategy constraints for environments any more.")
![A strategy constraint using the environment field of the unleash context.](/img/environments_strategy_constraints.png "You will not use strategy constraints for environments any more.")



Expand Down
34 changes: 16 additions & 18 deletions website/docs/user_guide/projects.md
Expand Up @@ -17,23 +17,23 @@ Projects are a way to organize your feature toggles within Unleash. Within a lar

A common pattern is to organize the feature toggles according to key areas of the application, e.g. “Basic user process” and “Advanced user process”. This is illustrated below.

![Project concept](/img/project_concept.png)
![A diagram with two boxes labeled \"Basic user process\" and \"Advanced user process\", respectively. The former contains features \"New login\" and \"Winter theme enablement\", the latter \"New in-app purchase\" and \"Updated invoice repository\".](/img/project_concept.png)

## Creating a new project {#creating-a-new-project}

When you log into Unleash for the first time, there is a Default project already created. All feature toggles are included in the Default project, unless explicitly set to a different one.

From the top-line menu – click on “Projects”

![Project concept](/img/projects_button.png)
![The Unleash admin UI with the \"Projects\" nav link in the top bar highlighted.](/img/projects_button.png)

The available projects will now be listed. To create a new Project – choose the “Add new project”

![Project concept](/img/projects_new_project.png)
![A list of projects. There is a button saying \"Add new project\".](/img/projects_new_project.png)

The configuration of a new Project is now available. the following input is available to create the new Project.

![Project concept](/img/projects_save_new_project.png)
![A project creation form. The form fields are labeled \"project ID\", \"name\", and \"description\". The "Create" button is highlighted.](/img/projects_save_new_project.png)

| Item | Description |
| ------------ | ---------------------------------- |
Expand All @@ -43,48 +43,46 @@ The configuration of a new Project is now available. the following input is avai

## Deleting an existing project {#deleting-an-existing-project}

To keep your feature toggles clean, removing deprecated projects is important. From the overview of Projects –
To keep your feature toggles clean, removing deprecated projects is important. From the overview of Projects –
1. In the top right of the project card, find the project menu represented by three vertical dots.


![Project concept](/img/projects_menu_button.png)
![A list of projects. Each project has three vertical dots — a kebab menu — next to it.](/img/projects_menu_button.png)

2. Click on Delete Project

![Project concept](/img/projects_delete_button.png)
![A list of projects. Each project has three vertical dots — a kebab menu — next to it, which exposes a menu with the \"Edit project\" and \"Delete project\" options when interacted with.](/img/projects_delete_button.png)

## Filter feature toggles on projects {#filter-feature-toggles-on-projects}

When browsing the feature toggles in Unleash, you might want to filter the view by looking only at the ones included in the project of interest. This is possible from the Feature toggle overview.

From the top-line menuchoose the hamburger icon
From the UI top navigation menu, choose "Feature toggles".

![Project concept](/img/projects_menu.png)
![The Unleash Admin UI navigation menu with the \"Feature toggles\" option highlighted by a red arrow.](/img/projects_menu.png)

The list of features toggles can be filtered on the project of your choice. By default, all feature toggles are listed in the view.

![Project concept](/img/project_select.png)
![The feature toggle list with toggles scoped to the \"fintech\" project. The filter is activated by using a form control.](/img/project_select.png)

From the drop-down, chose the project to filter on.

![Project concept](/img/projects_select_dropdown.png)
![The feature toggle list with an overlay listing all the projects available. You can select a project and the list will update with the toggles belonging to that project.](/img/projects_select_dropdown.png)

The view will now be updated with the filtered feature toggles.

## Assigning project to a new feature toggle {#assigning-project-to-a-new-feature-toggle}

When creating a new feature toggle, the project where the feature toggle will be created may be chosen. The default project is “Default”
When you create a new feature toggle, you can choose which project to create it in. The default project is whatever project you are currently configuring.

![Project concept](/img/projects_change_project.png)
![A form to create a toggle. An arrow points to an input labeled \"project\".](/img/projects_change_project.png)

All available projects are available from the drop-down menu.

![Project concept](/img/projects_toggle_project_dropdown.png)
![A form to create a toggle. The \"project\" input is expanded to show projects you can create the toggle in.](/img/projects_toggle_project_dropdown.png)

## Change project for an existing feature toggle {#change-project-for-an-existing-feature-toggle}

There might be a need to change the project a feature toggle belongs to. Changing the project is possible from the feature toggle configuration page.
If you want to change which project a feature toggle belongs to, you can change that from the feature toggle's configuration page. Under the _settings_ tab, choose the _project_ option and choose the new project from the dropdown menu.

![Project concept](/img/projects_existing_toggle_dropdown.png)

To change the project, simply change the project from the drop-down menu.
![A feature toggle's settings tab. The project setting shows a dropdown to change projects.](/img/projects_existing_toggle_dropdown.png)
6 changes: 3 additions & 3 deletions website/docs/user_guide/technical-debt.md
Expand Up @@ -18,13 +18,13 @@ A toggle being (potentially) stale, does not affect how it performs in your appl

In order to assist with removing unused feature toggles, Unleash provides a technical debt dashboard in the management-ui. You can find it by clicking on “Advanced” in the top-line menu then choose _Reporting_ in the dropdown menu.

![Technical debt](/img/reporting.png)
![Three UI elements describing the health rating of the project. The first card has info on the project, including its name. The second is the \"report card\", containing the project's overall health rating, a toggle report, and potential actions. The last card is a list of all the project's toggles with data on when it was last seen, when it was created, when it expired, its status and a report.](/img/reporting.png)

The dasboard includes a health report card, and a list of toggles that can be filtrated on different parameters.

### Report card {#report-card}

![Report card](/img/reportcard.png)
![The project's health report card. It lists the project's health rating and when it was last updated; a toggle report containing the number of active toggles in the project; and potential actions, in this case asking the user to review potentially stale toggles.](/img/reportcard.png)

The report card includes some statistics of your application. It lists the overall amount of your active toggles, the overall amount of stale toggles, and lastly, the toggles that Unleash believes should be stale. This calculation is performed on the basis of toggle types:

Expand All @@ -46,6 +46,6 @@ The health rating updates once every hour, so there may be some lag if you have

### Toggle list {#toggle-list}

![Toggle list](/img/togglelist.png)
![A table of the toggles in the current project with their health reports. The table has the following columns: name, last seen, created, expired, status, and report.](/img/togglelist.png)

The toggle list gives an overview over all of your toggles and their status. In this list you can sort the toggles by their name, last seen, created, expired, status and report. This will allow you to quickly get an overview over which toggles may be worth deprecating and removing from the code.
Binary file modified website/static/img/api_access_history.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/archive-toggle-revive.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/archive-toggle.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/control_rollout_multiple_strategies.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/control_rollout_standard_strategy.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/control_rollout_userid_strategy.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/environments_strategies.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/project_select.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/projects_button.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/projects_change_project.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/projects_existing_toggle_dropdown.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/projects_select_dropdown.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/projects_toggle_project_dropdown.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/reportcard.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/reporting.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/timestamp_use_strategy.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/unleash-toggle-history.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/static/img/variants.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

1 comment on commit e061ccc

@vercel
Copy link

@vercel vercel bot commented on e061ccc Dec 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.