Skip to content

Add personalization questions to New Group page

Alex Buijs requested to merge add-welcome-questions-to-namespace-creation into master

What does this MR do?

This MR adds 3 fields to the New Group page:

  • Role
    • stored in the existing users.role column as a nullable enum
    • possible values:
      • software_developer
      • development_team_lead
      • devops_engineer
      • systems_administrator
      • security_analyst
      • data_analyst
      • product_manager
      • product_designer
      • other
    • the value is either pre-filled with the answer the user gave when signing up or software_developer is pre-selected
  • Who will be using this group?
    • stored in a new column namespace_settings.setup_for_company as a nullable boolean
    • possible values:
      • My company or team
      • Just me
    • My company or team is pre-selected
    • when Just me is selected, the Invite Members section is hidden
    • when saving and user_preferences.setup_for_company IS NULL, we update that field with this value as well
  • What will you use this group for?
    • stored in a new column namespace_settings.jobs_to_be_done as a nullable enum
    • possible values:
      • I want to learn the basics of Git
      • I want to move my repository to GitLab from somewhere else
      • I want to store my code
      • I want to explore GitLab to see if it’s worth switching to
      • I want to use GitLab CI with my existing repository
      • A different reason
    • the value is not pre-filled

DB migration output

Up
== 20210819162047 AddSetupForCompanyToNamespaceSettings: migrating ============
-- add_column(:namespace_settings, :setup_for_company, :boolean)
   -> 0.0034s
-- add_column(:namespace_settings, :jobs_to_be_done, :smallint)
   -> 0.0017s
== 20210819162047 AddSetupForCompanyToNamespaceSettings: migrated (0.0052s) ===
Down
== 20210819162047 AddSetupForCompanyToNamespaceSettings: reverting ============
-- remove_column(:namespace_settings, :jobs_to_be_done, :smallint)
   -> 0.0020s
-- remove_column(:namespace_settings, :setup_for_company, :boolean)
   -> 0.0019s
== 20210819162047 AddSetupForCompanyToNamespaceSettings: reverted (0.0066s) ===
Issue: gitlab-org/growth/team-tasks#413 (closed)

Screenshots or Screencasts (strongly suggested)

Before After
Screen_Shot_2021-08-19_at_17.29.02 Screen_Shot_2021-08-19_at_17.28.25

How to setup and validate locally (strongly suggested)

  1. Sign into your local GitLab instance
  2. Visit http://localhost:3000/groups/new#create-group-pane

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Alex Buijs

Merge request reports