Page MenuHomePhabricator

Enable topic containers and other visual enhancements on pages using __NEWSECTIONLINK__
Closed, ResolvedPublic

Description

We can be fairly confident that pages not in the a talk namespace but using __NEWSECTIONLINK__ contain discussions. Furthermore, as this magic word triggers the add topic tool, we can be fairly sure the topics are being added with <h2> tags.

For example, many pages in the Wikipedia: namespace are talk pages:

We should exclude the main namespace from this, as it appears that __NEWSECTIONLINK__ gets added to articles sometimes
(14 instances on enwiki: https://en.wikipedia.org/w/index.php?search=insource%3A%2F__NEWSECTIONLINK__%2F&title=Special:Search&ns0=1&searchToken=1rniex0x6adcivi9qkhjployw )
...presumably accidentally, and restyling articles as talk pages would not be good (although might encourage users to fix these pages!)

Deployment phases

In each phase we will:

  1. Verify the assumptions this ticket makes do not result in a "disruptive" level of false positives and
  2. Identify and address cases that break the assumptions the Usability improvement features make
PhaseWikisObjective(s)Deployment dateConfig ticket/patch
Phase 0.1hu.wikiEnable on hu.wiki by request.✅ 3rd AprilT333570
Phase 0.2de.wikiEnable on de.wiki by request✅ 18th AprilT318596
Phase 1All wikis where usability improvements are already enabledLearn from people are already using features what issues they encounter when they're made more widely available6 December 2023 (scheduled)T352232

References

Related Objects

Event Timeline

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

Change 896126 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/DiscussionTools@master] Allow visualenhancements on any non-article page with __NEWSECTIONLINK__

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

Wikipedia articles should indeed not have __NEWSECTIONLINK__ and DiscussionTools, but mainspace pages of meta-wikis (like Meta-Wiki 🙂) can. If mainspace is in $wgExtraSignatureNamespaces, I think it’s safe to do visual enhancements in mainspace as well. Maybe even other namespaces should have visual enhancements only if they’re in $wgExtraSignatureNamespaces (and __NEWSECTIONLINK__ is present)?

By the way, maybe it’s a good idea to add a tracking category to pages using __NEWSECTIONLINK__ in namespaces not in $wgExtraSignatureNamespaces so that editors can easily notice them. And to rethink the VisualEditor UX, as 15 out of these 16 enwiki pages got their __NEWSECTIONLINK__s in VisualEditor edits.

By the way, maybe it’s a good idea to add a tracking category to pages using __NEWSECTIONLINK__ in namespaces not in $wgExtraSignatureNamespaces so that editors can easily notice them. And to rethink the VisualEditor UX, as 15 out of these 16 enwiki pages got their __NEWSECTIONLINK__s in VisualEditor edits.

I think the UI is pretty clearly labelled. 16 mistakes out of millions of articles and hundreds of millions of edits is not a bad failure rate. en.wiki could probably fix this with an abuse filter

By the way, maybe it’s a good idea to add a tracking category to pages using __NEWSECTIONLINK__ in namespaces not in $wgExtraSignatureNamespaces so that editors can easily notice them. And to rethink the VisualEditor UX, as 15 out of these 16 enwiki pages got their __NEWSECTIONLINK__s in VisualEditor edits.

I think the UI is pretty clearly labelled. 16 mistakes out of millions of articles and hundreds of millions of edits is not a bad failure rate. en.wiki could probably fix this with an abuse filter

I've removed these markers. I noticed a few __INDEX__ tags too, and there are 52 others: https://en.wikipedia.org/w/index.php?search=insource%3A%2F__INDEX__%2F&title=Special:Search&profile=advanced&fulltext=1&ns0=1

Per discussion today - we will put this behind a feature flag so we can do a phased rollout.

I think the UI is pretty clearly labelled.

I don’t think so. These are the exact copies on enwiki:

  • Label: Show a tab on this page to add a new section
  • Help text: You can force the display of an extra tab besides the "Edit source" tab on this page which will make it easy to add a new section, or force it to not appear if it otherwise would.

Neither of these mention talk pages at all (not to mention that the DiscussionTools terminology is consistently “topics”, not “sections”, so if this thing uses “section”, one can even assume that it’s specifically designed to be used on non-discussion pages).

16 mistakes out of millions of articles and hundreds of millions of edits is not a bad failure rate.

This measurement doesn’t prove anything, and you’ve also demonstrated why: it ignores articles volunteers (or, in your case, staff) have already invested time to fix. There can be 15 articles with __NEWSECTIONLINK__ because the switch is inserted in only 1.5 articles a year in average since VisualEditor’s initial deployment in 2012, but also because it’s inserted in hundreds of articles a day, but almost all are quickly fixed, only a few slip through. Probably the first case is nearer to the reality, but it certainly is not the reality.

en.wiki could probably fix this with an abuse filter

AbuseFilter is not for fixing software/UX bugs. First because if there’s a bug in the software, the software should be fixed, second because it’s not cross-wiki. Who will add the abuse filter on huwiktionary, where there are exactly zero admins who did anything in the last thirty days?

Let's move that discussion to another task.

Per discussion today - we will put this behind a feature flag so we can do a phased rollout.

Done with DiscussionTools_visualenhancements_newsectionlink_enable.

Let's move that discussion to another task.

Moved: T331661: Improve VisualEditor UX to avoid users adding __NEWSECTIONLINK__ in main namespace


T331635#8680563, on the other hand, definitely belongs in this task, could you please comment on it?

T331635#8680563, on the other hand, definitely belongs in this task, could you please comment on it?

That seems reasonable. The only thing I worry about is the logic becoming so complex that it isn't clear to users why a given page is/isn't showing topic containers.

Yes, this is a valid concern. Although it complicates the logic only for cross-wiki users (and developers), as a single wiki would either have topic containers in mainspace or not, probably cross-wiki users are overrepresented exactly among the users who try to understand how topic containers work. However, my second proposal (only show topic containers in $wgExtraSignatureNamespaces namespaces, dropping the mainspace check entirely) wouldn’t be more complicated than the logic you proposed – both add one condition compared to the currently deployed logic.

Change 897912 had a related patch set uploaded (by Esanders; author: Esanders):

[operations/mediawiki-config@master] Disable visual enhancements on newsectionlink pages initially

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

my second proposal (only show topic containers in $wgExtraSignatureNamespaces namespaces, dropping the mainspace check entirely)

I went with the first approach you suggested (exclude main namespace unless in extraSignatures). From my comment on the patch about this second approach:

I worry that especially on smaller wikis, wgExtraSignatureNamespaces is not necessarily fully configured. This logic is only really to stop highly visible false positives. Everywhere else we can probably trust NEWSECTIONLINK.

Change 897912 merged by jenkins-bot:

[operations/mediawiki-config@master] Disable visual enhancements on newsectionlink pages initially

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

Mentioned in SAL (#wikimedia-operations) [2023-03-15T13:08:54Z] <taavi@deploy2002> Started scap: Backport for [[gerrit:898843|Enable new Vector (2022) "Add topic" button at cswiki, huwiki (T331313)]], [[gerrit:898844|Enable DiscussionTools usability improvements at cswiki, huwiki (T329407)]], [[gerrit:897912|Disable visual enhancements on newsectionlink pages initially (T331635)]]

Mentioned in SAL (#wikimedia-operations) [2023-03-15T13:10:31Z] <taavi@deploy2002> matmarex and taavi and esanders: Backport for [[gerrit:898843|Enable new Vector (2022) "Add topic" button at cswiki, huwiki (T331313)]], [[gerrit:898844|Enable DiscussionTools usability improvements at cswiki, huwiki (T329407)]], [[gerrit:897912|Disable visual enhancements on newsectionlink pages initially (T331635)]] synced to the testservers: mwdebug2001.codfw.wmnet, mwdebug2002.codfw.wmnet, mwdebu

Mentioned in SAL (#wikimedia-operations) [2023-03-15T13:17:56Z] <taavi@deploy2002> Finished scap: Backport for [[gerrit:898843|Enable new Vector (2022) "Add topic" button at cswiki, huwiki (T331313)]], [[gerrit:898844|Enable DiscussionTools usability improvements at cswiki, huwiki (T329407)]], [[gerrit:897912|Disable visual enhancements on newsectionlink pages initially (T331635)]] (duration: 09m 01s)

Change 896126 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Allow visualenhancements on pages with __NEWSECTIONLINK__

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

Maybe even other namespaces should have visual enhancements only if they’re in $wgExtraSignatureNamespaces (and __NEWSECTIONLINK__ is present)?

For the record, I also think this would be a good idea, and simpler to think about than the solution we have currently implemented.

Next step is to schedule some config deployments.

ppelberg added a subscriber: Whatamidoing-WMF.

Next step is to schedule some config deployments.

I've updated the task description to include a proposal of the high level phases I see us deploying this work in.

I'm assigning this ticket over to @Whatamidoing-WMF to propose the wikis we consider including in "Phase 1."

Will this change the appearance of the whole page, if there is an "Add section" button, but there are no signed comments anywhere on the page?

Will this change the appearance of the whole page, if there is an "Add section" button, but there are no signed comments anywhere on the page?

Yes (it'd affect the heading styles and the space after colon in the page title).

Huwiki has offered to test this for us and to let us know if there are any problems or unexpected results. I recommend that we do this (just for the one wiki).

The timing of this is up to @ppelberg. Whether this should be done before/simultaneously with/after the deployment of the Usability features (currently blocked on the A/B test's completion and evaluation) to the talk namespaces is up to him. IMO there is no inherent need to stagger this deployment. I suggest that it not be delayed very long, since its absence produces requests for it.

Communities should be informed shortly beforehand via Tech News User-notice The text of the Tech News announcement should say something like:

"The appearance of discussion pages outside of talk namespaces, such as Village Pumps, will change. Any page with a __NEWSECTIONLINK code will get the new appearance. If you don't like it, you can opt out of "{{int:discussiontools-preference-visualenhancements}}" in [[Special:Preferences#mw-prefsection-editing-discussion]]."

The timing of this is up to @ppelberg. Whether this should be done before/simultaneously with/after the deployment of the Usability features (currently blocked on the A/B test's completion and evaluation) to the talk namespaces is up to him.

I wouldn't want to do this after the deployment of usability features, as it will create a second larger impact change. It would be better to roll this out while the set of users is still limited to opt-in beta feature users, and iron out any issues (if there are any) before the bigger visual enhancement switch-on.

Change 971465 had a related patch set uploaded (by DLynch; author: DLynch):

[operations/mediawiki-config@master] DiscussionTools visual enhancements on pages with __NEWSECTIONLINK__

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

So phases 1, 2 and 3 are skipped, going straight to phase 4?

So phases 1, 2 and 3 are skipped, going straight to phase 4?

The Editing Team has not yet made any revisions to the deployment plan described in the task decription.

Although, we will be discussing the potential of doing so in the next 1-2 weeks.

I asked because the patch @DLynch uploaded goes straight to (almost) phase 4. Should that be marked work-in-progress until the decision has been made?

Should that be marked work-in-progress until the decision has been made?

I tend to feel that there's no point marking config patches as work-in-progress, as they can only ever be merged by directly being shepherded through a backport window. (Along with the other flaws of the work-in-progress system, of course.)

I tend to feel that there's no point marking config patches as work-in-progress, as they can only ever be merged by directly being shepherded through a backport window.

Is there an internal policy that backport deployers should get an explicit okay from the PM for configuration changes prepared by staff? If I was a deployer, I’d assume that any questions have already been cleared during a team meeting.

(Along with the other flaws of the work-in-progress system, of course.)

By “marked as work-in-progress”, I didn’t necessarily mean the Mark as work in progress button on the Gerrit UI, but any way of making clear that the patch is not ready to be merged and deployed: a [WIP] prefix in the commit message title, a −1 accompanied by an unresolved comment explaining the situation etc.

If I was a deployer, I’d assume that any questions have already been cleared during a team meeting.

The deployers don't take any outstanding patches against the repo and merge them, they just merge the ones that've actually been signed up for deployment on https://wikitech.wikimedia.org/wiki/Deployments -- in part because the process includes testing the patch on a staging server, and a random deployer wouldn't know enough about a given patch to properly test that it worked.

Clarifying what this patch does:

  • Applies to anyone who has visual enhancements enabled (either via the beta feature (which exposes the new preference as enabled by default), the A/B test on certain wikis, or by being on mobile where enhancements are always enabled)
  • Enables visual enhancements whenver the __NEWSECTIONLINK__ marker is present (as opposed to only in talk namespaces)
  • However this does not apply in the article namespace, unless the article namespace is in wgExtraSignatureNamespaces (such as on mediawiki.org)
    • This prevents our styling ever applying to Wikipedia articles, even if a user accidentally adds the marker to that page.

Per what the Editing Team discussed offline on 8 November 2023, the next step we're going to take to make the suite of Usability Improvements available on talk pages outside of the User talk and Article talk will be to: offer these features to all people on all wikis who already have these features enabled. T352232 describes the details of this deployment.

The above is an effort to learn from people are already using an familiar with the suite of [Usability Improvements](https://www.mediawiki.org/wiki/Talk_pages_project/Usability)what – if any – issues they encounter when they're made available on a wider range of pages.

Change 971465 abandoned by DLynch:

[operations/mediawiki-config@master] DiscussionTools visual enhancements on pages with __NEWSECTIONLINK__

Reason:

Ed's patch is more comprehensive

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

Esanders updated the task description. (Show Details)