When you are working on a large project sometimes you need the ability to gradually roll out a new feature to public facing users. Out of the box, Drupal doesn’t provide too much to assist you with this however one option is to riddle your code with ‘if-something-then-do-something’ checks but what happens if you need to update that condition? You’ve then got to go back through and redo all the conditionals and what happens if you miss one and suddenly your checks no longer match up?
To combat this, many other frameworks and applications implement feature
toggles which allow you to implement checks around your code and manage a
single source for the conditional. By using feature toggling, you still need to
if conditionals, however the checks are all maintained in a
single place so this no chance of it getting out of sync with each other.
Now that you know what feature toggling is and how it’s going to benefit your site, you’ll need to go and install flip.
Putting it into action
Once the module is installed, you’ll need to register your toggle with the flip
module - you can do this by implementing
hook_flip_info within the module
which the toggle will be used in.
Be sure to check the docs on what each key does!
The main bit here is the
condition key. This is the callback you wish to
toggle based on - some examples used within these callbacks are: particular user
roles, percentage of requests or time of the day. For simplicity sake, the
conditional I will be using is that the username is “Jacob”.
Once you have defined the
hook_flip_info and flushed caches, all the
implementing toggles should now be visible at
Note: For a toggle to work, it must be marked as enabled in
admin/config/development/flip AND the condition callback must return
TRUE. This is quiet powerful as it allows you to disable a toggle via the
adminsitration UI in the event of something going wrong and you not being able
to make a code push to change it.
Now it’s time to test the toggle!
To explore this more, be sure to check out the following articles which demonstrate how powerful feature toggling can be.