Entitled Features

>What Is an Entitled Feature?

>What are Feature Flags?

>Supported Feature Flag Management Platforms

>Sentinel EMS Workflow with Feature Flag Management Platforms

>Identifying Features Flags in Sentinel EMS

>Associated Administration Console Properties

New to Sentinel EMS?
See How to Use Sentinel EMS?

What Is an Entitled Feature?

An entitled feature represents a purchased commercial feature delivered to the customer through a Sentinel EMS entitlement. You can use the Get Entitled Features API endpoint in your applications for quick entitlement lookup to get a summary of entitled features for a customer. The summary includes information about the associated product, available and remaining quantities, and the enabled or disabled status of the feature. For more details of the endpoint, refer to Sentinel EMS API Reference.

Uses of Quick Retrieval of Entitled Features

This feature is useful for the following reasons:

>Faster Entitlement Lookup: The capability for a speedy entitlement lookup implies reduced latency and quicker response times when making requests to Sentinel EMS API. Faster lookups contribute to improved application performance and enhanced user experience .

>Seamless Integration with Feature Flag Management platforms: You can also utilize this capability as a faster way of retrieving entitled features for integrating Sentinel EMS with feature flag management platforms. You can automatically enable feature access to targeted users based on certain events so that your users are able to use the features to which they are entitled.

What are Feature Flags?

Feature flags (also known as feature toggles or feature switches) are a software development technique that switches certain functionality on and off at runtime, without deploying new code. This allows for better control and more experimentation over the full lifecycle of features. As a SaaS vendor, you can decouple the process of delivering software from the process of releasing features. You can deploy a feature any time you want but release it only when you are ready. You can target the delivery of certain features to a specific set of users.

Sentinel EMS supports integration with popular feature flag management platforms to allow you to deliver changes more frequently, collect feedback, and adapt to the competitive market quickly. You can use Sentinel EMS entitlements to deploy commercial features controlled with feature flags.

Integrating a feature flag management platform with Sentinel EMS enables you to automatically create features in Sentinel EMS and then switch them on or off based on the entitlement status or specific entitlement attributes. With the entitlement-driven feature flags, you can:

> Grow revenue: Allows teams to increase conversions and upsells by targeting users with entitlement-specific attributes including plan type, subscription status, and order quantity to temporarily enable premium features for lower-grade plans, enticing users to upgrade.

> Increase agility: Entitlement-driven feature flags decouple pricing, packaging, and provisioning decisions from the engineering teams. Dedicated entitlement management enables business teams to make entitlement decisions without requiring code changes.

Supported Feature Flag Management Platforms

Sentinel EMS supports the following feature flag management platforms:

>LaunchDarkly

>Split

For more information on these platforms, refer to their respective documentation.

Sentinel EMS Workflow with Feature Flag Management Platforms

Sentinel EMS integration with feature flag management platforms allows you to control the delivery of commercial features in subscription plans. You can automatically enable feature access to targeted users based on certain events so that your users are able to use the features to which they are entitled.

The following workflow explains how events in feature flag management platforms trigger feature creation in Sentinel EMS and how the features packaged in entitlements are delivered to the client application:

1.Obtain the Sentinel EMS endpoint and API key for the feature flag management platform from the Sentinel EMS Administration Console.

2.Configure the Sentinel EMS endpoint and API key in a webhook in your feature flag management platform. This ensures that whenever a feature flag is created, an HTTP POST payload is sent to the endpoint configured in the webhook.

For LaunchDarkly, you need to configure both the endpoint and API key.

ClosedHow?

In the LaunchDarkly UI, go to the Integrations page, and click Add Integration. The Create a webhook page appears. Enter the Sentinel EMS endpoint in the URL field, set the desired optional parameters, accept the terms and conditions, and click Save Settings.

After creating the webhook, edit it, enter the Sentinel EMS API key in the Secret (optional) field, and click Save Settings.

For Split, you do not need the API key. Configure only the Sentinel EMS endpoint.

ClosedHow?

In the Split UI, go to Admin Settings > Integrations. Click Add next to Outgoing Webhook (Audit Logs). Enter the Sentinel EMS endpoint in the URL field (where the POST should be sent). Click Save.

3.Create a feature flag in the feature flag platform.

In LaunchDarkly, in feature flag settings, set the Tags value to EntitledFeature. This tag is used to filter out commercial features that need to be created in Sentinel EMS. Note that the Key of a feature flag in LaunchDarkly (not the Name) maps to the feature name in Sentinel EMS.
To create a feature flag in LaunchDarkly, click Create flag. In the first step of the Create new flag screen, select the type of flag you are creating, for example, Release, and click Next. In the second step, enter the Name of the flag; the Key is created automatically, click Next. In the third step, keep the default settings, and click Create flag. The feature flag is created and its various tabs are shown. Go to the Settings tab, set the Tags value to EntitledFeature, and click Save with comment. In the confirmation dialog box, enter the tag name again, and click Confirm.
The tag you created, EntitledFeature, is used to filter entitled features in Sentinel EMS.

In Split, you do not need to tag feature flags. All Split feature flags are considered to be commercial features. Any tags specified in Split are ignored by Sentinel EMS.

4.The feature flag management platform generates an event, based on which a feature is created in Sentinel EMS using the pre-seeded entities (namespace, license model, etc.). Refer to the section Identifying Features Flags in Sentinel EMS for information on how to identify features created in Sentinel EMS based on features flag events.

5.Create products and entitlements in Sentinel EMS for the features created based on feature flag events.

When creating products for flagged features, use only the Default product type. When associating the products to an entitlement, you must specify a customer for the entitlement. Apart from these, the procedures of creating a products and an entitlement remain the same as for other enforcements.

6.The Entitlement (Create/Update/Split) and Activation (Create/Renew/Rehost/Revoke) actions in Sentinel EMS generate events and push the specific data to the database.

7.Configure Sentinel EMS endpoint and Sentinel EMS API key, obtained from the Sentinel EMS Administration Console, in a client application.

8.The client application sends an API request to Sentinel EMS using customer identifier and API key. Sentinel EMS validates the request and sends a JSON response with details of feature, product, and entitlement to the client application. Based on whether the entitlement is enabled, the client application queries the feature flag management platform. A sample API response is shown below. For details, refer to Sentinel EMS API Reference.

{
  "entitledFeatures": [
    {
      "name": "TestFeature",
      "startDate": "2022-05-21",
      "endDate": "2500-12-31",
      "product": "TestProduct 1.0",
      "totalQuantity": 10,
      "availableQuantity": 9,
      "consumedQuantity": 1,
      "eId": "1234567-abcd-1234-abcd-abcde123456",
      "enabled": true,
      "lastModifiedDate": "2022-05-22 06:43"
    }
  ]
}

Identifying Features Flags in Sentinel EMS

Driven by feature flags, Sentinel EMS creates features in Sentinel EMS using pre-seeded entities and attributes. For example, features are created in the Feature-Flag namespace using the Services license model of the Services enforcement.

The features created in Sentinel EMS vendor portal based on feature flags can be identified using the following values:

Entity or Attribute Value in Sentinel EMS
Feature Name

This is mapped to Key in LaunchDarkly and Name in Split.

Namespace Feature-Flag
Enforcement Services 1.0
License Model Services
Custom Attribute

isFeatureFlag set to "Yes"

NOTE   The default value is "No" for features not driven by feature flag management platforms.

Examples

To search feature flags in the Sentinel EMS vendor portal, filter by isFeatureFlag set to Yes. This lists only those features that are created based on feature flag events. An example is shown below:

You can expand the Associated License Models and Feature Attributes tabs to view details:

Important Points

>For LaunchDarkly, the Sentinel EMS API key must be configured in a webhook to ensure that features are created in Sentinel EMS. An API key is not required for Split.

>Do not delete or rename the Feature-Flag namespace, Services license model, or isFeatureFlag custom attribute. If these are deleted or renamed, Sentinel EMS will not create features based on feature flags. However, if deleted or renamed by mistake, try to restore these entities by adding them back or renaming them to the original values.

>For creating entitlements based on feature flags, use only the Default products. Also, note that features created based on feature flags do not have any version by default.

>When creating a feature flag in LaunchDarkly, you must tag it with EntitledFeature to indicate that the feature must be created in Sentinel EMS. The tag EntitledFeature must be spelled and written as-is. You do not need to tag feature flags in Split.

>Associating a customer is mandatory for entitlements containing entitled features.

>You should not combine feature-flag-integrated Sentinel EMS instance with other enforcements. Feature flag integration is supported with the Services enforcement only, so you can mix products with other Services license models, such as Training License Model and Support License Model.

Associated Administration Console Properties

You can view the properties related to the faster entitlement lookup and feature flag management platforms by using the Administration Console.