uuid: - value: 6fb0a429-0264-4308-9436-f1115d5b108b langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:00+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: 'An example of feature flagging' created: - value: '2025-03-17T00:00:00+00:00' changed: - value: '2025-05-11T09:00:00+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2025/03/17/feature-flags langcode: en body: - value: |
I've written a number of emails about feature flags, or feature toggles, and am a strong advocate of using them whilst developing new features.
I've used them a couple of times recently on my website so I wanted to share them as examples.
Firstly, I wanted to experiment with a different layout for my presentation pages.
They currently have a list of events, embedded slides and a video recording when there is one.
Each event linked to its website, where applicable, and the slides and video were from one of the most recent versions of the presentation.
I wanted to change this so each event would have links to its own slides, example code or demo.
I didn't want to change this yet for all presentations, only my Sculpin talk as it's the most recent and, if I like it, later apply it to the others.
My website is built with Sculpin, so adding a feature flag was as simple as adding new: true
to the YAML front matter at the top of the file for that presentation.
This is available as page.new
in the layout file and I can use this to load different markup.
Secondly, I've been wanting to re-style my website with Tailwind CSS 4 and refactor some of the templating.
As this is a change I wanted to be site-wide, I added new_css: true
to my sculpin_site.yml file.
This time, I was able to use site.new_css
to toggle the loaded stylesheet and using Sculpin's environment files - e.g. sculpin_site_dev.yml and sculpin_site_prod.yml - I can be explicit about which stylesheets are used locally and for my live website.
Feature flags are a great approach to splitting up large changes into manageable, deployable pieces, and they don't need to be complicated.
Essentially, they are a simple boolean value that you can use to execute different code based on whether it's false or true.
format: full_html processed: |I've written a number of emails about feature flags, or feature toggles, and am a strong advocate of using them whilst developing new features.
I've used them a couple of times recently on my website so I wanted to share them as examples.
Firstly, I wanted to experiment with a different layout for my presentation pages.
They currently have a list of events, embedded slides and a video recording when there is one.
Each event linked to its website, where applicable, and the slides and video were from one of the most recent versions of the presentation.
I wanted to change this so each event would have links to its own slides, example code or demo.
I didn't want to change this yet for all presentations, only my Sculpin talk as it's the most recent and, if I like it, later apply it to the others.
My website is built with Sculpin, so adding a feature flag was as simple as adding new: true
to the YAML front matter at the top of the file for that presentation.
This is available as page.new
in the layout file and I can use this to load different markup.
Secondly, I've been wanting to re-style my website with Tailwind CSS 4 and refactor some of the templating.
As this is a change I wanted to be site-wide, I added new_css: true
to my sculpin_site.yml file.
This time, I was able to use site.new_css
to toggle the loaded stylesheet and using Sculpin's environment files - e.g. sculpin_site_dev.yml and sculpin_site_prod.yml - I can be explicit about which stylesheets are used locally and for my live website.
Feature flags are a great approach to splitting up large changes into manageable, deployable pieces, and they don't need to be complicated.
Essentially, they are a simple boolean value that you can use to execute different code based on whether it's false or true.
summary: null field_daily_email_cta: { }