Skip to content

Commit 42b8ed2

Browse files
update
1 parent d2af346 commit 42b8ed2

File tree

3 files changed

+30
-33
lines changed

3 files changed

+30
-33
lines changed

articles/azure-app-configuration/feature-management-dotnet-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ The `feature_management` section of the json document is used by convention to l
248248

249249
**Advanced:** The usage of colon ':' is forbidden in feature flag names.
250250

251-
#### Requirement Type
251+
#### Requirement type
252252

253253
The `requirement_type` property of `conditions` is used to determine if the filters should use `Any` or `All` logic when evaluating the state of a feature. If `requirement_type` isn't specified, the default value is `Any`.
254254

articles/azure-app-configuration/feature-management-javascript-reference.md

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Here are some of the benefits of using JavaScript feature management library:
3030
* Supports usage in both Node.js and browser environments
3131
* Feature flag lifetime management with Azure App Configuration
3232
* Configuration values can change in real-time
33-
* Simple to Complex Scenarios Covered
33+
* Simple to complex scenarios covered
3434
* Toggle on/off features through declarative configuration file
3535
* Dynamically evaluate state of feature based on call to server
3636

@@ -53,7 +53,7 @@ As an example, a Microsoft Edge browser feature filter could be designed. This f
5353

5454
In JavaScript, developers commonly use objects or maps as the primary data structures to represent configurations. The JavaScript feature management library supports both of the configuration approaches, providing developers with the flexibility to choose the option that best fits their needs. The `FeatureManager` can read feature flags from different types of configuration using the built-in `ConfigurationObjectFeatureFlagProvider` and `ConfigurationMapFeatureFlagProvider`.
5555

56-
### [Use Map Configuration](#tab/map-configuration)
56+
### [Use map configuration](#tab/map-configuration)
5757

5858
``` javascript
5959
const config = new Map([
@@ -77,7 +77,7 @@ const featureProvider = new ConfigurationMapFeatureFlagProvider(config);
7777
const featureManager = new FeatureManager(featureProvider);
7878
```
7979

80-
### [Use Object Configuration](#tab/object-configuration)
80+
### [Use object configuration](#tab/object-configuration)
8181

8282
``` javascript
8383
const config = {
@@ -93,7 +93,7 @@ const config = {
9393
}
9494
]
9595
},
96-
"some pther configuration": " some value"
96+
"some other configuration": " some value"
9797
}
9898

9999
import { ConfigurationObjectFeatureFlagProvider, FeatureManager } from "@microsoft/feature-management";
@@ -115,9 +115,9 @@ const featureManager = new FeatureManager(featureProvider);
115115

116116
Rather than hard coding your feature flags into your application, we recommend that you keep feature flags outside the application and manage them separately. Doing so allows you to modify flag states at any time and have those changes take effect in the application right away. The Azure App Configuration service provides a dedicated portal UI for managing all of your feature flags. See the [tutorial](./manage-feature-flags.md).
117117

118-
The Azure App Configuration service also delivers the feature flags to your application directly through its JavaSript client library [@azure/app-configuration-provider](https://www.npmjs.com/package/@azure/app-configuration-provider). The following example shows how to use the library.
118+
The Azure App Configuration service also delivers the feature flags to your application directly through its JavaScript client library [@azure/app-configuration-provider](https://www.npmjs.com/package/@azure/app-configuration-provider). The following example shows how to use the library.
119119

120-
The App Configuration JavaScript provider provides feature flags in as a `Map` object. The built-in `ConfigurationMapFeatureFlagProvider` helps to load feature flags in this case.
120+
The App Configuration JavaScript provider provides feature flags in a `Map` object. The built-in `ConfigurationMapFeatureFlagProvider` helps to load feature flags in this case.
121121

122122
``` javascript
123123
import { DefaultAzureCredential } from "@azure/identity";
@@ -221,7 +221,7 @@ In the above example, `FeatureW` specifies a `requirement_type` of `All`, meanin
221221

222222
The basic form of feature management is checking if a feature flag is enabled and then performing actions based on the result. Checking the state of a feature flag is done through `FeatureManager`'s `isEnabled` method.
223223

224-
### [Use Map Configuration](#tab/map-configuration)
224+
### [Use map configuration](#tab/map-configuration)
225225

226226
``` javascript
227227
import { ConfigurationMapFeatureFlagProvider, FeatureManager } from "@microsoft/feature-management";
@@ -234,7 +234,7 @@ if (isBetaEnabled) {
234234
}
235235
```
236236

237-
### [Use object Configuration](#tab/object-configuration)
237+
### [Use object configuration](#tab/object-configuration)
238238

239239
``` javascript
240240
import { ConfigurationObjectFeatureFlagProvider, FeatureManager } from "@microsoft/feature-management";
@@ -295,7 +295,7 @@ interface IFeatureFilterEvaluationContext {
295295

296296
`IFeatureFilterEvaluationContext` has a property named `parameters`. These parameters represent a raw configuration that the feature filter can use to decide how to evaluate whether the feature should be enabled or not. To use the browser feature filter as an example once again, the filter could use `parameters` to extract a set of allowed browsers that would be specified for the feature and then check if the request is being sent from one of those browsers.
297297

298-
### Use application context For feature evaluation
298+
### Use application context for feature evaluation
299299

300300
A feature filter may need runtime application context to evaluate a feature flag. You can pass in the context as a parameter when calling `isEnabled`.
301301

@@ -307,7 +307,7 @@ The feature filter can take advantage of the context that is passed in when `isE
307307

308308
## Built-in feature filters
309309

310-
There are a two feature filters that come with the `FeatureManagement` package: `TimeWindowFilter`, and `TargetingFilter`.
310+
There are two feature filters that come with the `FeatureManagement` package: `TimeWindowFilter`, and `TargetingFilter`.
311311

312312
Each of the built-in feature filters has its own parameters. Here's the list of feature filters along with examples.
313313

@@ -372,18 +372,18 @@ Targeting is a feature management strategy that enables developers to progressiv
372372

373373
The following steps demonstrate an example of a progressive rollout for a new 'Beta' feature:
374374

375-
1. Individual users Jeff and Alicia are granted access to the Beta
376-
2. Another user, Mark, asks to opt in and is included.
377-
3. Twenty percent of a group known as "Ring1" users are included in the Beta.
378-
5. The number of "Ring1" users included in the beta is bumped up to 100 percent.
379-
5. Five percent of the user base is included in the beta.
380-
6. The rollout percentage is bumped up to 100 percent and the feature is completely rolled out.
375+
1. Individual users Jeff and Alicia are granted access to the Beta.
376+
1. Another user, Mark, asks to opt in and is included.
377+
1. Twenty percent of a group known as "Ring1" users are included in the Beta.
378+
1. The number of "Ring1" users included in the Beta is bumped up to 100 percent.
379+
1. Five percent of the user base is included in the Beta.
380+
1. The rollout percentage is bumped up to 100 percent and the feature is completely rolled out.
381381

382-
This strategy for rolling out a feature is built in to the library through the included [Microsoft.Targeting](#microsofttargeting) feature filter.
382+
This strategy for rolling out a feature is built into the library through the included [Microsoft.Targeting](#microsofttargeting) feature filter.
383383

384384
### Targeting a user with targeting context
385385

386-
The targeting filter relies on a targeting context to evaluate whether a feature should be turned on. This targeting context contains information such as what user is currently being evaluated, and what groups the user in. The targeting context must be passed directly when `isEnabled` is called.
386+
The targeting filter relies on a targeting context to evaluate whether a feature should be turned on. This targeting context contains information such as what user is currently being evaluated, and what groups the user is in. The targeting context must be passed directly when `isEnabled` is called.
387387

388388
``` javascript
389389
featureManager.isEnabled("Beta", { userId: "Aiden", groups: ["Ring1"] })
@@ -683,7 +683,7 @@ import { ApplicationInsights } from "@microsoft/applicationinsights-web"
683683
import { createTelemetryPublisher, trackEvent } from "@microsoft/feature-management-applicationinsights-browser"
684684

685685
const appInsights = new ApplicationInsights({ config: {
686-
connectionString: "<your-connection-string>"
686+
connectionString: "InstrumentationKey=YOUR_INSTRUMENTATION_KEY_GOES_HERE",
687687
}});
688688
appInsights.loadAppInsights();
689689

@@ -701,13 +701,10 @@ trackEvent(appInsights, TARGETING_ID, {name: "TestEvent"}, {"Tag": "Some Value"}
701701
If your application runs in the Node.js, install the [`"@microsoft/feature-management-applicationinsights-node"`](https://www.npmjs.com/package/@microsoft/feature-management-applicationinsights-node) package. The following example shows how you can create a built-in Application Insights telemetry publisher and register it to the feature manager.
702702
703703
``` javascript
704-
import ApplicationInsights from "applicationinsights"
704+
import appInsights from "applicationinsights"
705705
import { createTelemetryPublisher, trackEvent } from "@microsoft/feature-management-applicationinsights-node"
706706

707-
const appInsights = new ApplicationInsights({ config: {
708-
connectionString: "<your-connection-string>"
709-
}});
710-
appInsights.loadAppInsights();
707+
appInsights.setup().start(); // for more information: https://learn.microsoft.com/azure/azure-monitor/app/nodejs#basic-usage
711708

712709
...
713710
const telemetryPublisher = createTelemetryPublisher(appInsights.defaultClient);

articles/azure-app-configuration/feature-management-python-reference.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -266,14 +266,14 @@ Targeting is a feature management strategy that enables developers to progressiv
266266

267267
The following steps demonstrate an example of a progressive rollout for a new 'Beta' feature:
268268

269-
1. Individual users Jeff and Alicia are granted access to the Beta
270-
2. Another user, Mark, asks to opt in and is included.
271-
3. Twenty percent of a group known as "Ring1" users are included in the Beta.
272-
5. The number of "Ring1" users included in the beta is bumped up to 100 percent.
273-
5. Five percent of the user base is included in the beta.
274-
6. The rollout percentage is bumped up to 100 percent and the feature is completely rolled out.
275-
276-
This strategy for rolling out a feature is built in to the library through the included [Microsoft.Targeting](#microsofttargeting) feature filter.
269+
1. Individual users Jeff and Alicia are granted access to the Beta.
270+
1. Another user, Mark, asks to opt in and is included.
271+
1. Twenty percent of a group known as "Ring1" users are included in the Beta.
272+
1. The number of "Ring1" users included in the Beta is bumped up to 100 percent.
273+
1. Five percent of the user base is included in the Beta.
274+
1. The rollout percentage is bumped up to 100 percent and the feature is completely rolled out.
275+
276+
This strategy for rolling out a feature is built into the library through the included [Microsoft.Targeting](#microsofttargeting) feature filter.
277277

278278
### Targeting a user
279279

0 commit comments

Comments
 (0)