Page MenuHomePhabricator

Participant can switch between public/private registration
Closed, ResolvedPublic

Description

As a participant, given that I have registered for an event,
I want to change my registration from public to private (and vice versa)
so that I can control who is able to see my username in the participant list.

We will implement this as a first increment to editing participant questions T323821, because this is a smaller task that will allow us to implement the general "edit registration" logic without all the complexity coming from the participant questions epic.

Acceptance criteria

  • Participant can edit their registration from public to private using Special:RegisterForEvent
  • Participant can edit their registration from public to private using the event page dialog
  • Participant can edit their registration from private to public using Special:RegisterForEvent
  • Participant can edit their registration from private to public using the event page dialog

Design file

image.png (808×506 px, 78 KB)
image.png (782×506 px, 72 KB)

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

If we are required by legal to show the explanation text anywhere users will be switching from public to private registration we can use this flow

Screen Recording 2022-10-06 at 13.48.34.gif (1×1 px, 746 KB)

If not, we can use something simpler like this:

Screen Recording 2022-10-06 at 13.45.36.gif (1×1 px, 617 KB)

The same interaction applies to the Event details page.

Event Dashboard (1).png (1×2 px, 207 KB)

In our sprint planning meeting today, we discussed that another option is to display 'You are attending privately' or 'You are attending publicly,' and the user can change their status via that bottom text via some icon, clickable text, or some other interaction.

ldelench_wmf added subscribers: Daan.L, ldelench_wmf.

Hi @Daan.L, we are hoping that you can carry this work forward while Gregory is out. @gonyeahialam, if you can ensure that Daniel has everything he needs that would be great!

ldelench_wmf edited projects, added Connection-Design; removed Connection-Team.
ldelench_wmf moved this task from Backlog to In Progress 💻 on the Connection-Design board.

Recommendation: We show the explainer text when people change their registration status between public and private. The main reason why isn’t even related to public/private (since that seems more self-explanatory when someone switches). The big concern is how people would understand/remember what this means in terms of the P+E Dashboard display when we do the integration. So, to future-proof things and to make sure people consistently understand the repercussions of changing between public and private, it's recommend that we go with the first option or something similar to it.

Hi @Daan.L, we are hoping that you can carry this work forward while Gregory is out. @gonyeahialam, if you can ensure that Daniel has everything he needs that would be great!

@Daan.L At the meeting, the Engineers preferred putting all actions at the bottom(footer) instead of on the participant list. Also, as mentioned in the previous comment we have to show the explanation copy for public/private whenever the user tries switching. I modified some of the ideas we talked about earlier based on the above feedback. You can explore them further

Separate buttons for editing event privacy and canceling registration. Clicking on edit event privacy takes you to the dialog belowA single button, Edit registration, which when clicked takes you to another modal that combines switching btw public and private with canceling registration
Screenshot 2022-10-07 at 21.47.50.png (908×562 px, 123 KB)
Screenshot 2022-10-07 at 21.48.02.png (974×562 px, 130 KB)

Link to explorations

A similar interaction can be explored for the event details page.

ldelench_wmf renamed this task from Design input needed: Determine how participant will be able to switch between public/private registration to Participant can switch between public/private registration.May 17 2023, 1:42 PM
ldelench_wmf removed Daan.L as the assignee of this task.
ldelench_wmf updated the task description. (Show Details)
ldelench_wmf moved this task from Backlog to Jan-June 2023 on the Campaign-Registration board.
ldelench_wmf removed a subscriber: Daan.L.

Discussed on May 17: we can prioritize this in the next sprint.

As we mention on our last Design engineering sync meeting, this should be done before we add the Participant question T336853
@Daimona @MHorsey-WMF

@gonyeahialam Hi, could you please add the latest prototype to the task description? I'm specifically referring to the one that includes participant questions, as that's the latest one I've seen, although we wouldn't be implementing the participant questions part in this task.

@gonyeahialam Hi, could you please add the latest prototype to the task description? I'm specifically referring to the one that includes participant questions, as that's the latest one I've seen, although we wouldn't be implementing the participant questions part in this task.

Design file

image.png (808×506 px, 78 KB)

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

[mediawiki/extensions/CampaignEvents@master] Make it possible to change visibility in Special:RegisterForEvent

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

Daimona updated the task description. (Show Details)

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

[mediawiki/extensions/CampaignEvents@master] Add "Edit registration" button on event page

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

Change 927169 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] Make it possible to change visibility in Special:RegisterForEvent

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

Change 927276 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] Add "Edit registration" button on event page

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

✅ Participant can edit their registration from public to private using Special:RegisterForEvent

Screen Recording 2023-07-01 at 12.38.23 AM.gif (1×2 px, 426 KB)

✅ Participant can edit their registration from public to private using the event page dialog
Screen Recording 2023-07-01 at 12.32.32 AM.gif (1×2 px, 553 KB)

✅ Participant can edit their registration from private to public using Special:RegisterForEvent
Screen Recording 2023-07-01 at 12.39.31 AM.gif (1×2 px, 1 MB)

✅ Participant can edit their registration from private to public using the event page dialog
Screen Recording 2023-07-01 at 12.33.58 AM.gif (1×2 px, 643 KB)


@Daimona After changing from private to public (or vice versa) on the event page dialog, there is a flash that briefly shows the following buttons. It seems that we will not need those buttons anymore, so can we remove them so that brief flash doesn't happen? See image below.

Screenshot 2023-07-01 at 12.35.40 AM.png (298×880 px, 66 KB)

@Daimona After changing from private to public (or vice versa) on the event page dialog, there is a flash that briefly shows the following buttons. It seems that we will not need those buttons anymore, so can we remove them so that brief flash doesn't happen? See image below.

Screenshot 2023-07-01 at 12.35.40 AM.png (298×880 px, 66 KB)

That's because the menu component used for the "manage registration" button only exists in JavaScript, so it needs to be added dynamically when the page loads. We could explore alternatives such as hiding them if JS's enabled, but in any case there's going to be a quick flash of something (either the two buttons, empty space, or something else) before the new button is shown.

@vaughnwalters @Daimona Also at the point these two buttons flash there is a notification message that states: "You are now registered for T......" The user isn't registering afresh for the event but changing the registration privacy so the message should be along the lines of "You are now registered privately."

@vaughnwalters @Daimona Also at the point these two buttons flash there is a notification message that states: "You are now registered for T......" The user isn't registering afresh for the event but changing the registration privacy so the message should be along the lines of "You are now registered privately."

Could we change the success message to "Your registration information was updated", like we do on the special page? Once we add the participant questions, the notification will also be shown when updating answers. When registering for the first time it would still read "You are now registered for ...".

@vaughnwalters @Daimona Also at the point these two buttons flash there is a notification message that states: "You are now registered for T......" The user isn't registering afresh for the event but changing the registration privacy so the message should be along the lines of "You are now registered privately."

Could we change the success message to "Your registration information was updated", like we do on the special page? Once we add the participant questions, the notification will also be shown when updating answers. When registering for the first time it would still read "You are now registered for ...".

Yes we can do that

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

[mediawiki/extensions/CampaignEvents@master] Update notification when updating registration on the event page

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

Change 935469 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] Update notification when updating registration on the event page

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

Notification now says "Your registration information has been updated" when switching from private to public, or public to private registration.

Screen Recording 2023-07-05 at 10.08.35 AM.gif (1×2 px, 3 MB)


Per T319454#8983482 I would like to know @gonyeahialam's thoughts on alternatives to having the buttons flash on load - in my opinion, having a blank space there during load would be better than having buttons flash that never show.

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

[mediawiki/extensions/CampaignEvents@master] Avoid flashing "edit registration" buttons on event page if JS enabled

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

Change 937452 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] Avoid flashing "edit registration" buttons on event page if JS enabled

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

Issue with the flashing buttons resolved.

✅ flashing button issue resolved on the event page dialog.

Screen Recording 2023-07-16 at 11.44.49 AM.gif (1×2 px, 2 MB)

Screen Recording 2023-07-16 at 11.49.32 AM.gif (1×1 px, 1 MB)

All AC from task description are met in T319454#8983325 so I'm moving this to product sign off.

@vaughnwalters Why does the Yes button on the Cancel registration fade as you click on it?

@vaughnwalters Why does the Yes button on the Cancel registration fade as you click on it?

@gonyeahialam the :active state on that element when it is clicked on changes the background color to rgba(212,83,83,0.1). I think this might be a bug.

Screen Recording 2023-07-17 at 3.32.03 PM.gif (470×982 px, 53 KB)

@Daimona in the OOUI Demos the destructive button darkens to #b32424 on :active state. Should we create a ticket to change this?

Screen Recording 2023-07-17 at 3.39.11 PM.gif (186×618 px, 35 KB)

@vaughnwalters Why does the Yes button on the Cancel registration fade as you click on it?

@gonyeahialam the :active state on that element when it is clicked on changes the background color to rgba(212,83,83,0.1). I think this might be a bug.

@Daimona in the OOUI Demos the destructive button darkens to #b32424 on :active state. Should we create a ticket to change this?

This seems to be a special rule applied specifically to destructive buttons inside message dialogs, see https://gerrit.wikimedia.org/g/mediawiki/core/+/458d31979830f90d77ca07c6d550afd2b3d13bf0/resources/lib/ooui/oojs-ui-windows-wikimediaui.css#150

Working as intended, I would say

I have tested this, and the participant can now switch between public/private registration. For this reason, I'm marking this work as Done.