Page MenuHomePhabricator

Mentor dashboard: M2 mentor tools/settings
Closed, ResolvedPublic

Description

This is a task for building one of the modules in the mentor dashboard: settings.

Main audience: Experienced editors who signed up to mentor on their wikis mentor list.

Figma: M2 mock-ups

Goal/rationale: The main objective of the module is for mentors to have a central place for their tools where they can access them easily. The module is made up of 3 different features:

  1. Changing the mentor’s status: Changing the mentor status to away has been requested by the community earlier on and has been discussed/worked on under this ticket T227876. Mentors cannot always respond to their mentee’s questions. Currently, if a mentor sets themselves as away or stops mentoring all together nothing happens to their mentees. They stay assigned to their mentor. With this feature, the mentors will be able to indicate how long they will be away for and during that time other mentors will receive the mentee’s questions.
  2. Editing their mentor message: This is the message that is displayed on the mentee’s newcomer homepage. Currently, to change the message the mentor needs to find the mentor list and alter their message there. By including it in this module it allows the mentor to access and alter their message with more ease.
  3. Claiming mentee. Claiming a mentee is an existing feature. It allows for mentors to choose mentees and assign themselves as their mentors. This can be handy for teachers working with students. Not all mentors are aware of this feature, so the ‘Settings’ module is a simple solution to give mentors access and display mentor-related tools.

The specifications are written out below.

Copy and links

  • Title: “Settings”
  • Header: “Mentor status”
  • Icon: info icon, when clicked on a popup button widget opens that has a little note about the module and a link to a special page where the mentor can quit mentoring (see "Info icon-pop up widget" for more details) might not be included in this iteration
  • Next: Dropdown that has 2 options:
    • checkmark icon with “Active”
    • history icon with “Pause”
  • The default is set to “Active” (unless changed by mentor). (see “Status” for details).
  • Header: “Message to your mentees”
  • Icon: edit icon (see “Edit message” for details).
  • Next: horizontal 4 px width line extending the height of the text.
  • Next: “ [message from the mentor]” eg. “Hello! Welcome to Wikipedia. Go ahead & ask me any question that you have.”
  • Header: “Other actions”
  • Subtitle: Claim mentee
  • Next: Button “Claim mentee” (see “Claim mentee” for details)
  • Next: “You can change a mentee’s mentor to yourself.”

"Info icon-pop up widget"

  • Title: info icon; "Mentoring information"; close icon
  • Next: This module contains settings for your mentor status. If however, you wish to quit mentoring permanently, instructions on how to do so are on the following page: How to quit mentoring?

See ticket T288878 for more info

“Status”

  • By clicking on the dropdown the mentor can choose one of 2 statuses, which include active or pause (See “active status”, “pause status” for details).

“Active status”

  • Active status: the mentor is actively mentoring and responding to their mentee's questions.

“Away status” (includes 2 options)

  • General when the status is on "away" it means that the mentor cannot mentor for a limited amount of time. Nothing will change on the mentor’s dashboard, they will still have access to it. Other mentors will receive questions from newcomers when a mentor has set their status to away. There are 2 options, a more complex option, and a simpler one. In option 1 the mentor can choose the number of days they will pause for, while in option 2 they just set their status to away for an undetermined amount of time.

option 1: the complex option

  • When the status is selected: a dialogue box will appear (see “pause dialogue 2” for details). In the dialogue box, the mentor can indicate how many days they will be gone for.
  • After indicating the number of days they will be gone and selecting the “Pause” button the mentor gets a confirmation dialogue box (see details under “confirm pause”). When the mentor confirms that they want to pause they stop getting new questions. The new questions get redirected to a substitute mentor. All of the mentor’s mentees get notified about this change through their “Your mentor” module on their newcomer homepage. The usual message from their mentor changes to a new message (see “pause message” for details). The message in the mentor dashboard settings module will also change. There the mentor will say:
  • “Until the [ date ] your colleagues will receive messages from your mentees.”

“Pause dialogue 1”

  • Icon: close icon
  • Title: “Change mentor status”
  • Button: a disabled button “Pause”
  • Header: “Pause mentoring”
  • Next: “If you cannot mentor for a specific time period you can set yourself as away. During this period another mentor will receive questions from your mentees.”
  • Next: bold text “You’ll be gone for: [input box] days”. Once a number is typed into the input box the “Pause” button becomes progressive.
  • “Confirm pause”
    • Text: “You won’t be mentoring for the next [value] days until [date].”
    • Next: button “Back”, which will take the mentor back to the previous “dialogue box pause”.
    • Next: button “Confirm”, which changes the mentor status to pause.
  • “Pause message”
    • “You’re mentor [ mentors username ] is away until [ date ]. Until them [ username of new mentor ] will respond to your questions.”

option 2: the simpler option

  • When the status is selected: a dialogue box will appear (see “pause dialogue 2” for details). In the dialogue box, the mentor will have to confirm that they want to pause mentoring.

“Pause dialogue 2”
info. will be added

“Edit message”

  • Icon: close icon
  • Title: “Message to your mentees”
  • Next: button “Save” which saves the changes to the dashboard.
  • Next: “Your message gets posted publicly to your mentees newcomer homepage under your username.”
  • Header: “Your message”
  • Text input box: when empty it says “Hi!..” otherwise it includes the mentor’s current message.

option 1: complex option

“Claim mentee”

  • Icon: close icon
  • Title: “Claim mentee”
  • Next: button “Submit”
  • Header: “Choose a mentee to mentor”
  • Next: “This page allows you to change a mentee’s mentor to yourself. It’s recommended to use this feature for users you know, or for users, you mentor on a course.”
  • Header: “Mentee’s username”
  • Next: Text input: when empty “Add more...”
  • Header: “Reason for claiming this mentee”
  • Next: Text input
  • After typing in and selecting a mentee(s) the username(s) appear in the text input as input tags. Once a claim has been submitted the mentor receives a quick confirmation message (see “Claim confirm” for details”

“Claim confirm”

  • Icon: close icon
  • Title: Claim mentee
  • Next: “You changed the mentor of user [ user ] to [ mentors username ]

    option 2: simpler option
  • Choosing the "Claim mentee" button redirects the user to the existing claim mentee page.

Mobile

  • There is no difference between desktop and mobile.

Future

Details

ProjectBranchLines +/-Subject
mediawiki/extensions/GrowthExperimentswmf/1.38.0-wmf.23+1 -1
mediawiki/extensions/GrowthExperimentsmaster+1 -1
mediawiki/extensions/GrowthExperimentswmf/1.38.0-wmf.21+1 -1
mediawiki/extensions/WikimediaEventswmf/1.38.0-wmf.21+1 -0
mediawiki/extensions/GrowthExperimentswmf/1.38.0-wmf.20+1 -1
mediawiki/extensions/WikimediaEventswmf/1.38.0-wmf.20+1 -0
mediawiki/extensions/GrowthExperimentsmaster+1 -1
mediawiki/extensions/WikimediaEventsmaster+1 -0
mediawiki/extensions/GrowthExperimentsmaster+3 -2
mediawiki/extensions/GrowthExperimentsmaster+5 -5
mediawiki/extensions/GrowthExperimentsmaster+7 -16
mediawiki/extensions/GrowthExperimentsmaster+5 -5
mediawiki/extensions/GrowthExperimentsmaster+15 -6
operations/puppetproduction+6 -0
mediawiki/extensions/GrowthExperimentswmf/1.38.0-wmf.6+111 -0
mediawiki/extensions/GrowthExperimentswmf/1.38.0-wmf.5+111 -0
mediawiki/extensions/GrowthExperimentsmaster+111 -0
mediawiki/extensions/GrowthExperimentsmaster+10 -3
mediawiki/extensions/GrowthExperimentsmaster+67 -3
mediawiki/extensions/GrowthExperimentsmaster+22 -29
mediawiki/extensions/GrowthExperimentswmf/1.37.0-wmf.23+1 K -5
mediawiki/extensions/GrowthExperimentsmaster+506 -3
mediawiki/extensions/GrowthExperimentsmaster+2 -1
mediawiki/extensions/GrowthExperimentsmaster+517 -2
operations/mediawiki-configmaster+7 -0
mediawiki/extensions/GrowthExperimentsmaster+45 -6
Show related patches Customize query in gerrit

Related Objects

Event Timeline

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

Change 734322 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.6] Add purgeExpiredMentorStatus.php

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

Change 734321 merged by Urbanecm:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.5] Add purgeExpiredMentorStatus.php

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

Change 734322 merged by Urbanecm:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.6] Add purgeExpiredMentorStatus.php

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

Mentioned in SAL (#wikimedia-operations) [2021-10-26T08:31:47Z] <urbanecm@deploy1002> Synchronized php-1.38.0-wmf.5/extensions/GrowthExperiments/maintenance: 91316ed5714c4426a29fefded5c4db08dbba48bb: Add purgeExpiredMentorStatus.php (T280307) (duration: 00m 56s)

Change 734568 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[operations/puppet@production] growthexperiments.pp: Run purgeExpiredMentorStatus.php twice a month

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

This is more-or-less ready for QA. I checked the feature at beta, and it appears to work. Looking forward to more comments about this :).

Change 734568 merged by Dzahn:

[operations/puppet@production] growthexperiments.pp: Run purgeExpiredMentorStatus.php twice a month

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

Mentioned in SAL (#wikimedia-operations) [2021-11-01T20:34:10Z] <mutante> mwmaint* - new timer/service mediawiki_job_growthexperiments-purgeExpiredMentorStatus created by puppet - T280307

Mentioned in SAL (#wikimedia-operations) [2021-11-01T20:59:05Z] <mutante> mwmaint1002:/# systemctl start mediawiki_job_growthexperiments-purgeExpiredMentorStatus (T280307)

@Urbanecm_WMF - there are couple of questions on the Away dialog.
(1) The Pause button is always in progressive mode and the input field is displayed with a red border.

Screen Shot 2021-11-01 at 6.33.15 PM.png (784×1 px, 135 KB)

(2) Multiple clicks on the Pause button produce multiple error messages. Even for a valid input, the multiple clicks will display the error message (much harder to reproduce than with the empty text field).
Screen Shot 2021-11-01 at 6.42.12 PM.png (1×2 px, 390 KB)

(3) The Console error is still present - the valid input is entered and and the Pause button is clicked.

Uncaught TypeError: Cannot read properties of undefined (reading 'human')
    at MentorTools.onMentorBackTimestampChanged 
    at AwaySettingsDialog.OO.EventEmitter.emit

(4) When I select 'Away' from the drop down menu, but then click on 'Cancel' in the popup ( not confirming my away status), the selection 'Away' is still displayed. Reloading the page returns my status to 'Active'. It might be confusing users making them feel that they did confirmed their status.

@Urbanecm_WMF - there are couple of questions on the Away dialog.

Thank you for your comments!

(1) The Pause button is always in progressive mode and the input field is displayed with a red border.

Screen Shot 2021-11-01 at 6.33.15 PM.png (784×1 px, 135 KB)

Right, it should be disabled when no valid input is provided instead (filled as T295308: Mentor tools: Away dialog's Pause button is always enabled and progressive). The red border comes from OOUI itself, I'm not sure if we should try to workaround it.

(2) Multiple clicks on the Pause button produce multiple error messages. Even for a valid input, the multiple clicks will display the error message (much harder to reproduce than with the empty text field).

Screen Shot 2021-11-01 at 6.42.12 PM.png (1×2 px, 390 KB)

Filled as T295309: Mentor tools: Clicking the Pause button causes the submission to happen multiple times.

(3) The Console error is still present - the valid input is entered and and the Pause button is clicked.

Uncaught TypeError: Cannot read properties of undefined (reading 'human')
    at MentorTools.onMentorBackTimestampChanged 
    at AwaySettingsDialog.OO.EventEmitter.emit

This is interesting... Works fine on my local setup! Filled as T295305: Mentor tools: In production/beta, submitting the away dialog causes a JavaScript error.

(4) When I select 'Away' from the drop down menu, but then click on 'Cancel' in the popup ( not confirming my away status), the selection 'Away' is still displayed. Reloading the page returns my status to 'Active'. It might be confusing users making them feel that they did confirmed their status.

Filled as T295307: Mentor tools: Closing the away dialog does not change the dropdown back. Should not be hard to fix.

Hello @Etonkovidova, the issues you reported above are now fixed in wmf.9. As soon as the train rolls forward again, it should be QA'able again at testwiki (and can be tested now at beta).

Let me know if you find anything else.

Checked the issues listed above - all seem to be fixed (checked on testwiki wmf.9and betalabs). I closed the majority of subtasks as Resolved.

@Urbanecm_WMF - there are some subtasks that are still open. Please review this task and https://phabricator.wikimedia.org/T278920 (it's in Test in production for observation/monitoring only). From QA's point of view the both tasks may be closed.

Thanks @Etonkovidova! That's appreciated. I believe the next step for deploying the module would be design review. @RHo, I'm excited to see your thoughts on the module.

Change 752178 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] MentorPageMentorManager::getMentorForUser: Ensure backup mentor is a mentor

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

Change 752178 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] MentorPageMentorManager::getMentorForUser: Ensure backup mentor is a mentor

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

Change 756740 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] Mentor settings: Copy changes

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

Change 756741 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] Mentor settings: Rename \"Other actions\" section to \"Claim mentee\"

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

Change 756740 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Mentor settings: Copy changes

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

Change 756741 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Mentor settings: Rename \"Other actions\" section to \"Claim mentee\"

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

The module is not ready to be deployed, but we can already draft the announcement for Tech News:

  • At wikis where [[<tvar name="config">mw:Special:MyLanguage/Growth/Communities/How to configure the mentors' list</tvar>|the Mentorship system is configured]], mentors can now mark themselves as being away or quit, change their introduction or control the number of mentees they want to take care of.

Change 757683 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] MentorTools: Use info-unpadded icon

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

Change 757684 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] MentorTools: Change icons under \"Mentor status\" to play/pause

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

Change 757683 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] MentorTools: Use info-unpadded icon

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

Change 757684 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] MentorTools: Change icons under \"Mentor status\" to play/pause

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

The module is not ready to be deployed, but we can already draft the announcement for Tech News:

  • At wikis where [[<tvar name="config">mw:Special:MyLanguage/Growth/Communities/How to configure the mentors' list</tvar>|the Mentorship system is configured]], mentors can now mark themselves as being away or quit, change their introduction or control the number of mentees they want to take care of.

Thanks for the draft!
I see code-merges above... Does that mean this is ready for announcement, or are more changes still required? (I.e. Is there an estimate for when this will need to be included in Tech News?)

Hello @Quiddity, thanks for following-up here! This module is now being finalized (and not deployed anywhere yet). We'll definitely update the task when deployment hapens. I hope it will be possible to do it within weeks :-).

Change 761008 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/WikimediaEvents@master] Track changes of growthexperiments-mentor-away-timestamp

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

Change 761008 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@master] Track changes of growthexperiments-mentor-away-timestamp

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

Change 761358 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] Mentor dashboard: Mark mentor-tools as beta

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

Change 761098 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/WikimediaEvents@wmf/1.38.0-wmf.21] Track changes of growthexperiments-mentor-away-timestamp

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

Change 761099 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/WikimediaEvents@wmf/1.38.0-wmf.20] Track changes of growthexperiments-mentor-away-timestamp

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

Change 761100 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.20] Mentor dashboard: Mark mentor-tools as beta

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

Change 761101 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.21] Mentor dashboard: Mark mentor-tools as beta

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

Change 761358 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Mentor dashboard: Mark mentor-tools as beta

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

Change 761099 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@wmf/1.38.0-wmf.20] Track changes of growthexperiments-mentor-away-timestamp

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

Change 761100 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.20] Mentor dashboard: Mark mentor-tools as beta

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

Change 761098 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@wmf/1.38.0-wmf.21] Track changes of growthexperiments-mentor-away-timestamp

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

Mentioned in SAL (#wikimedia-operations) [2022-02-09T19:33:04Z] <urbanecm@deploy1002> Synchronized php-1.38.0-wmf.20/extensions/WikimediaEvents/includes/PrefUpdateInstrumentation.php: a307ac4b334dd6f60fa7257db10100e18531ee89: Track changes of growthexperiments-mentor-away-timestamp (T280307) (duration: 00m 50s)

Mentioned in SAL (#wikimedia-operations) [2022-02-09T19:34:58Z] <urbanecm@deploy1002> Synchronized php-1.38.0-wmf.20/extensions/GrowthExperiments/: 9675848: 49202e7: Deploy M2 Mentor settings module (T280307) (duration: 00m 51s)

Mentioned in SAL (#wikimedia-operations) [2022-02-09T19:37:00Z] <urbanecm@deploy1002> Synchronized php-1.38.0-wmf.21/extensions/WikimediaEvents/: 588fa93: Track changes of growthexperiments-mentor-away-timestamp (T280307) (duration: 00m 49s)

Change 761101 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.21] Mentor dashboard: Mark mentor-tools as beta

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

Mentioned in SAL (#wikimedia-operations) [2022-02-09T19:45:12Z] <urbanecm@deploy1002> Synchronized php-1.38.0-wmf.21/extensions/GrowthExperiments/includes/Specials/SpecialMentorDashboard.php: 3da81ec: Mentor dashboard: Mark mentor-tools as beta (T280307) (duration: 00m 49s)

This is now deployed to production.

@Urbanecm_WMF Should this (draft message at T280307#7676612) now be added to the next https://meta.wikimedia.org/wiki/Tech/News/2022/07 ? (If so, please add/edit freely!) [Edit: Sorry, wrong ping]

@Urbanecm_WMF Should this (draft message at T280307#7676612) now be added to the next https://meta.wikimedia.org/wiki/Tech/News/2022/07 ? (If so, please add/edit freely!) [Edit: Sorry, wrong ping]

I will take care of it in due time, very likely in the 2022/08 issue. :)

Change 766829 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] Mentor dashboard: Mark mentor-tools as stable

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

Change 766794 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.23] Mentor dashboard: Mark mentor-tools as stable

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

Change 766829 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Mentor dashboard: Mark mentor-tools as stable

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

Change 766794 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.23] Mentor dashboard: Mark mentor-tools as stable

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

Mentioned in SAL (#wikimedia-operations) [2022-02-28T21:24:32Z] <urbanecm@deploy1002> Synchronized php-1.38.0-wmf.23/extensions/GrowthExperiments/includes/Specials/SpecialMentorDashboard.php: 706c2bc7f86f9eadc1284c84cc6668a4e1bf5abc: Mentor dashboard: Mark mentor-tools as stable (T280307) (duration: 00m 49s)