Page MenuHomePhabricator

Create a setting for the New Discussion Tool in Special:Preferences
Closed, ResolvedPublic

Description

This task is for the work involved with making it possible for people who are logged in to turn the New Discussion Tool on/off within Special:Preferences#mw-prefsection-editing.

For the broader conversation/work involved with architecting how we might represent the various settings associated with the tools and enhancements we will introduce as part of the Talk pages project, please see this task: T257889.


Behavior

The functionality for turning the New Discussion Tool on/off, described in the numbered steps beneath this sentence, should apply to people who meet the following conditions: A) they are logged in and B) they are on a wiki where the New Discussion Tool is available as an opt-out feature or as a Beta Feature.

  1. Visit Special:Preferences#mw-prefsection-editing
  2. Notice a section titled Talk pages located beneath the existing Preview section
    • Note: "Talk" should match the label we give to discussion pages on that wiki, so by default for English it is "Discussion" (as seen on en.wiktionary.org), whereas on en.wikipedia.org it is "Talk".
  3. Notice a setting titled Enable quick topic adding
  4. Notice a description beneath the Enable quick topic adding setting that reads: This will show you an in-line form for adding new topics. You can learn more about this feature by reading the [https:\/\/www.mediawiki.org\/wiki\/Special:MyLanguage\/Talk_pages_project\/Feature_summary feature summary].

Requirements

Special:Preferences#mw-prefsection-editing

  • This new setting should appear in Special:Preferences#mw-prefsection-editing within a the existing Talk pages section.
  • The item/setting should called Enable quick topic adding
  • The item/setting should have a subtitle that reads: This will show you an in-line form for adding new topics. You can learn more about this feature by reading the [https:\/\/www.mediawiki.org\/wiki\/Special:MyLanguage\/Talk_pages_project\/Feature_summary feature summary].

Meta

  • The New Discussion Tool will need to be able to be deployed differently at different wikis
    • Meaning: the New Discussion Tool will need to be able to be made available to all users at ar.wiki by default, whereas at fr.wiki, the tool might need be made available via Beta Features
  • The Enable quick topic adding setting should appear in Special:Preferences#mw-prefsection-editing whenever the Discussion tools Beta Feature is enabled.

Setting behavior

  • When the checkbox is enabled, people who click any affordance that opens the section=new form (e.g. Add topic link) will notice the New Discussion Tool open the talk page they are viewing.
  • When the checkbox is disabled, people who click any affordance that opens the section=new form (e.g. Add topic link) will be taken to the existing section=new form that opens on a page separate from the one they clicked the Add topic link on.

Setting defaults

  • 1. For people at wikis where the Reply Tool is currently available as a beta feature and who enabled the Reply Tool, by way of turning on the Discussion tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.
    • Note: they should be made aware of the New Discussion Tool's existence *before* they are taken to it. See: T270788.
  • 2. For people at wikis where the Reply Tool is currently available as a beta feature and who disabled/never enabled the Reply Tool, by way of the Discussion tools, they should not automatically have access to the New Discussion Tool once it is made available.
  • 3. For people at wikis where the Reply Tool is currently available as an opt-out feature and who explicitly turned on the Reply Tool, by way of the Discussion Tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.
    • Note: they should be made aware of the New Discussion Tool's existence *before* they are taken to it. See: T270788. See: T270788#6780931.
  • 4. For people at wikis where the Reply Tool is currently available as an opt-out feature and who explicitly turned off the Reply Tool, by way of the Discussion Tools beta feature or in the regular preferences section, they should not automatically have access to the New Discussion Tool once it is made available.
  • 5. For people at wikis wher ethe Reply Tool is currently available as an opt-out feature and who have never changed any settings related to the Reply Tool, they should not automatically have access to the New Discussion Tool once it is made available.

Notes

To account for cases where some of the "Features" [i] are available as opt out and others still as Beta Features we'll need to implement a separate flag each time one feature is "graduated" from Beta Features to being enabled for everyone on a wiki, by default.

Done

  • The behavior described in the "Behavior" section is implemented
  • All "Requirements" are met

i. E.g. Reply Tool, New Discussion Tool, and Visual enhancements.

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedppelberg
ResolvedRyasmeen
Resolvedmatmarex
ResolvedEsanders
Resolvedmatmarex
ResolvedWhatamidoing-WMF
ResolvedWhatamidoing-WMF
Resolvedppelberg
Resolvedmatmarex
ResolvedWhatamidoing-WMF
ResolvedWhatamidoing-WMF
Resolvedmatmarex
ResolvedWhatamidoing-WMF
Resolvedmatmarex
ResolvedWhatamidoing-WMF
OpenNone
OpenNone
OpenNone
OpenMNeisler
Resolvedppelberg
ResolvedRyasmeen

Event Timeline

ppelberg updated the task description. (Show Details)

Notes from today's team standup

  • @Esanders noted that to account for cases where some of the "Features" [i] are available as opt out and others still as Beta Features we'll need to implement a separate flag each time one feature is "graduated" from Beta Features to being enabled for everyone on a wiki, by default.

I've added the above to the task description in the newly-created ===Notes section.


i. E.g. Reply Tool, New Discussion Tool and Visual enhancements

This will show you an in line form, equipped with a Visual mode, for adding new topics.

I think we can drop "equipped with a Visual mode" because:

  1. it may suggest that's the only mode
  2. we don't really need to "sell" the feature here as it will always be enabled by default. This listing is mostly so people can turn it off.
  3. keeps the language similar to the reply tool description, which also has a visual mode

Also "in line" > "inline" (or "in-line").

We will also need to update the copy for the BetaFeature:

We will also need to update the copy for the BetaFeature:

You're right; here's the ticket for this: T270120.

This comment was removed by ppelberg.

This will show you an in line form, equipped with a Visual mode, for adding new topics.

I think we can drop "equipped with a Visual mode" because:

Dropping "equipped with a Visual mode" is sounds good.

Also "in line" > "inline" (or "in-line").

I don't have conviction on this..."in-line" looks most natural to me. Tho, I'm not sure if others feel similarly.

Change 649930 had a related patch set uploaded (by Esanders; owner: Esanders):
[mediawiki/extensions/DiscussionTools@master] Add "new topic" user preference

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

Setting defaults

  • For people at wikis where the Reply Tool is currently available as a beta feature and who enabled the Reply Tool, by way of turning on the Discussion tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.
  • For people at wikis where the Reply Tool is currently available as an opt-out feature and who explicitly turned on the Reply Tool, by way of the Discussion Tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.

I feel a bit worried about this approach. I know that the beta feature description promises to add new tools in the future, but the new discussion tool is, in contrast to the reply tool, disruptive in that it takes over the place of an existing tool (the new section link). I’m sure there will be people complaining about this change, so I think no one should automatically have access to the new discussion tool.

Setting defaults

  • For people at wikis where the Reply Tool is currently available as a beta feature and who enabled the Reply Tool, by way of turning on the Discussion tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.
  • For people at wikis where the Reply Tool is currently available as an opt-out feature and who explicitly turned on the Reply Tool, by way of the Discussion Tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.

I feel a bit worried about this approach. I know that the beta feature description promises to add new tools in the future, but the new discussion tool is, in contrast to the reply tool, disruptive in that it takes over the place of an existing tool (the new section link). I’m sure there will be people complaining about this change, so I think no one should automatically have access to the new discussion tool.

Thank you for saying something about this, @Tacsipacsi.

You doing so is leading us to agree: we do think it is probable that people who enabled the Discussion tools beta feature to gain access to the Reply Tool will be some variation of surprised/confused/frustrated/etc. when they see the New Discussion Tool as opposed to the existing section=new form they were most likely expecting to see, without advanced warning and an opportunity to decide otherwise.

It's with the above in mind, that we're going to do the following: introduce a feature notice for the New Discussion Tool so people: A) know the New Discussion Tool exists and B) have an opportunity to disable it. This work will happen in T270788. [i]

I've also updated this task's description to include a reference to the work that will happen in T270788.


i. If you see something potentially problematic about what we are planning, please comment as much on the ticket (T270788).

META
I'm moving this to "Blocked / Needs More Work" because I am assuming the patch that's already been written for this task [i] may need to be adjusted to account for the changes that will happen in T270788.


i. https://gerrit.wikimedia.org/r/649930

NEXT STEP

  • @Whatamidoing-WMF: can you please review the task description's "Setting defaults" section within the ===Requirements heading?

...this section describes an initial approach for how people at ar, cs and hu will experience the New Discussion Tool by default and I'd like to know whether anything about what's described is concerning to you.

Change 654520 had a related patch set uploaded (by Bartosz Dziewoński; owner: Esanders):
[operations/mediawiki-config@master] Disable DiscussionTools' newtopictool

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

Change 654520 merged by jenkins-bot:
[operations/mediawiki-config@master] Disable DiscussionTools' upcoming newtopictool

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

Mentioned in SAL (#wikimedia-operations) [2021-01-12T19:49:20Z] <tgr_> synced Config: [[gerrit:654520|Disable DiscussionTools' upcoming newtopictool (T270119)]]

Change 649930 merged by jenkins-bot:
[mediawiki/extensions/DiscussionTools@master] Add "new topic" user preference

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

Change 655966 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[operations/mediawiki-config@master] Enable DiscussionTools' newtopictool as beta feature on Beta Cluster

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

The patch above would configure the planned preferences stuff on the Beta Cluster wikis, for testing before we set the same configuration in production.

Regarding point 3 under "Setting defaults":

  • For people at wikis where the Reply Tool is currently available as an opt-out feature and who explicitly turned on the Reply Tool, by way of the Discussion Tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.

(I'm not sure if I'm understanding this right, so let me rephrase: if the user has turned on the current beta feature before we disabled it and replaced it with the opt-out, the re-enabled beta feature should be turned on for them – is that correct?)

If so, this part probably won't work. When a preference option disappears, MediaWiki will clear every user's settings for that preference the next time they change their settings, and the beta feature's preference basically disappeared when we disabled it. (It might work by accident if the user's preferences settings were not changed since we disabled the beta feature, but that's unlikely – a number of features like e.g. remembering your last used editor are implemented using preferences, and would also clear the value whenever used.)

I don't think we should worry about this, but I wanted to clarify.

Regarding point 3 under "Setting defaults":

  • For people at wikis where the Reply Tool is currently available as an opt-out feature and who explicitly turned on the Reply Tool, by way of the Discussion Tools beta feature, they should automatically have access to the New Discussion Tool once it is made available.

(I'm not sure if I'm understanding this right, so let me rephrase: if the user has turned on the current beta feature before we disabled it and replaced it with the opt-out, the re-enabled beta feature should be turned on for them – is that correct?)

Yes, the way you've rephrased this matches with what I was attempting to communicate in point 3 under "Setting defaults" in the task description.

If so, this part probably won't work. When a preference option disappears, MediaWiki will clear every user's settings for that preference the next time they change their settings, and the beta feature's preference basically disappeared when we disabled it. (It might work by accident if the user's preferences settings were not changed since we disabled the beta feature, but that's unlikely – a number of features like e.g. remembering your last used editor are implemented using preferences, and would also clear the value whenever used.)

Intersting, okay.

@matmarex, a resulting question for you: Can you confirm the below accurately summarizes the implications of what you shared above (copied from T270119#6745654)?

  • No one at the Arabic, Czech and Hungarian Wikipedias will have the Discussion tools Beta Feature turned on for them once the New Discussion Tool is made available at these wikis as a beta feature. This includes people who had enabled the Discussion tools Beta Feature prior to the Reply Tool being made available as an opt-out feature at these wikis in T249394. Said another way: every person at the Arabic, Czech and Hungarian Wikipedias who wants access to the New Discussion Tool will need to manually enable the Discussion tools beta feature.

As discussed during today's standup, we will investigate whether there is a way around the limitation Bartosz noted in T270119#6745654.

Next steps

  • @matmarex to verify whether peoples' Beta Features preferences have indeed been cleared on wikis where the Reply Tool is available as an opt-out feature. [I]

i. Arabic, Czech, and Hungarian Wikipedia

  • @matmarex to verify whether peoples' Beta Features preferences have indeed been cleared on wikis where the Reply Tool is available as an opt-out feature. [I]

I checked and it looks like at least some users still have that preference – I might have been too pessimistic about how quickly the preferences get cleared.

I ran the following query on each wiki:

select count(*)
from user_properties 
where up_property='discussiontools-betaenable' and up_value='1'

And it tells me that the following number of users have the non-existent beta feature enabled on each wiki:

arwiki1012
cswiki120
huwiki193

For comparison, here are results of the same query for a few of the most active wikis where the beta feature actually exists:

frwiki2908
hewiki209
zhwiki1905

So we might actually get a decent number of users into the new beta feature immediately. I don't think this is everyone who tried the previous beta feature (unless I'm actually completely misunderstanding how preferences work), but it's a lot of folks.

Also, there are two more ways in which users could get the new beta feature, that might not be included in the numbers above:

  • Anyone who has turned on "Automatically enable most beta features" in their preferences
  • Anyone who has turned on our beta feature in their global preferences

And one last thing. Someone mentioned rescuing data about who turned on the beta feature from the PrefUpdate schema. It's actually not possible here – this is part of EventLogging data, and all of it is deleted or anonymized after 90 days, and we've removed the beta feature from those wikis earlier than that.

The task description mentions radio buttons. I think a checkbox would be more normal.

NEXT STEP

  • @Whatamidoing-WMF: can you please review the task description's "Setting defaults" section within the ===Requirements heading?

...this section describes an initial approach for how people at ar, cs and hu will experience the New Discussion Tool by default and I'd like to know whether anything about what's described is concerning to you.

I share @Tacsipacsi's concerns. It does not seem like a good idea to have ~100% of editors at three Wikipedias getting this on the first day that it's in production. (What if it breaks unexpectedly?)

If we can rescue the old prefs, then I don't mind giving it to the people who previously opted in, but it should not be deployed default-on on the first day.

Whatamidoing-WMF updated the task description. (Show Details)
Whatamidoing-WMF updated the task description. (Show Details)

I've updated the task description to deal with the people who have never fiddled with their prefs.

Change 655966 merged by jenkins-bot:
[operations/mediawiki-config@master] Enable DiscussionTools' newtopictool as beta feature on Beta Cluster

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

When a preference option disappears, MediaWiki will clear every user's settings for that preference the next time they change their settings, and the beta feature's preference basically disappeared when we disabled it. (It might work by accident if the user's preferences settings were not changed since we disabled the beta feature, but that's unlikely – a number of features like e.g. remembering your last used editor are implemented using preferences, and would also clear the value whenever used.)

I've read the relevant code now and I was actually remembering it a bit wrong – the settings for non-existent preferences are only cleared after saving the Special:Preferences form, and not when preferences are saved via the API (like when remembering your last used editor) or any other means. https://github.com/wikimedia/mediawiki/blob/927a423d5bbad9c5b44b1d66d273b3ec23e27f34/includes/preferences/DefaultPreferencesFactory.php#L1798

That probably explains why so many users still have those beta feature settings.

I think the work here is done, and everything will behave as described in the task (except for the issue with users who lost their old beta feature preference, which can't be restored, but T272071 will avoid it reoccurring in the future).

I'm moving this to "Blocked / Needs More Work" because I am assuming the patch that's already been written for this task [i] may need to be adjusted to account for the changes that will happen in T270788.

No adjustments should be necessary (but if anything new comes up, it can be changed in that task).

When a preference option disappears, MediaWiki will clear every user's settings for that preference the next time they change their settings, and the beta feature's preference basically disappeared when we disabled it. (It might work by accident if the user's preferences settings were not changed since we disabled the beta feature, but that's unlikely – a number of features like e.g. remembering your last used editor are implemented using preferences, and would also clear the value whenever used.)

I've read the relevant code now and I was actually remembering it a bit wrong – the settings for non-existent preferences are only cleared after saving the Special:Preferences form, and not when preferences are saved via the API (like when remembering your last used editor) or any other means. https://github.com/wikimedia/mediawiki/blob/927a423d5bbad9c5b44b1d66d273b3ec23e27f34/includes/preferences/DefaultPreferencesFactory.php#L1798

This is helpful for us to know – I'm glad you followed up on this, @matmarex.

A resulting question: Would it be accurate for us to think the ~1,300 people at ar.wiki, cs.wiki and hu.wiki who have the, "...non-existent [Discussion tools] beta feature enabled..." [i] will automatically see the New Discussion Tool once it's made available as a beta feature at these wikis?


i. T270119#6748900

Yes

Great – thank you for confirming.

I've "checked" the checkboxes of the ===Requirements I was able to test and verify on https://en.wikipedia.beta.wmflabs.org

Resulting question:

  • @matmarex : would it be accurate for me to think the remaining unchecked scenarios in the ===Requirements section will need to be verified in production?

I've "checked" the checkboxes of the ===Requirements I was able to test and verify on https://en.wikipedia.beta.wmflabs.org

Resulting question:

  • @matmarex: would it be accurate for me to think the remaining unchecked scenarios in the ===Requirements section will need to be verified in production?

Confirmed, the remaining scenarios can be tested once T269471 is resolved.

ppelberg added a project: Editing QA.
ppelberg moved this task from Inbox to High Priority on the Editing QA board.

As discussed during today's standup and as @Ryasmeen came to find yesterday, we are opting not to test the scenarios in the Setting defaults section of the task description's === Requirements section.

Reasons:

  • No projects currently meet the conditions described in scenarios "1." and "2."
  • Scenarios "3.", "4.", and "5." are not testable on any production wiki and we decided it was not worth the effort to recreate the conditions needed to test these scenarios locally.