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.
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"
-
is now
-
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'
-
is now
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
-
is now
-
was
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
- We can just not show it – the concern which is included in
-
✅ Where does this banner get created?- in the
ConfirmEmailWarning
concern which is included inApplicationController
- it appears that it will always show this notice so long as the feature is enabled & the user is not confirmed
- in the
- 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
- Research the notification banners (see questions & assumptions above)
- Research the footer links (just to make sure my assumption isn’t way off base)
- Consider, briefly, creating some mechanism for delaying flash messages (if it doesn’t already exist – look for existing gems, too)
- 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
- 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