diff --git a/website/docs/sdk-reference/dotnet/_template.mdx b/website/docs/sdk-reference/dotnet/_template.mdx index 40a68d3d..04c71c53 100644 --- a/website/docs/sdk-reference/dotnet/_template.mdx +++ b/website/docs/sdk-reference/dotnet/_template.mdx @@ -265,7 +265,7 @@ using ConfigCat.Extensions.Hosting; { configCatBuilder.AddDefaultClient(options => { - options.SdkKey = "#YOUR-SDK-KEY#"; + options.SdkKey = "#YOUR-SDK-KEY#"; }); }); ``` @@ -301,10 +301,10 @@ using ConfigCat.Extensions.Hosting; ```csharp services.AddConfigCat(configCatBuilder => { - configCatBuilder.AddDefaultClient(options => - { - options.SdkKey = "#YOUR-SDK-KEY#"; - }); + configCatBuilder.AddDefaultClient(options => + { + options.SdkKey = "#YOUR-SDK-KEY#"; + }); }); ``` diff --git a/website/docs/sdk-reference/openfeature/dotnet.mdx b/website/docs/sdk-reference/openfeature/dotnet.mdx index 164fa7d5..a0426be3 100644 --- a/website/docs/sdk-reference/openfeature/dotnet.mdx +++ b/website/docs/sdk-reference/openfeature/dotnet.mdx @@ -7,7 +7,7 @@ description: ConfigCat OpenFeature Provider for .NET. This is a step-by-step gui import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -ConfigCat OpenFeature Provider for .NET on GitHub +ConfigCat OpenFeature Provider for .NET on GitHub ## Getting started @@ -17,21 +17,21 @@ import TabItem from '@theme/TabItem'; ```powershell -Install-Package OpenFeature.Contrib.Providers.ConfigCat +Install-Package OpenFeature.Providers.ConfigCat ``` ```bash -dotnet add package OpenFeature.Contrib.Providers.ConfigCat +dotnet add package OpenFeature.Providers.ConfigCat ``` ```xml - + ``` @@ -43,7 +43,7 @@ The `ConfigCatProvider` constructor takes the SDK key and an optional callback t ```cs using System; using ConfigCat.Client; -using OpenFeature.Contrib.ConfigCat; +using OpenFeature.Providers.ConfigCat; // Specify options for the ConfigCat SDK. Action configureOptions = (options) => @@ -91,18 +91,25 @@ The ConfigCat provider translates these evaluation contexts to ConfigCat [User O The following table shows how the different context attributes are mapped to User Object attributes. -| Evaluation context | User Object | Required | -| ------------------ | ------------ | -------- | -| `Id`/`Identifier` | `Identifier` | ☑ | -| `Email` | `Email` | | -| `Country` | `Country` | | -| Any other | `Custom` | | +| Evaluation context | User Object | Required | +| ------------------------------------ | ------------ | -------- | +| `targetingKey` (`Id` / `Identifier`) | `Identifier` | ☑ | +| `Email` | `Email` | | +| `Country` | `Country` | | +| Any other | `Custom` | | + +Remarks: +- If `targetingKey` is present in the evaluation context, it will be mapped to the `Identifier` property. Otherwise, `Id` or `Identifier` will be mapped, whichever occurs first. + (If none of these keys are present, the `Identifier` property will be set to the fallback value `""`.) +- The keys `Id`, `Identifier`, `Email` and `Country` are matched case-insensitively. If the same key appears in multiple cases - e.g. `email` and `Email` - the first occurrence will be mapped to the corresponding property. +- All of the above will also be included in the `Custom` dictionary (except for the exact keys `Identifier`, `Email` and `Country`). This allows them to be referenced using their original names in feature flag rules. +- Other keys are mapped as custom user attributes with their values unchanged. (Although the ConfigCat SDK handles value conversion internally, it's recommended to use the type expected by the referencing feature flag rules. Read more [here](../../dotnet/#user-object-attribute-types).) To evaluate feature flags for a context, use the OpenFeature Evaluation API: ```cs var context = OpenFeature.Model.EvaluationContext.Builder() - .Set("Id", "#SOME-USER-ID#") + .SetTargetingKey("#SOME-USER-ID#") .Set("Email", "configcat@example.com") .Set("Country", "CountryID") .Set("Rating", 4.5) @@ -114,5 +121,5 @@ var isAwesomeFeatureEnabled = await client.GetBooleanValueAsync("isAwesomeFeatur ## Look under the hood -- ConfigCat OpenFeature Provider's repository on GitHub -- ConfigCat OpenFeature Provider on nuget.org +- ConfigCat OpenFeature Provider's repository on GitHub +- ConfigCat OpenFeature Provider on nuget.org diff --git a/website/docs/sdk-reference/openfeature/js.mdx b/website/docs/sdk-reference/openfeature/js.mdx index 26672cdb..9ced7731 100644 --- a/website/docs/sdk-reference/openfeature/js.mdx +++ b/website/docs/sdk-reference/openfeature/js.mdx @@ -68,12 +68,19 @@ The ConfigCat provider translates these evaluation contexts to ConfigCat [User O The following table shows how the different context attributes are mapped to User Object attributes. -| Evaluation context | User Object | Required | -| ------------------ | ------------ | -------- | -| `targetingKey` | `identifier` | ☑ | -| `email` | `email` | | -| `country` | `country` | | -| Any other | `custom` | | +| Evaluation context | User Object | Required | +| ----------------------------- | ------------ | -------- | +| `targetingKey` (`identifier`) | `identifier` | ☑ | +| `email` | `email` | | +| `country` | `country` | | +| Any other | `custom` | | + +Remarks: +- If `targetingKey` is present in the evaluation context, it will be mapped to the `Identifier` property. Otherwise, `identifier` will be mapped. + (If none of these keys are present, the ConfigCat SDK will fall back to using an empty string for the identifier.) +- Predefined keys (i.e., `targetingKey`, `identifier`, `email` and `country`) are matched case-sensitively. (Despite this, never use the keys `Identifier`, `Email` or `Country`, as those are ignored for technical reasons.) +- Predefined keys will also be included in the `custom` object. This allows them to be referenced using their original names in feature flag rules. +- Other keys are mapped as custom user attributes with their values unchanged, except for objects and non-string arrays, which are converted to JSON for historical reasons. (Although the ConfigCat SDK handles value conversion internally, it's recommended to use the type expected by the referencing feature flag rules. Read more [here](../../js/overview#user-object-attribute-types).) To evaluate feature flags for a context, use the OpenFeature Evaluation API: diff --git a/website/docs/sdk-reference/openfeature/node.mdx b/website/docs/sdk-reference/openfeature/node.mdx index 077150e2..370d57a6 100644 --- a/website/docs/sdk-reference/openfeature/node.mdx +++ b/website/docs/sdk-reference/openfeature/node.mdx @@ -68,12 +68,19 @@ The ConfigCat provider translates these evaluation contexts to ConfigCat [User O The following table shows how the different context attributes are mapped to User Object attributes. -| Evaluation context | User Object | Required | -| ------------------ | ------------ | -------- | -| `targetingKey` | `identifier` | ☑ | -| `email` | `email` | | -| `country` | `country` | | -| Any other | `custom` | | +| Evaluation context | User Object | Required | +| ----------------------------- | ------------ | -------- | +| `targetingKey` (`identifier`) | `identifier` | ☑ | +| `email` | `email` | | +| `country` | `country` | | +| Any other | `custom` | | + +Remarks: +- If `targetingKey` is present in the evaluation context, it will be mapped to the `Identifier` property. Otherwise, `identifier` will be mapped. + (If none of these keys are present, the ConfigCat SDK will fall back to using an empty string for the identifier.) +- Predefined keys (i.e., `targetingKey`, `identifier`, `email` and `country`) are matched case-sensitively. (Despite this, never use the keys `Identifier`, `Email` or `Country`, as those are ignored for technical reasons.) +- Predefined keys will also be included in the `custom` object. This allows them to be referenced using their original names in feature flag rules. +- Other keys are mapped as custom user attributes with their values unchanged, except for objects and non-string arrays, which are converted to JSON for historical reasons. (Although the ConfigCat SDK handles value conversion internally, it's recommended to use the type expected by the referencing feature flag rules. Read more [here](../../js/overview#user-object-attribute-types).) To evaluate feature flags for a context, use the OpenFeature Evaluation API: diff --git a/website/docs/sdk-reference/openfeature/overview.mdx b/website/docs/sdk-reference/openfeature/overview.mdx index 9a2aba1d..05c2cc8c 100644 --- a/website/docs/sdk-reference/openfeature/overview.mdx +++ b/website/docs/sdk-reference/openfeature/overview.mdx @@ -23,7 +23,7 @@ Supported platforms include:
.NET
- +
diff --git a/website/versioned_docs/version-V1/sdk-reference/openfeature/dotnet.mdx b/website/versioned_docs/version-V1/sdk-reference/openfeature/dotnet.mdx index 621db921..60f06f1a 100644 --- a/website/versioned_docs/version-V1/sdk-reference/openfeature/dotnet.mdx +++ b/website/versioned_docs/version-V1/sdk-reference/openfeature/dotnet.mdx @@ -7,7 +7,7 @@ description: ConfigCat OpenFeature Provider for .NET. This is a step-by-step gui import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -ConfigCat OpenFeature Provider for .NET on GitHub +ConfigCat OpenFeature Provider for .NET on GitHub ## Getting started @@ -17,21 +17,21 @@ import TabItem from '@theme/TabItem'; ```powershell -Install-Package OpenFeature.Contrib.Providers.ConfigCat +Install-Package OpenFeature.Providers.ConfigCat ``` ```bash -dotnet add package OpenFeature.Contrib.Providers.ConfigCat +dotnet add package OpenFeature.Providers.ConfigCat ``` ```xml - + ``` @@ -43,7 +43,7 @@ The `ConfigCatProvider` constructor takes the SDK key and an optional callback t ```cs using System; using ConfigCat.Client; -using OpenFeature.Contrib.ConfigCat; +using OpenFeature.Providers.ConfigCat; // Specify options for the ConfigCat SDK. Action configureOptions = (options) => @@ -114,5 +114,5 @@ var isAwesomeFeatureEnabled = await client.GetBooleanValueAsync("isAwesomeFeatur ## Look under the hood -- ConfigCat OpenFeature Provider's repository on GitHub -- ConfigCat OpenFeature Provider on nuget.org \ No newline at end of file +- ConfigCat OpenFeature Provider's repository on GitHub +- ConfigCat OpenFeature Provider on nuget.org \ No newline at end of file diff --git a/website/versioned_docs/version-V1/sdk-reference/openfeature/overview.mdx b/website/versioned_docs/version-V1/sdk-reference/openfeature/overview.mdx index 7f362b0f..d324c6a1 100644 --- a/website/versioned_docs/version-V1/sdk-reference/openfeature/overview.mdx +++ b/website/versioned_docs/version-V1/sdk-reference/openfeature/overview.mdx @@ -16,7 +16,7 @@ ConfigCat offers providers for the following platforms supported by OpenFeature
.NET
- +