Skip to content

Feature Flags

Senarii edited this page May 21, 2020 · 5 revisions

Dashboard Administration: Feature Flags

Overview:

Dashboard uses a concept known as feature flags to enable/disable functionality. This allows you to, for example, hide the hardware checkout or mentorship components before the day of the event from participants. Here is the current list of feature flags (all default to disabled):

  • Mentorship Requests
  • Hardware Requests
  • Projects
  • Check-Ins
  • Prizes
  • Schedules
  • Applications

Once you're logged in, make sure to go to the admin tab and enable whichever features you want to test. If you're just starting out with testing Dashboard, then you probably want to enable the Event Applications feature flag so you can create a participant account and apply!

Reasoning

A feature flag is used to enable or disable a feature during run time. This technique allows the administrators to hide certain sections of the application so that they do not appear in the user interface.

Not all sections of the Dashboard are required at all times of an event. For example, prior to the event, when hackers are submitting applications, only the ‘Applications’ section is required. The administrator could disable the other sections.

If a user attempts to access a section that is disabled, the page will redirect to the Dashboard Home Page.

Variables

t.string "name"
t.boolean "value"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "display_name"
t.string "description"

Sections

  1. Applications
  2. Check-In
  3. Schedule
  4. Hardware
  5. Mentorship
  6. Projects
  7. Prizes

User Interface

Users of type ‘admin’ have a sub-tab ‘Feature Flags’ under the ‘Admin’ tab. Here, they can enable and disable features.