Page MenuHomePhabricator

[IMPLEMENTATION] Front end: (no JS ), add the questions on Special:RegisterForEvent/{id}
Closed, ResolvedPublic

Description

User story:

When registering for an event, participants can optionally provide some personal information (on Special:RegisterForEvent/{id}) requested to help organizers better plan for the event.

Design:

Prototype
Design specs

Acceptance criteria for MVP:
  • All questions are optional for participants to answer (legal requirement).
  • The available questions should be the ones listed in T321822

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
cmelo renamed this task from [IMPLEMENTATION] Front end (JS experience), add the questions on the registration dialog modal to [IMPLEMENTATION] Front end: (JS experience), add the questions on the registration dialog modal.May 5 2023, 12:11 AM

I'm wondering how should we address the radio button questions for when the user selects an option and then decide to not answer the question anymore. The issue is that radio buttons are not meant to be deselected, the way it works is that all the related radio buttons are deselected when 1 radio button is selected (clicked), and there is no way to deselect a radio button by clicking on it.
https://uxpickle.com/why-is-it-impossible-to-deselect-radio-buttons/

Although there is a way to load all radio buttons as deselected (note that this is not possible on the no js RegisterForEvent special page but only on the js version ), as soon as one is selected there is no way to deselect all, so I am wondering if we could add a "Prefer not to say" option that will be selected by default, this way we solve the limitation we have on RegisterForEvent special page and also add a way for the user to "deselect", in case the user wants not answers the question anymore. Or maybe we could change it to be a Dropdown list of options like the "What is your age?" question.

What do you think @gonyeahialam ?

Screenshot 2023-05-10 at 15.33.01.png (824×731 px, 101 KB)

@gonyeahialam I also think we need to change the sentence below:
You can change or remove your responses before, during and after the event.

The user will not be able to change the responses after the event, because we will delete the data after the event is over ( or after X days, probably 90 days ).

Also, I think that we need to inform the participant that the organizer will see only aggregated data, and that the PII data will be deleted after the event is over.

@gonyeahialam We got some feedback from @Iflorez yesterday about the question below:
Do you belong to any Wikimedia chapters, organizing partners, user groups, affiliates, or other organizations outside Wikimedia
@Iflorez mentioned that it would be better to have the following options

  • Affiliate
    • Allow list to choose from
  • Chapter
    • For MVP, show nothing
    • Allow list to choose from (eventually)
  • User Group
    • For MVP, show nothing
    • Allow list to choose from (eventually)
  • Organizing Partner
    • For MVP, show nothing
    • Allow list to choose from (eventually)

I don't think a radio button would fit for this when we add the list to choose for the other options, because the list would not be displayed below the selected radio button, but always below the last radio button.
So I am wondering if it could be a dropdown list of options, this way if the user selects an option that allow a list to choose it will look better in the interface, and it is also easy to maintain it.

Here are some screenshot examples:
How it would look like using radio buttons

Screenshot 2023-05-11 at 10.51.32.png (288×747 px, 27 KB)

How it would look like using dropdown list

Screenshot 2023-05-11 at 10.55.07.png (211×708 px, 14 KB)

Screenshot 2023-05-11 at 11.10.52.png (233×688 px, 24 KB)

cmelo renamed this task from [IMPLEMENTATION] Front end: (JS experience), add the questions on the registration dialog modal to [IMPLEMENTATION] Front end: (no JS ), add the questions on Special:RegisterForEvent/{id}.May 11 2023, 2:17 PM
cmelo updated the task description. (Show Details)

Change 919215 had a related patch set uploaded (by Cmelo; author: Cmelo):

[mediawiki/extensions/CampaignEvents@master] Add participant questions on RegisterForEvent special page

https://gerrit.wikimedia.org/r/919215

How it would look like using dropdown list

Screenshot 2023-05-11 at 10.55.07.png (211×708 px, 14 KB)

Screenshot 2023-05-11 at 11.10.52.png (233×688 px, 24 KB)

@cmelo For the options with no list, would the second dropdown disappear

What do you think @gonyeahialam ?

Screenshot 2023-05-10 at 15.33.01.png (824×731 px, 101 KB)

For the Javascript version, we can go ahead with adding a Prefer not to say option as a solution.

For no JS version, you normally do not need JavaScript to make the radio buttons unselected by default since in HTML radio buttons are unselected by default unless you add the checked attribute, why is it the case here @cmelo?

cmelo changed the task status from Open to In Progress.May 15 2023, 10:00 AM
cmelo claimed this task.

How it would look like using dropdown list

Screenshot 2023-05-11 at 10.55.07.png (211×708 px, 14 KB)

Screenshot 2023-05-11 at 11.10.52.png (233×688 px, 24 KB)

@cmelo For the options with no list, would the second dropdown disappear

Yes

What do you think @gonyeahialam ?

Screenshot 2023-05-10 at 15.33.01.png (824×731 px, 101 KB)

For the Javascript version, we can go ahead with adding a Prefer not to say option as a solution.

For no JS version, you normally do not need JavaScript to make the radio buttons unselected by default since in HTML radio buttons are unselected by default unless you add the checked attribute, why is it the case here @cmelo?

It is because we use HTMLForm, and there is a limitation (bug) on it that selects one radio button by default, so at least one needs to be selected.

Also, would like to remember that, if we do not add a "prefer not to say" option, we will have the same issue in case the user select one and then decide to deselect, because it is not possible to deselect once one is selected, unless the user selects another one or refresh the page.

For no JS version, you normally do not need JavaScript to make the radio buttons unselected by default since in HTML radio buttons are unselected by default unless you add the checked attribute, why is it the case here @cmelo?

It is because we use HTMLForm, and there is a limitation (bug) on it that selects one radio button by default, so at least one needs to be selected.

Also, would like to remember that, if we do not add a "prefer not to say" option, we will have the same issue in case the user select one and then decide to deselect, because it is not possible to deselect once one is selected, unless the user selects another one or refresh the page.

Let us go with the 'Prefer not to say' for both JS and No JS @cmelo

Change 919215 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] Add participant questions on RegisterForEvent special page

https://gerrit.wikimedia.org/r/919215

@gonyeahialam We got some feedback from @Iflorez yesterday about the question below:
Do you belong to any Wikimedia chapters, organizing partners, user groups, affiliates, or other organizations outside Wikimedia
@Iflorez mentioned that it would be better to have the following options

  • Affiliate
    • Allow list to choose from
  • Chapter
    • For MVP, show nothing
    • Allow list to choose from (eventually)
  • User Group
    • For MVP, show nothing
    • Allow list to choose from (eventually)
  • Organizing Partner
    • For MVP, show nothing
    • Allow list to choose from (eventually)

I don't think a radio button would fit for this when we add the list to choose for the other options, because the list would not be displayed below the selected radio button, but always below the last radio button.
So I am wondering if it could be a dropdown list of options, this way if the user selects an option that allow a list to choose it will look better in the interface, and it is also easy to maintain it.

Here are some screenshot examples:
How it would look like using radio buttons

Screenshot 2023-05-11 at 10.51.32.png (288×747 px, 27 KB)

How it would look like using dropdown list

Screenshot 2023-05-11 at 10.55.07.png (211×708 px, 14 KB)

Screenshot 2023-05-11 at 11.10.52.png (233×688 px, 24 KB)

@gonyeahialam I'm sorry that I missed this comment.
I updated ticket https://phabricator.wikimedia.org/T322332#8865505 with relevant details on how to ask about affiliates+ after talking with Liam Wyatt and after asking about affiliate naming on Slack. I also updated this information on the Notes - Engineering > Design weekly sync-up doc.

The recommended update:

  • Is this event organized in association with Affiliates (chapters, user groups, thematic organizations), organizing partners, or other organizations outside Wikimedia? Participants may choose one option from the following (yes/no):
    • Yes
      • Affiliates (chapters, user groups, thematic organizations)
        • open string field; eventually allow list to choose from
      • Other organizing partners
        • open string field
    • No

Let me know what remains here.

@cmelo for this sentence, You can change or remove your responses before, during and after the event. we need an Oxford comma after during.


Also, all of these options are listed as optional and in T317708#8984869 we had decided to remove optional - is this something we can standardize and remove optional here too? Either that or include it elsewhere as well so it is consistent across the extension? Tagging @gonyeahialam and @Daimona in here too for thoughts since we had just discussed this in ticket T317708#8984869

Screenshot 2023-07-03 at 10.48.26 AM.png (1×1 px, 286 KB)



I'm putting this back into code review so we can incorporate the feedback from T335808#8957551 but also, where is the definitive list of questions and potential answers for this? Can we add a link to the up to date list of questions and answers in the AC so I can check against them to make sure everything looks current?

Also, all of these options are listed as optional and in T317708#8984869 we had decided to remove optional - is this something we can standardize and remove optional here too? Either that or include it elsewhere as well so it is consistent across the extension? Tagging @gonyeahialam and @Daimona in here too for thoughts since we had just discussed this in ticket T317708#8984869

I think this form here is an exception, because given the nature of the questions we wanted to make super-sure that participants understand that the questions are optional. I still think the standard should be to omit it otherwise, though.

where is the definitive list of questions and potential answers for this? Can we add a link to the up to date list of questions and answers in the AC so I can check against them to make sure everything looks current?

I'll do that in a minute.

Also note that the free text field overflows when selecting Affiliate on smaller break points.

Screenshot 2023-07-03 at 12.53.42 PM.png (602×694 px, 69 KB)

Change 935164 had a related patch set uploaded (by Daimona Eaytoy; author: Daimona Eaytoy):

[mediawiki/extensions/CampaignEvents@master] SpecialRegisterForEvent: fix issues spotted in QA

https://gerrit.wikimedia.org/r/935164

Change 935164 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] SpecialRegisterForEvent: fix issues spotted in QA

https://gerrit.wikimedia.org/r/935164

@cmelo There are currently five small differences between the specs at T321822 and the current implementation at Special:RegisterForEvent/{id} - we either need to update the participant questions in the AC in T321822 or update the current implementation

Current implementation diffs (in bold below):
What is your gender identity?
Prefer not to say (this option not listed in T321822)
Man (a man in T321822)
Woman (a woman in T321822)

What is your profession? (listed as a multiselect in T321822, but can only select one in the current implementation)

How confident do you feel contributing to the Wikimedia projects involved in this event?
I prefer not to say (this option not listed in T321822)

@cmelo There are currently five small differences between the specs at T321822 and the current implementation at Special:RegisterForEvent/{id} - we either need to update the participant questions in the AC in T321822 or update the current implementation

Current implementation diffs (in bold below):
What is your gender identity?
Prefer not to say (this option not listed in T321822)
Man (a man in T321822)
Woman (a woman in T321822)

What is your profession? (listed as a multiselect in T321822, but can only select one in the current implementation)

How confident do you feel contributing to the Wikimedia projects involved in this event?
I prefer not to say (this option not listed in T321822)

Thanks, @vaughnwalters, I think that 4 of them I need to update the AC, but about the profession question I need to check.

I have updated the AC in T321822 to state that only one profession can be selected. We have made this decision because it simplifies the work to deliver an MVP of the feature, and we think it is sufficient for user needs for now. If we hear from organizers or participants in the future that they would like the option to select multiple professions, we can consider changing this feature in the future.

Okay thx @ifried.

@cmelo one more thing, for the following:

How confident do you feel contributing to the Wikimedia projects involved in this event?

build:
I prefer not to say

specs at T321822 now:
Prefer not to say.

Do we want the I for this one or not? for What is your gender identity? the option is Prefer not to say in both the build and specs.

Okay thx @ifried.

@cmelo one more thing, for the following:

How confident do you feel contributing to the Wikimedia projects involved in this event?

build:
I prefer not to say

specs at T321822 now:
Prefer not to say.

Do we want the I for this one or not? for What is your gender identity? the option is Prefer not to say in both the build and specs.

Thanks @vaughnwalters, we don't want it, I will update it.

Change 939195 had a related patch set uploaded (by Cmelo; author: Cmelo):

[mediawiki/extensions/CampaignEvents@master] Fix wording on prefer not to say option on confident question

https://gerrit.wikimedia.org/r/939195

Change 939195 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] Fix wording on prefer not to say option on confident question

https://gerrit.wikimedia.org/r/939195

@cmelo that fix looks good now.

One more thing though, to match the latest specs at T321822, the question Do you belong to any Wikimedia affiliates needs to be updated to the following,

Do you belong to any Wikimedia affiliates (affiliates, chapters, user groups, thematic organizations)? (optional)

Yes (which leads to an open string field for persons to type in which affiliate(s) they belong to)
No

And also is there a separate ticket for the Under 24 fix that @Daimona mentioned in a meeting recently? Or should that go on this ticket as well?

And also is there a separate ticket for the Under 24 fix that @Daimona mentioned in a meeting recently? Or should that go on this ticket as well?

I think the idea is to create a new ticket for all the changes to the answers, once they've been finalized.

One more thing though, to match the latest specs at T321822, the question Do you belong to any Wikimedia affiliates needs to be updated to the following,

Do you belong to any Wikimedia affiliates (affiliates, chapters, user groups, thematic organizations)? (optional)

Yes (which leads to an open string field for persons to type in which affiliate(s) they belong to)
No

And also is there a separate ticket for the Under 24 fix that @Daimona mentioned in a meeting recently? Or should that go on this ticket as well?

In T335808#9030940, @Daimona wrote:
I think the idea is to create a new ticket for all the changes to the answers, once they've been finalized.

Thx, and from your note in T335809#9039583, adding here too that these will be fixed in T342341

Acceptance criteria:

✅ All participant questions are optional for participants to answer (legal requirement).


The available questions should be the ones listed in T321822

  • These will be corrected in T342341,

Moving to Design sign off and providing a screen shot since this is not on betacluster yet:

Screenshot 2023-08-31 at 6.47.55 PM.png (1×1 px, 245 KB)

Acceptance criteria:

✅ All participant questions are optional for participants to answer (legal requirement).


The available questions should be the ones listed in T321822

  • These will be corrected in T342341,

Moving to Design sign off and providing a screen shot since this is not on betacluster yet:

Screenshot 2023-08-31 at 6.47.55 PM.png (1×1 px, 245 KB)

This might be related to a different task, I noticed the Public registration section is missing the title and explanation that is already implemented in the JS version of this form @Daimona @cmelo

Screenshot 2023-09-01 at 13.53.11.png (1×2 px, 697 KB)

This might be related to a different task, I noticed the Public registration section is missing the title and explanation that is already implemented in the JS version of this form @Daimona @cmelo

That is T323949.

This looks good in the screenshot, so I'm marking this as Done.