jrallison / rollout_ui

RolloutUI: A slick way to rollout features in your web app.
MIT License
137 stars 86 forks source link

Add and remove features from the UI #30

Open davejachimiak opened 10 years ago

davejachimiak commented 10 years ago

Adding features from the UI

In the case where RolloutUI is used in a system that eager loads enabled features for a user rather than asking whether a specific feature is enabled, developers can only create features through some sort of back-end mechanism like through the Rails console or a rake task.

This pull gives admins/developers the ability to add features directly from the Rollout UI, making it way easier to add features for such a system mentioned above.

Remove features from the UI

When a feature toggle is no longer necessary for a given feature, there is no way to clean up these features from the UI, let alone some back end mechanism.

This pull gives admins/developers the ability to remove features directly from the Rollout UI which will help keep our indexes clean.

bomatson commented 10 years ago

+1 remove features! Very needed

kbaum commented 10 years ago

+1 remove features

mwynholds commented 10 years ago

+1 what do you think @jrallison can you merge this and give us 0.3.1 or 0.4?

gingerlime commented 9 years ago

+1. One thing I noticed however, is that rollout also stores a comma-separated list of features in feature:__features__. But doesn't look like RolloutUI is using.

In case it's helpful, I wrote a tiny helper to remove features from Rollout

module RolloutHelper                                                                                                                                                                                               
  def self.remove_feature(feature)                                                                                                                                                                                 
    features = redis.get('feature:__features__').split(',')                                                                                                                                                 
    features.delete(feature)                                                                                                                                                                                       
    redis.set('feature:__features__', features.join(','))                                                                                                                                                   
    redis.srem('features', feature)                                                                                                                                                                         
  end                                                                                                                                                                                                              
end     
fredrik commented 9 years ago

Let's merge this, @jrallison