Skip to content

Unify the old and new feature flag APIs in frontend and backend #38365

@mdperez86

Description

@mdperez86

Description

Considering this comment and this comment we should unify/normalize the way we consume the old and new feature flag systems to have just one source of truth.

Check this PR as a reference.

Note: The Features folder under Admin/Features -> https://github.com/woocommerce/woocommerce/tree/trunk/plugins/woocommerce/src/Admin/Features auto initiates features that are enabled within the core/development.json files.

Feature flag requirements

  • Can be optionally shown under the WooCommerce > Settings > Advanced > Features settings menu
  • Can be enabled/disabled using the beta tester plugin ( whether shown or not shown in the settings menu )
  • Should contain functionality of new features API
    • Label as experimental
    • Enabled by default
    • Disable in the UI
    • Name and description
  • Backwards compatible with current features toggled using admin config (development.json & core.json), we may actually want to delete this and remove any unused features and port the rest over to the new feature flag config.
  • The WooCommerce\Admin\Features folder should still work correctly and auto initiate feature classes if they are enabled and exist.
  • (potential) add support for syncing with woocommerce.com for disabling features on the fly.

Potential issues we want to split this up in:

  • Clean up core/development config json's, remove features that are not relevant anymore, or stabilize features that have been enabled for a while on both core & development.
  • Move left over features from above to new Features system
  • Add support for not showing features in settings menu within FeaturesController
  • Move features definition array to it's own php file
  • Expose feature enable/disable functions for use externally ( like the beta tester )

Metadata

Metadata

Assignees

No one assigned

    Labels

    KirigamiWC Store Editing (FSE)plugin: woocommerceIssues related to the WooCommerce Core plugin.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions