✏️ Explanatory Question

What is Feature Management in Dynamics 365 Finance & Operations, how does it differ from a Configuration Key, and why does the development guideline advise partners not to rely on Feature Management for enabling/disabling customizations?

👁 4 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

D365 F&O • X++ INTERVIEW

Feature Management vs. Configuration Keys in Dynamics 365 Finance & Operations

Question 44 — What Feature Management is, and why partners should still rely on configuration keys.

Interview Question

What is Feature Management in Dynamics 365 Finance & Operations, how does it differ from a Configuration Key, and why does the development guideline advise partners not to rely on Feature Management for enabling/disabling customizations?

Model Answer (Short)

Feature Management is a workspace that lets administrators turn Microsoft-delivered features on or off without code changes, often on a schedule as features become mandatory. However, the guideline is clear: Feature Management is not officially supported for partners to use — it is solely used by Microsoft, and Microsoft confirmed it does not replace configuration keys. Because its APIs might change, it is not advised for use on partner/customer projects. So for enabling/disabling your own customizations, you should continue to use configuration keys (system-wide on/off) and parameters (per-company behaviour), not Feature Management.

Detailed Explanation

What Feature Management is

  • A workspace for enabling/disabling features without code deployment.
  • Used by Microsoft to roll out features, often becoming mandatory over time.
  • Lets admins preview and adopt new capabilities at their own pace.

Why partners should not rely on it

  • It is not officially supported for partners to use.
  • It is solely used by Microsoft.
  • Microsoft confirmed it does not replace configuration keys.
  • Its APIs might change, so it is not advised on projects.
GUIDELINE
Partner customizations = Config Key / Parameter  •  Feature Management = Microsoft only

What to use instead

  • Configuration Key — enable/disable a customization system-wide.
  • Parameter — control behaviour at the company (legal entity) level.
  • Assign a configuration key to every new table, view and menu item.

Prerequisites (Rule 5)

  • Visual Studio with the Dynamics 365 developer tools.
  • A custom model / package for your objects.
  • A configuration key object and/or a parameter table for your feature.

Code Example — Prefer a configuration key check

// Partner-safe: gate custom logic on a configuration key (not Feature Management)
if (isConfigurationKeyEnabled(configurationKeyNum(AbcNewModule)))
{
    // Execute the customization
    this.runAbcFeature();
}

Company-level behaviour via a parameter

AbcParameters parameters = AbcParameters::find();

if (parameters.EnableAbcFeature)
{
    // Behaviour that can differ per company
    this.runAbcFeature();
}

Feature Management vs. Configuration Key

Aspect Feature Management Configuration Key
Owned/used by Microsoft Partner / customer
Partner support Not officially supported Fully supported
Effect when off Feature hidden/disabled Tables/fields removed from DB
API stability May change Stable
Use for customizations Not advised Recommended

Points the interviewer wants to hear

  • Feature Management enables/disables features without code, but is Microsoft-only.
  • It is not officially supported for partners and its APIs may change.
  • It does not replace configuration keys.
  • Use configuration keys (system-wide) and parameters (per company) for customizations.
  • Every new table/view/menu item should carry a configuration key.

Likely Follow-up Questions

  • Why is Feature Management not recommended for partner customizations?
  • Does Feature Management replace configuration keys?
  • What is the difference in effect when a configuration key vs. a feature is disabled?
  • Which mechanism would you use to enable a feature only for one company?

Key Takeaway

Feature Management is a Microsoft-owned mechanism that is not officially supported for partners and does not replace configuration keys. For enabling/disabling your own customizations, stick with configuration keys (system-wide) and parameters (per company).