Frontend Feature Flags



"Feature flags" is a way to change the behaviour of a specific frontend, just by updating a configuration file. It makes it easier to disable or enable specific features, like the ability to access the marketplace, or the ability to add users to an organisation for example. 





1 - Preamble

Feature flag options control the availability of specific features on MNO Frontends.

They are configured per frontend and can be setup in a config file named ~/config/settings.yml.

Most flag will come in the form:  

Note: a restart of the frontend will be necessary for any changes to be taken into consideration

2 - Feature flags summary

Frontend

Feature flagDefault value
pricing:
enabled:
false
dock:
enabled:
true
developer:
enabled:
false
reviews:
enabled:
false
payments:
disabled:
false
marketplace:
enabled:
true
marketplace:
comparison:
enabled:
false
organization_management:
enabled:
true
user_management:
enabled:
true
devise:
registration:
disabled:
false

Admin Panel

Feature flagDefault value
admin_panel:
impersonation:
disabled:
false
admin_panel:
staff:
disabled:
false
admin_panel:
finance:
enabled:
true
admin_panel:
apps_management:
enabled:
true
admin_panel:
customer_management:
organization:
enabled:
true
admin_panel:
customer_management:
user :
enabled:
true

3 - Frontend - Features flags details

3.1 - pricing

pricing:
  enabled: false

Description: Setting enabled to true will enable the pricing section in the marketplace

Default value: false


3.2 - dock

dock:
  enabled: true

Description: Setting enabled to true will display the application dock in the dashboard. Set to false will display a tile layout

Default value: true

Version with dock disabled:

3.3 - developer

developer:
  enabled: false

Description: Display the developer section on "My Account"

Default value: false

3.4 - reviews

reviews:
  enabled: false

Description: enable reviews in the marketplace

Default value: false

3.5 - payments

payments:
  disabled: false

Description: Disabled payment in the company settings and transform invoices in Account statements

Default value: false

3.6 - marketplace

marketplace:
  enabled: true

Description: enable the marketplace and adding new apps

Default value: true

marketplace:
  comparison:
    enabled: false

Description: enable apps comparisons

Default value: false


3.7 - organization_management

organization_management:
  enabled: true

Description: allow users to create and managed organizations

Default value: true


3.8 - user_management

user_management
  enabled: true

Description: allow users to edit their information and password

Default value: true


3.9 - devise

devise:
  registration:
    disabled: false 

Description: disable user registration

Default value: false

4 - Admin Panel - Features flags details

4.1 - impersonation

admin_panel:
  impersonation:
   disabled: false

Description: disable the ability to impersonate users from the admin panel

Default value: false


4.2 - staff

admin_panel:
  staff:
   disabled: false

Description: disable the staff management in the admin panel

Default value: false

4.3 - finance

admin_panel:
  finance:
   enabled: true

Description: disable the finance page, the financial kpis and the invoices in the admin panel

Default value: true


4.4 - apps_management

admin_panel:
  apps_management:
   enabled: true

Description: disable adding/removing apps (connection of added apps is still possible) from the admin panel

Default value: true

4.5 - customer_management

admin_panel:
  customer_management:
   organization:
       enabled: true

Description: disable the ability to create or invite customers from the admin panel

Default value: true

admin_panel:
  customer_management:
   user:
      enabled: true

Description: disable the ability to add users from the admin panel

Default value: true