CartoDB uses feature flags, so different users can have access to different features of CartoDB. If you would like to enable or disable feature flags to one or all users or to a given organization, you can use the rake tasks described in this section. Feature flag creation and deletion are also covered.
Enabling a feature for all users is done with a rake task called enable_feature_for_all_users
and it takes one parameter.
feature_flag_name
is the name of the feature flag to be enabled. For example: 'special_dashboard'.
This task is executed like:
$ bundle exec rake cartodb:features:enable_feature_for_all_users[<feature_flag_name>]
And an example to enable the 'special_dashboard' feature could be:
$ bundle exec rake cartodb:features:enable_feature_for_all_users["special_dashboard"]
Enabling a feature for a given user is done with a rake task called enable_feature_for_user
and it takes two parameters.
feature_flag_name
is the name of the feature flag to be enabled. For example: 'special_dashboard'.user_name
is the user name of the user to whom the feature flag is to be enabled. For example: 'manolo'.
This task is executed like:
$ bundle exec rake cartodb:features:enable_feature_for_user[<feature_flag_name>,<user_name>]
Warning
Please be very careful NOT to leave a space between parameters, as it will cause rake to spit a don't know how to build task
type error.
And an example to enable the 'special_dashboard' feature for user with user name 'manolo' could be:
$ bundle exec rake cartodb:features:enable_feature_for_user["special_dashboard","manolo"]
Enabling a feature for a given organization is done with a rake task called enable_feature_for_organization
and it takes two parameters.
feature_flag_name
is the name of the feature flag to be enabled. For example: 'special_dashboard'.organization_name
is the internal name ('cartodb' vs 'CartoDB Inc.') to which the feature flag is to be enabled. For example: 'cartodb'.
This task is executed like:
$ bundle exec rake cartodb:features:enable_feature_for_organization[<feature_flag_name>,<organization_name``
Warning
Please be very careful NOT to leave a space between parameters, as it will cause rake to spit a don't know how to build task
type error.
And an example to enable the 'special_dashboard' feature for organization 'cartodb' could be:
$ bundle exec rake cartodb:features:enable_feature_for_organization["special_dashboard","cartodb"]
Disabling a feature for all users is done with a rake task called disable_feature_for_all_users
and it takes one parameter.
feature_flag_name
is the name of the feature flag to be disabled. For example: 'special_dashboard'.
This task is executed like:
$ bundle exec rake cartodb:features:disable_feature_for_all_users[<feature_flag_name>]
And an example to disable the 'special_dashboard' feature could be:
$ bundle exec rake cartodb:features:disable_feature_for_all_users["special_dashboard"]
Disabling a feature for a given user is done with a rake task called disable_feature_for_user
and it takes two parameters.
feature_flag_name
is the name of the feature flag to be disabled. For example: 'special_dashboard'.user_name
is the user name of the user to whom the feature flag is to be disabled. For example: 'manolo'.
This task is executed like:
$ bundle exec rake cartodb:features:disable_feature_for_user[<feature_flag_name>,<user_name>]
Warning
Please be very careful NOT to leave a space between parameters, as it will cause rake to spit a don't know how to build task
type error.
And an example to disable the 'special_dashboard' feature for user with user name 'manolo' could be:
$ bundle exec rake cartodb:features:disable_feature_for_user["special_dashboard","manolo"]
Disabling a feature for a given organization is done with a rake task called disable_feature_for_organization
and it takes two parameters.
feature_flag_name
is the name of the feature flag to be disabled. For example: 'special_dashboard'.organization_name
is the internal name ('cartodb' vs 'CartoDB Inc.') to which the feature flag is to be disabled. For example: 'cartodb'.
This task is executed like:
$ bundle exec rake cartodb:features:disable_feature_for_organization[<feature_flag_name>,<organization_name``
Warning
Please be very careful NOT to leave a space between parameters, as it will cause rake to spit a don't know how to build task
type error.
And an example to disable the 'special_dashboard' feature for organization 'cartodb' could be:
$ bundle exec rake cartodb:features:disable_feature_for_organization["special_dashboard","cartodb"]
Adding feature flags should be done using the rake task called add_feature_flag
. This rake task only takes one argument:
feature_flag_name
is the name of the feature flag to be created.
This task is executed like:
$ bundle exec rake cartodb:features:add_feature_flag[<feature_flag_name>]
And an example to create a feature flag named "special_dashboard" could be:
$ bundle exec rake cartodb:features:add_feature_flag["special_dashboard"]
Removing feature flags should be done using the rake task called remove_feature_flag
. This rake task only takes one argument:
feature_flag_name
is the name of the feature flag to be removed.
This task is executed like:
$ bundle exec rake cartodb:features:remove_feature_flag[<feature_flag_name>]
And an example to remove a feature flag named "special_dashboard" could be:
$ bundle exec rake cartodb:features:remove_feature_flag["special_dashboard"]
All existing feature flags can be listed using the rake task called list_all_features
.
This task is executed like:
$ bundle exec rake cartodb:features:list_all_features