Skip to content

Commit cda0df9

Browse files
authored
Merge branch 'main' into update-custom-properties-page
2 parents 8f09df2 + 78e2133 commit cda0df9

File tree

3 files changed

+39
-33
lines changed

3 files changed

+39
-33
lines changed

docs/platform/feature-flags/status-and-lifecycle.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Features in DevCycle can exist in one of three Statuses to indicate their curren
1313

1414
- **In Progress**
1515
- **Completed**
16-
- **Coming Soon: Archived**
16+
- **Archived**
1717

1818
Each status comes with its unique properties, affecting how a Feature behaves, can be interacted with, or is displayed in the dashboard.
1919

@@ -57,11 +57,9 @@ When a Feature is marked as "Completed," the following changes are implemented:
5757

5858
### Cleanup Checklist for Variables
5959

60-
Upon completing a Feature, you will see cleanup checklists for each Variable. You can choose to keep or cleanup a Variable.
60+
Upon completing a Feature, you will see a cleanup checklist for each Variable associated with the Feature. You’ll have the option of [Cleaning up Variables](/platform/feature-flags/variables-and-variations/variables#cleaning-up-variables) which allows you archive or keep them permanently.
6161

62-
- **Keep**: Marks the Variable as permanent, which will make sure DevCycle does not guide you toward archiving or removing the Variable from your code, and the Variable will always serve the chosen value.
63-
64-
- **Mark for Cleanup**: Provides a checklist to help you know when it's safe to remove the Variable from the Feature or archive the Variable. If the Variable is still seen in code, or if evaluations are still seen in production, removing this Variable from the Feature could result in the Variable serving default values to Users. If Code References are enabled, this will also help inform where to remove this Variable from your code.
62+
The details in the checklist will help you know when it's safe to remove the Variable from the Feature, or archive the Variable. If the Variable is still seen in code, or if evaluations are still seen in production, removing this Variable from the Feature could result in the Variable serving default values to Users. If Code References are enabled, additional details will be shown to inform you of where to remove the Variable from code, and variables will be marked as deprecated in code.
6563

6664
#### Reverting to In Progress
6765

docs/platform/feature-flags/variables-and-variations/variables.md

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Variables are the elements that can change within a Feature.
99
1010
By default, upon creation of a Feature, a `Boolean Variable` will be created which has the same name as the Feature's key for easier reference.
1111

12-
:::tip Already understand the variable essentials?
13-
Be sure to check out our advanced variable documentation which covers topics like:
12+
:::tip Already understand the Variable essentials?
13+
Be sure to check out our advanced Variable documentation which covers topics like:
1414
- [Variable Schemas](/platform/security-and-guardrails/variable-schemas)
1515
:::
1616
---
@@ -26,35 +26,35 @@ On the Feature page, there are indicators for each Variable that inform you of t
2626
- if a Variable has been seen in code (if [Code References](/integrations/github/feature-usage-action) have been enabled)
2727
- if evaluations have been seen
2828

29-
These indicators are helpful when setting up features. They help to confirm proper setup, and aid in Variable cleanup once a Feature has completed it's [lifecycle](/platform/feature-flags/status-and-lifecycle).
29+
These indicators are helpful when setting up Features. They help to confirm proper setup, and aid in Variable cleanup once a Feature has completed it's [lifecycle](/platform/feature-flags/status-and-lifecycle).
3030

3131
Hover over these indicators for more detail about a Variable's code references & evaluation information.
3232

3333
![Variable Status Indicator](/nov-2023-var-status-found-eval-rec.png)
3434

35-
Depending on the Feature type, the default Variations will be pre-set. For example, the most common feature type is a Release Flag, and it will have two variations - "Variation OFF" and "Variation ON", with the boolean Variable being set to false and true, respectively.
35+
Depending on the Feature type, the default Variations will be pre-set. For example, the most common Feature type is a Release Flag, and it will have two variations - "Variation OFF" and "Variation ON", with the boolean Variable being set to false and true, respectively.
3636

3737
:::info
3838
For more information on variations please visit the [variations section](/essentials/overview#variations) of the documentation.
3939
:::
4040

4141
#### Global Variables Dashboard
4242

43-
You can also view variables through the Variables dashboard, a collection of all Variables used within a project on a single list. In more complex or longer running projects, the Variables dashboard is useful to quickly find exactly what Feature is controlling a Variable (if any).
43+
You can also view Variables through the Variables dashboard, a collection of all Variables used within a project on a single list. In more complex or longer running projects, the Variables dashboard is useful to quickly find exactly what Feature is controlling a Variable (if any).
4444

4545
To navigate to this page, use the `Variables` button on DevCycle dashboard's top bar, which will lead you to the Variables list which will show:
4646

4747
| | |
4848
|--------|----------------------------|
4949
| **Variable Name** | The name given to the Variable upon its creation |
50-
| **Feature** | The name of the Feature that is currently managing a variable. **Note** that Variables can only be managed by a single Feature at a time. If you wish to change what Feature is managing a Variable, first remove that Variable from a feature as outlined in [Creating Variables and Variations](/platform/feature-flags/variables-and-variations/variables). If the Variable is NOT being managed by a Feature, this column will note the lack of Feature. **Click on a Feature name to navigate directly to the Feature managing this Variable** |
51-
| **Type** | The type of the feature flag. This type can one of: Boolean, JSON, Number, Boolean, or String. |
50+
| **Feature** | The name of the Feature that is currently managing a Variable. **Note** that Variables can only be managed by a single Feature at a time. If you wish to change what Feature is managing a Variable, first remove that Variable from a Feature as outlined in [Creating Variables and Variations](/platform/feature-flags/variables-and-variations/variables). If the Variable is NOT being managed by a Feature, this column will note the lack of Feature. **Click on a Feature name to navigate directly to the Feature managing this Variable** |
51+
| **Type** | The type of the Feature flag. This type can one of: Boolean, JSON, Number, Boolean, or String. |
5252
| **Created At** | The time this Variable was first created. |
5353

5454

5555
##### Variable Details
5656

57-
To access variable details, click "View Info" on the Variables list page for your Desired Variable. This page contains two sections:
57+
To access Variable details, click "View Info" on the Variables list page for your Desired Variable. This page contains two sections:
5858

5959
| Section | Description |
6060
|---------|-------------|
@@ -91,33 +91,33 @@ Variables may be the following types:
9191
The Variable **Values** for each **Variation** will be what the Variable's value will be in SDK and API responses if a targeting rule is targeting those specific Variations.
9292

9393
:::caution
94-
For JSON variables, the only allowable **Values** are JSON objects with key-value pairs.
94+
For JSON Variables, the only allowable **Values** are JSON objects with key-value pairs.
9595
:::
9696

9797
---
9898

9999
## Updating a Variable
100100

101-
DevCycle allows users to edit the Variable Type of existing variables. We understand the importance of type-safety in variable management in addition to having flexibility when creating & editing variables. As such, editing unassociated variable versus associated variables differs slightly so you have as much context as possible on the ramifications of changing a variable type & its impact on your code.
101+
DevCycle allows users to edit the Variable Type of existing Variables. We understand the importance of type-safety in Variable management in addition to having flexibility when creating & editing Variables. As such, editing unassociated Variable versus associated Variables differs slightly so you have as much context as possible on the ramifications of changing a Variable type & its impact on your code.
102102

103103
#### Unassociated Variables
104104

105-
To edit an unassociated Variable, navigate to the Variable Details page of the variable you want to edit and select the new type from the dropdown.
105+
To edit an unassociated Variable, navigate to the Variable Details page of the Variable you want to edit and select the new type from the dropdown.
106106

107107
#### Associated Variables
108-
If a variable is currently associated with a feature, changes to the Variable Type must be done on the associated feature page. Once on the feature page, click on the edit icon next to the variable key and select a new Variable Type from the dropdown and click Update.
108+
If a Variable is currently associated with a Feature, changes to the Variable Type must be done on the associated Feature page. Once on the Feature page, click on the edit icon next to the Variable key and select a new Variable Type from the dropdown and click Update.
109109

110110
:::caution
111-
Be cautious when editing variable types as any code that is evaluating this variable must also be updated to expect the new type. A mismatch in variable types between the dashboard and your code will result in your code always returning the default value.
111+
Be cautious when editing Variable types as any code that is evaluating this Variable must also be updated to expect the new type. A mismatch in Variable types between the dashboard and your code will result in your code always returning the default value.
112112
:::
113113

114114
---
115115

116116
## Removing a Variable
117117

118-
To remove a Variable from a feature, simply click on the edit icon next to the variable key and select the option to remove the variable from the variable edit modal.
118+
To remove a Variable from a Feature, simply click on the edit icon next to the Variable key and select the option to remove the Variable from the Variable edit modal.
119119

120-
Removing a Variable from this page does not completely remove the Variable from DevCycle. The Variable will still be visible in the [Variable Dashboard](#global-variables-dashboard), but it will not be associated with any features.
120+
Removing a Variable from this page does not completely remove the Variable from DevCycle. The Variable will still be visible in the [Variable Dashboard](#global-variables-dashboard), but it will not be associated with any Features.
121121

122122
Taking this action will cause all references to the Variable in any code usage to default only to the default value used in your codebase.
123123

@@ -132,30 +132,40 @@ To fully delete a Variable you must do so via our [Management API](/management-a
132132

133133
Archiving Variables is a good way to clean up the DevCycle dashboard and ensure that it is easy to understand which Variables are available for use and which should no longer be leveraged going forward.
134134

135-
To archive a Variable it must first be [removed from any active features](#removing-a-variable). Variables can be archived at the same time as removing from a feature. When the option to remove has been selected the confirmation modal will also provide the option to archive the Variable.
135+
To archive a Variable it must also be [removed from any active Features](#removing-a-variable). Variables can be archived and removed from a Feature at the same time. When you've selected to remove the Variable, the confirmation modal will also provide the option to archive the Variable.
136136

137-
If a Variable is not archived when it is removed from a feature it will remain active, but it won't be associated with any features and the default value will be delivered whenever the Variable is evaluated in code. If you are archiving a Variable from the Variable list or Variable details page, the Variable must be in this unassociated state.
137+
If a Variable is not archived when it is removed from a Feature, it will remain active, but it won't be associated with any Features, and the default value will be delivered whenever the Variable is evaluated in code. If you are archiving a Variable from the Variable list or Variable details page, the Variable must be in this unassociated state.
138138

139139
When archiving a Variable from the Variable list or details page you will need to confirm your desire to archive by entering the Variable's key in the archive confirmation modal.
140140

141-
Once archived, Variables can be viewed by toggling the Variable status filter to either All or Archived Variables on the Variable list page. From here Variables can also be unarchived if desired.
141+
Once archived, Variables can still be viewed by toggling the Variable status filter to either All or Archived Variables on the Variable list page. From here, Variables can also be unarchived if desired.
142142

143143
---
144144

145145
## Re-associating a Variable
146146

147-
DevCycle has the ability to re-use existing variables and re-associate them to different features.
147+
DevCycle has the ability to re-use existing Variables and re-associate them to different Features.
148148

149-
In the Variable Key input field, a drop down will display all **unassociated, unarchived** variables that can be re-associated to your feature while also providing you the option to add a net new variable.
149+
In the Variable Key input field, a drop down will display all **unassociated, unarchived** Variables that can be re-associated to your Feature while also providing you the option to add a net new Variable.
150150

151-
If you select an existing, unassociated variable from the dropdown, the Variable type will be populated with the type of the selected variable and cannot be changed.
151+
If you select an existing, unassociated Variable from the dropdown, the Variable type will be populated with the type of the selected Variable and cannot be changed.
152152

153-
If you input a variable key that matches an existing archived variable, the error below will appear, as you must first unarchive the variable.
153+
If you input a Variable key that matches an existing archived Variable, the error below will appear, as you must first unarchive the Variable.
154154

155-
To use it, click the hyperlinked "**variable**" text, and you'll be directed to the archived variable page where you can unarchive it.
155+
To use it, click the hyperlinked "**Variable**" text, and you'll be directed to the archived Variable page where you can unarchive it.
156156

157157
:::info
158-
If you want to move a variable between features, you must first remove it from the previous feature, making it unassociated.
158+
If you want to move a Variable between Features, you must first remove it from the previous Feature, making it unassociated.
159159
:::
160160

161+
## Cleaning up Variables
161162

163+
DevCycle will display the option to either **keep** or **archive** a Variable once a Feature has been [Completed](/platform/feature-flags/status-and-lifecycle#completed):
164+
165+
**Keep:** Marks the Variable as permanent, indicating that the it should be kept active. DevCycle will not prompt you toward archiving or removing the Variable from your code, and the Variable will always serve the configured value.
166+
167+
**Archive (Cleanup):** Cleanup the Variable by removing (un-associating) the Variable from the Feature and archiving it. The intention is that the Variable is no longer needed and it has been removed from the codebase.
168+
169+
With code references, Variables will also be marked as deprecated in code if it was not made permanent.
170+
171+
A Feature can revert is "completed" status at any time, and Variables can be un-archived or re-associated as needed. Learn more about Feature cleanup on the Feature [Status and Lifecycle](/platform/feature-flags/status-and-lifecycle) page.

docs/sdk/features.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,10 +234,8 @@ identity must be changed during the application's lifecycle.
234234

235235
#### Anonymous Users
236236

237-
:::info
238-
239-
If a user id is not supplied, client-side SDKs will automatically generate a user id and assign it to the current user. This id will be cached and used between app sessions / website visits until a user id is supplied or [reset](#resetting-a-user) is called. This ensures that you will not experience a rise in MAUs if the main experience of your application is in a logged-out or anonymous state.
240-
237+
:::info
238+
If a user id is not supplied, client-side SDKs will automatically generate an anonymous user id and assign it to the current user. Anonymous users count towards your MAUs for the month. This id will be cached and used between app sessions / website visits until a user id is supplied or [reset](#resetting-a-user) is called. This ensures that you will not experience a rise in MAUs if the main experience of your application is in a logged-out or anonymous state.
241239
:::
242240

243241
#### Resetting a User

0 commit comments

Comments
 (0)