Page MenuHomePhabricator

Scale: ability to deploy without mentorship module
Closed, ResolvedPublic

Description

NOTE: Breaked out from T248193.

The Growth team feature set contains features that require experienced users to participate: mentorship module. As we scale Growth features to 100 wikis, we know that we will encounter wikis who do not have active mentors. Some of those wikis will need time to develop a list of active mentors, and some wikis will never manage to develop it.

We want to be able to deploy, to a given wiki, all the Growth features that do not require mentors to be available, and be able to separately deploy the remaining features when ready. That means we want to have a way to deploy our features without the mentorship module of the homepage. Without this capability, the homepage should only contain all the other modules.

Perhaps a good thing to think about (in relation to T246939), is whether wikis could turn on those remaining features just by slotting a help desk page or a mentor list page into an on-wiki config, so that the Growth team doesn't have to actively deploy the remaining features later.

New state

Once the patch for this gets deployed, it will be possible to disable mentorship module via a configuration change (currently managed in server configuration repository; in the future, on-wiki). This will affect both the newcomer homepage (no mentorship module shown) and the help panel (it will always point to the help desk, no matter what the wiki configuration is like).

This will not make help panel working without any help desk (in scope for T273118), and it will not make help desk working when there are no mentors, but mentorship is enabled (in scope for T273782).

Event Timeline

Current state

Right now, it is technically possible to deploy to a wiki without including mentorship module. The default value of wgGEHomepageMentorsList (the variable that has page name of the list of mentors) is Main_Page, which means the mentor module tries to get all links to User namespace in the main page, and if there are none, it just thinks there are no mentors. In such a case, the mentorship module just does not display. Once a mentor becomes available (ie. by changing the server configuration to have a real mentor list), the homepage will automatically assign a mentor to anyone who doesn't have one, and visits the homepage.

It doesn't work that way with Help Panel, if it is set to direct questions to mentors (via wgGEHelpPanelAskMentor). If that config flag is set to true, and there are no available mentors, help panel errors out. Will fill it as a separate task to deal with.

Potential problems

While most of the wikis probably don't have any links to User namespace in the mainpage, I feel such a think can happen at some wikis. For instance, a wiki might want to publicly acknowledge exceptional contributon by community members, and thank them for their contributions at the wiki main page. Maybe this is not a big problem, but I think that could shoot us into the foot. Some award-like mechanism is employed by many wikis (barnstars, etc.), and I wouldn't be surprised if some wiki decided to thank contributors at the main page.

Possible solutions

It should be very easy to make wgGEHomepageMentorsList accept null, which will mean "there is no list of mentors available". The mentorship module would then treat this as a no-mentor scenario, ie. won't render mentorship module at all.

Urbanecm_WMF edited projects, added Growth-Team (Current Sprint); removed Growth-Team.

I'm going to work on this per @MMiller_WMF's off-Phab approval.

Change 661749 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[mediawiki/extensions/GrowthExperiments@master] Make null the default value of wgGEHomepageMentorsList

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

Change 661749 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@master] GEHomepage(Manual)MentorsList should consistently use null for "no list"

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

So, right now, we're able to set the list of mentors to "null", meaning "no mentor list". That effectively disables the mentorship panel for new users, and keeps it available for current users.

@MMiller_WMF Do we want to offer a way to disable mentorship panel for everyone, including current users? That would be definitely possible&easy, just need to know :).

@Urbanecm_WMF -- I do think that the Growth team needs to have the ability to turn the mentorship functionality off entirely on a wiki (even for existing users who already had mentors). A use case might be that a different WMF team wants to try out a new mentorship feature, and doesn't want ours to interfere. What I'm not yet sure about is whether turning off mentorship entirely (as opposed to pausing the distribution of new mentors) should be possible for communities to do themselves on their configuration form. I'm going to get back to you about that.

I also want to point out that in figuring out how to turn off mentorship, we need to remember that mentorship will likely be in the help panel, and so it would need to turn off there as well. This would mean just making that "Ask your mentor" button disappear from the help panel.

A summary of my meeting with Marshall: Let's put it into the server-side configuration (as all our other config options work right now), and decide about things we want to open to communities at a later point, as part of T274520.

Change 663858 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[mediawiki/extensions/GrowthExperiments@master] Make it possible to disable mentorship module on homepage

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

Change 663858 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@master] Make it possible to disable mentorship features

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

QA notes: With GEMentorshipEnabled set to false, no mentorship features should be enabled. Currently set to true at all (beta) wikis.

Etonkovidova added a subscriber: Etonkovidova.

Checked two cases - (1) without Mentorship and without Help desk (2) without Mentorship and with Help desk.
(1) without Mentorship and without Help desk - e.g. jawiki- the Help panel (and Menorship module) are not present.

(2) without Mentorship and with Help desk - e.g. hrwiki - "Ask your mentor for help" falls back the regular Help panel.