May 22, 2023

Understanding the Benefits of Feature Parameters

“Streamlining Feature Management: Benefits of Feature Parameters”

The Feature Management App (FMA) is a powerful tool available to Independent Software Vendors (ISVs) on the Salesforce platform. It enables an ISV to use LMO-to-subscriber feature parameters to enable or disable new features or to control how many of a given resource a subscriber can use. An ISV can also enable features for a limited trial period. Additionally, the app allows to utilize subscriber-to-LMO feature parameters to track preferences and activation metrics, providing the ISV with valuable insights into how their customers are using their managed package. 

This blog discusses the use of feature parameters in the Feature Management App (FMA) for Independent Software Vendors (ISVs) on the Salesforce platform. It explains how feature parameters allow for the management of Package features directly from a LMA and track usage metrics. The target audience is Independent Software Vendors on the Salesforce platform. The blog aims to address the complex and vulnerable approach of using Protected Custom Settings to enable or disable features before the implementation of feature parameters. 

Legacy Approach to Feature Management: Protected Custom Settings

Prior to feature parameters, several ISV partners used Protected Custom Settings to enable or disable features. The process involved, logging into customer orgs through the LMA Login Access feature and modifying the Protected Custom Setting to activate a particular feature. However, this approach was complex and vulnerable. 
 
With feature parameters, it is now possible for ISVs to manage their solution’s features directly from the same org where their LMA is installed. For each individual subscriber, they can select which features are visible, and these selections are immediately communicated to the customer’s subscriber orgs. 

Data Flows

Feature parameters can be managed for each customer through the Feature Management App (FMA), which is an extension of the LMA. This means that an ISV can now manage their feature settings in the same way that they manage their licenses through the LMA. 

The communication between their License Management Org (LMO) and their customer’s subscriber orgs is done through feature parameters.

These parameters are transferred in two directions: 

  • From LMO to a subscriber’s org 
  • From a subscriber’s org to LMO 
     
1. LMO to a Subscriber’s org

Feature parameters with a data flow direction value of LMO to Subscriber are writable at the ISV’s end and read-only in the subscriber’s org. They act as permissions or limits, allowing ISVs to enable or disable new features, control the usage of a particular resource by their subscribers, or offer features for a limited trial period. 

Example
Suppose an ISV is in the process of creating an AppExchange product and wants to offer their customers the option of choosing between a Basic and a Pro version. The Basic version would include only the essential features, while the Pro version would have all the advanced features. If the ISV wishes to grant access to premium features exclusively to customers who have purchased the Pro version, they can employ feature parameters with LMO-to-Subscriber data flow direction (DataFlowDirection__c). This feature allows them to manage their managed package in the subscriber org from their LMO. 

To accomplish this use case, an ISV can create a Boolean Feature Parameter with a default value of false. This parameter will allow them to regulate which features are accessible to users of the application. Here are the steps to create the feature parameter with LMO-to-Subscriber data flow direction: 

  1. Log in to LMO org and create a new Feature Parameter record. 
  2. Set the Data Flow Direction to LMO to Subscriber. 
  3. Set the Default Value to false. 
  4. Choose a descriptive name for the feature parameter, such as “Premium Version Access.” 
  5. Save the record. 

Now, when a customer is using the free version of the product, they will not have access to premium features. Once they decide to purchase the pro version, the ISV can update the value of the “Premium Version Access” feature parameter in the LMO org, and it will automatically sync with the subscriber org. Based on this value, the product features will be enabled or disabled in the subscriber org. This approach allows you to provide a seamless and personalized experience for the customers while efficiently controlling access to premium features. 

2. A subscriber’s org to your LMO

To monitor feature activation in a subscriber’s org, an ISV can utilize subscriber-to-LMO feature parameters. The parameter values are assigned on the subscriber’s end and then transmitted to your LMO. To gather these values, the ISV needs to update the feature parameters in their subscriber’s org by utilizing Apex code. However, before collecting activation metrics from the customers, it’s important to check with the legal team. To ensure customer privacy, collect only aggregated data related to feature activation using activation metrics. 
 
Example:
Suppose an ISV recently added a new feature to their managed package and want to understand how many users are enabling and using it. Tracking usage metrics can provide insights into feature adoption and success, areas for improvement and help make data-driven decisions for future development. 
 
To track usage metrics using the License Management App (LMA) with the Subscriber-to-LMO data flow direction type, the ISV should start by creating an integer feature parameter in the LMA and setting its data flow direction to Subscriber-to-LMO. Once this is done, they can use Apex code to update the feature parameter count every time a user enables the latest feature. This enables the subscriber organization to send information about the number of users who have enabled the latest feature back to the LMA. 
 
With the feature parameter set up, the ISV can effectively monitor the usage metrics of their latest feature, gaining insights into user engagement, adoption rates, and other important metrics. By leveraging this information, they can optimize their product to better meet the needs of their users and make informed decisions about future development. 
 
Here are the steps to create the feature parameter with Subscriber-to-LMO data flow direction: 

  1. Log in to LMO org and create a new Feature Parameter record. 
  2. Set the Data Flow Direction to Subscriber to LMO. 
  3. Set the Default Value to 0. 
  4. Give the feature parameter a meaningful name such as “Subscriber User Limit”. 
  5. Save the record. 

Conclusion: 

In conclusion, the Feature Management App (FMA) provides Independent Software Vendors (ISV) on the Salesforce platform with a powerful tool to manage their solution’s features directly from the same org where their LMA is installed. Feature parameters are an efficient and secure alternative to the legacy approach of using Protected Custom Settings to enable or disable features. With feature parameters, ISVs can track usage metrics and gain valuable insights into how their customers are using their managed package. By using feature parameters with LMO-to-Subscriber and Subscriber-to-LMO data flow directions, ISVs can provide a personalized experience for their customers. 

Share this post:
Facebook
Twitter
LinkedIn
WhatsApp

Discover more articles