Skip to content

New user onboarding remove banner and footer links from onboarding step

Problem

Currently, the user can easily get distracted in this onboarding step by the banner and footer links.

Screen_Shot_2020-07-07_at_3.30.29_PM

Solution

We should remove the confirm email banner from this page and remove the footer CTAs (help about GitLab).


🛠 🗒 Developer Notes

Notes

  • As far as I can tell, this is not an experiment, but is part of the existing, but currently disabled, Onboarding Issue Board experiment
  • There are no events to track
  • We want to postpone the “please check your email” banner
    • Potentially problematic or difficult
  • We want to hide the “Help” & “About GitLab” footer links
    • Potentially quite easy
  • Notification banner message code path
    • app/controllers/concerns/confirm_email_warning.rb => set_confirm_warning
    • app/controllers/application_controller.rb => include ConfirmEmailWarning
    • app/views/layouts/_flash.html.haml => flash.each {|key, value| %span= value }
    • was app/views/layouts/devise_experimental_separate_sign_up_flow.html.haml => render "layouts/flash"
      • is now app/views/layouts/devise_experimental_onboarding_issues.html.haml => render "layouts/flash"
    • was app/controllers/registrations/experience_levels_controller.rb => layout => 'devise_experimental_separate_sign_up_flow'
      • is now app/controllers/registrations/experience_levels_controller.rb => layout => 'devise_experimental_onboarding_isues'
    • app/controllers/registrations/experience_levels_controller.rb => #show action
  • Footer links code path
    • was app/views/layouts/devise_experimental_separate_sign_up_flow.html.haml => .footer-links
      • is now app/views/layouts/devise_experimental_onboarding_issues.html.haml => .footer-links

Questions

  • How do we postpone the notification banner?
    • We can just not show it – the concern which is included in ApplicationController will keep popping it up wherever we go in the app
  • Where does this banner get created?
    • in the ConfirmEmailWarning concern which is included in ApplicationController
    • it appears that it will always show this notice so long as the feature is enabled & the user is not confirmed
  • How is this banner rendered?
  • Are there other banners that might pop up as well?

Assumptions

  • The notification banners show up because of a flash rendering block in the layout
    • Perhaps we can just remove that block (create our own layout or use another one) to avoid showing those?
  • The notification banners are created using flash messaging
    • In which case, they can’t be delayed, they always appear on the next page load, right?
    • Or do they only disappear after we successfully access them from that same flash hash?

Next Steps

  1. Research the notification banners (see questions & assumptions above)
  2. Research the footer links (just to make sure my assumption isn’t way off base)
  3. Consider, briefly, creating some mechanism for delaying flash messages (if it doesn’t already exist – look for existing gems, too)
  4. Update the layout (duplicate & modify, find a new one, or potentially modify this one directly) to not show flash messages and to not show the footer links
  5. Submit 1 MR for hiding the footer links, 1 MR for hiding the flash messages, (any other MRs for delaying flash messages until later)
Edited by Dallas Reedy