Page MenuHomePhabricator

Prevent reply links from showing on certain pages
Closed, ResolvedPublic

Description

T245890 enables people to use DiscussionTools on pages outside of the talk namespaces.

This task is about refining the initial approach described in T245890 to ensure reply links are not added on pages they should not be.

Propsal

⚠️ This sections contains what the Editing Team is proposing we implement to empower volunteers to prevent [ reply ] links from appearing in two cases: A) Talk pages and sections within talk pages that contain closed/archived discussions and B) Talk pages and sections that contain signatures and do NOT contain discussions ⚠️

Proposal: https://www.mediawiki.org/wiki/User:ESanders_(WMF)/sandbox/notalk

Approaches

Below are some approaches we could take to prevent the reply link from being added.

Feature-specific exclusion

  • Reply links would not appear on pages that contain a magic word, like __NOREPLYLINKS__

Content purpose declaration

  • Provide __ARCHIVEDTALK__ and let any software decide which behaviour is appropriate on this page (hiding rely links)

Exclusions within certain sections

Content-specific inclusion list

  • Reply links would only be appended to comments at a new level of indentation

References

Use Cases

Discussions

Open questions

  • What do we estimate to be the rate of pages that contain __NONEWSECTIONLINK__ syntax and do not contain discussions?
    • Per T249293#6889884, pages which transclude discussions often use __NONEWSECTIONLINK__ to prevent sections discussions being added directly to the page, but still contain many transcluded discussions that can be replied to.
  • Should topic subscriptions be disabled when the reply link is disabled?

Conditions

TBD

Done

  • Defined a set of conditions, that if met, will prevent reply links from being shown
  • Implement "Conditions"

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
  1. Question: would it be accurate for me to think that the approach we take now for enabling people to suppress [ reply ] links on a per-page-basis will not jeopardize a potential future wherein we introduce additional magic words to offer people the ability to suppress Topic Subscriptions (read: [ subscribe ] links) and the usability improvements we have planned (e.g. T269950 + T293522) on a per-page-basis?

Yes, we can add more magic words later if required.

  1. Question: related to "1.", in saying "...we can decide later if this should affect topic subscriptions." are you suggesting that in the event people have a need to suppress [ subscribe ] links on a per-page-basis, we could offer this by way of expanding the scope/impact of the __NOREPLYLINKS__ magic word? If so, can you share what's leading you to propose an approach wherein a single magic word could come to affect multiple features rather than there being a "1:1" [i] relationship between a magic word and the functionality it impacts?

There may be cases where disabling one feature results in us logically wanting to disable another feature. In that case it probably doesn't make sense to require users to add two magic words when one is logically a subset of the other. With Sherry's counter-examples I don't think that is the case here, but I think it's ok to consider.

Having considered the issue more on T295553, I think the magic words should describe the state of the content rather than the specific feature we want to suppress. So in this case __NOREPLYLINKS__ might become __ARCHIVEDTALK__. I think this is more flexible and future proof: while we currently describe the feature as "reply links", it may in the future be "reply & edit links", or "reply, edit & like links". If the magic word just describes the state of the page ("archived") then future implementors can decide which features should be available on archived talk pages.

Yeah, I do prefer __ARCHIVEDTALK__ as content based, and any software in the next centuries might decide on appropriate behaviour.

__NOREPLYLINKS__ might become __ARCHIVEDTALK__

I know this is bikeshedding, but __TALKARCHIVE__ sounds better to me, maybe because it’s a noun and not a phrase. __ARCHIVEDTALK__ is also totally acceptable for me, though.

Per https://fr.wikipedia.org/wiki/Discussion_Projet:Outils_de_discussion#Pas_convaincu_non_plus it might be useful to disable [reply] links in a single section. In addition to its use in semi-structured voting, which is T259865: Add support for voting-style discussions, imagine being able to turn off the [reply] tool in a boxed up/closed discussion (e.g., via https://en.wikipedia.org/wiki/Template:Closed_rfc_top).

@Whatamidoing-WMF, more fine-grained control than per-page is tracked in T295553.

Obviously a little late, but it would be nice if there were a way to disable reply links within archived discussions (while still having them enabled on the rest of the page). A magic word would presumably apply to the entire page, but perhaps something similar to <nowiki> (<noreply>?) that could be used as needed within discussions?

Edit: I see something that kind of addresses this is T295553.

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

[mediawiki/extensions/DiscussionTools@master] [WIP] Support hiding reply links and suppressing comment detection

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

Change 737763 abandoned by Esanders:

[mediawiki/extensions/DiscussionTools@master] [POC] Hide reply links when __NOREPLYLINKS__ is used

Reason:

squashed

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

Esanders renamed this task from Prevent reply link from showing on certain pages to Prevent reply links from showing on certain pages.Mar 10 2022, 2:26 PM
Esanders updated the task description. (Show Details)

Meta: I'm associating this task with T302011 per the point @Esanders raised today about permalinks potentially increasing traffic to archive discussions and exacerbating the need this task is meant to address: preventing people from commenting in discussions that are "closed."

Update
During the discussion the Editing Team had offline today, we came to decide on the following:

  1. [DECIDED] To offer people the ability to prevent reply links from appearing after comments on archived talk pages, we are going to introduce a new magic word that will enable volunteers to "describe" arbitrary pages as being "closed" or "archived." For context: @Esanders proposed this approach in T249293#7499064.
    • This yet-to-be-named magic word will, for now, prevent reply links from appearing after comments published on said pages.
    • This approach ensures that if/when volunteers come to need a way of "suppressing" other DT features on archived talk pages (e.g. Subscribe buttons/links), the "meaning" of the aforementioned magic word can be expanded on a per project basis.
  2. [DECIDED] To offer people the ability to prevent reply links from appearing after comments in specific talk page sections, we are going to introduce a new CSS class. For context: @Esanders also proposed this approach in T249293#7499064.
    • This yet-to-be-named CSS class will, for now, prevent reply links from appearing.
    • This approach ensures that if/when volunteers come to need a way of "suppressing" other DT features within arbitrary talk page sections, the "meaning" of the aforementioned CSS class can be expanded on a per project basis.
  3. [ACTION] We need to decide whether "2." and "3." will get implemented simultaneously or whether "2." can happen before "3."
  4. [ACTION] We need to determine the names for the magic word and CSS class referenced in "1." and "2."
    • @Whatamidoing-WMF and I are going to talk about how we might go about soliciting input on this.

Please prevent also Start a discussion about from appearing on inappropriate pages.

See this one – I want visitors to follow the redirect towards the central collecting page, not to Start a discussion about right here.

Do you need a separate task for that?

Please prevent also Start a discussion about from appearing on inappropriate pages.

See [ https://en.wikipedia.org/wiki/User_talk:PerfektesChaos/js/refNames | this one ] – I want visitors to follow the redirect towards the central collecting page, not to Start a discussion about right here.

Do you need a separate tsk for that?

Filing a separate task would be helpful – thank you for offering, @PerfektesChaos.

Another example: https://wikitech.wikimedia.org/wiki/Technical_debt/Unused_config

I thought it nice to have a field on this page allowing the person who last updated it to sign it. I tried adding __NONEWSECTIONLINK__ (despite there not being such link in the first place) as a signal to maybe prevent the [reply] button from being inserted, but this did not work as expected.

The reason the button shows up there is presumably due to the combination of 1) Wikitech having NS_MAIN in wgExtraSignatureNamespaces (wantsSignature=true), and 2) there being non-zero signatures on the page.

Ah, wrong task, answering T314547, sorry.

BTW, on talk archive pages there is usually no subject page on /archive. If this is a talk page and the subject page does not exist it is most probably an archive subpage, and no section may be added nor anything starting, since only the root talk page owns a root subject page. If the subject page does not exist nobody should be invited to start talking about nothing.

See also T314547, about suppressing "new topic" related.

I don't like the idea of "ARCHIVEDTALK" for this, as opposed to a straightforward directive (e.g. NOREPLYLINK). There are plenty of possible use cases for a talk page that shouldn't use "reply", but have nothing to do with the type of content on the page; needing magic words to describe such a sub-case of content isn't consistent with anything else.

I don't like the idea of "ARCHIVEDTALK" for this, as opposed to a straightforward directive (e.g. NOREPLYLINK). There are plenty of possible use cases for a talk page that shouldn't use "reply", but have nothing to do with the type of content on the page; needing magic words to describe such a sub-case of content isn't consistent with anything else.

E.g. soft redirect.

BTW, on talk archive pages there is usually no subject page on /archive. If this is a talk page and the subject page does not exist it is most probably an archive subpage, and no section may be added nor anything starting, since only the root talk page owns a root subject page. If the subject page does not exist nobody should be invited to start talking about nothing.

A talk page subpage without a corresponding subject page may also be a leftover after the subject page was moved or deleted, in which case I’d expect reply links to appear. This is likely in namespaces where subject pages often have subpages—e.g. user (article drafts, notes etc.), project (subprojects, WikiProject article drafts etc.), templates and modules (subtemplates/-modules)—, and less likely in talk spaces of namespaces like article and file that don’t usually have subpages.

If the subject does not exist any longer there is nothing to talk about and all discussion is discontinued and nobody should be invited to add answers in the wrong place.

If it is a remainder after moving the subject, the orphan needs to be moved or merged or archived together with the new subject talk.

If the entire subject has been deleted since it has been just a draft there is also nothing to be added on invitation. The discussion on deleted draft is closed and may be moved to the final talk, or deleted.

If the subject does not exist any longer […] all discussion is discontinued

Except when it isn’t. For example, just because the author of a user draft asked the draft to be deleted, discussion may continue on its talk page—and I don’t mean someone writing messages on the talk page that remain unanswered, but multiple people replying to each other. This is probably pretty rare, but there’s no rule that would prohibit it, and we should not stop people from having meaningful discussions (or force them to use the legacy full-page editor).

If the draft has been deleted no no-sysop is able to see that and nobody can discuss about nothing.

If the draft has been copied to a regular subject page, talking about the draft is orphaned and may be moved for historical reasons as one of the archives of the talking page of the regular subject. In this case it is closed and discontinued. New discussions about an invisible ghost text are pointless.

About nothing, nobody can discuss. However, people can discuss about something, even if that something has been deleted, but the people remember what it was (or some or all of them are even admins—imagine someone pinging an admin on the deleted page’s talk asking them to restore it), or if the talk page contains enough details about the since-deleted page that people can understand the subject. Or something that is no longer there, but used to be there and is now scattered around the wiki, so there’s no better place for it.

One of the main reasons of Flow’s failure was that it tried to force specific workflows and ways to discuss on people instead of accommodating to the existing workflows and ways to discuss, don’t try to do the same with DiscussionTools (“all discussion is discontinued”, “[t]he discussion on deleted draft is closed”, “it is closed and discontinued”—you think that these discussions are discontinued/closed, and you want to force this on people, who may not think so).

If the subject does not exist any longer there is nothing to talk about and all discussion is discontinued and nobody should be invited to add answers in the wrong place.

If it is a remainder after moving the subject, the orphan needs to be moved or merged or archived together with the new subject talk.

If the entire subject has been deleted since it has been just a draft there is also nothing to be added on invitation. The discussion on deleted draft is closed and may be moved to the final talk, or deleted.

@PerfektesChaos: can you please share what prompted you to name the case above? Is there something unique about this case that you think would NOT be covered by what is being proposed in T249293#8129301 ?

I don't like the idea of "ARCHIVEDTALK" for this, as opposed to a straightforward directive (e.g. NOREPLYLINK). There are plenty of possible use cases for a talk page that shouldn't use "reply", but have nothing to do with the type of content on the page; needing magic words to describe such a sub-case of content isn't consistent with anything else.

@Xaosflux, "2." in T249293#8129301 proposes that we introduce a magic word + CSS pair that would enable people to describe particular pages or sections as NOT containing discussions without needing to describe them as being "archived" or "closed."

Does the approach I've shared above address the concern you raised in T249293#8133699? If not, can you please share why you think that's the case?

I ask the above in an effort to better understand the shortcoming you see in the solution we are proposing.

@PerfektesChaos: can you please share what prompted you to name the case above? Is there something unique about this case that you think would NOT be covered by what is being proposed in T249293#8129301 ?

  • This task is listing possible approaches to prevent generation of undesired invitations for replying or even starting a new discussion on pages which are not expecting that.
  • The lack of a subject page is one of the indicators that it is not desired to add talk sections, existing of NOREPLYLINKS is another one. Both situations do not exclude each other, i.e. either the one or the other shall block reply and start invitations.

BTW, the two issues Start a discussion and Reply are the same situation from the viewpoint of the page owner. There shall be one solution which fits both.

I share the view that classic NOREPLYLINKS NOEDITSECTIONS are sufficient keywords to declare that neither a source editing reply link nor a new DT capability nor invitation to start a new discussion nor anything else is wanted within this page. Introduction of new ARCHIVEDTALK is not meaningful, since projects will be forced to equip all pages which already got NOREPLYLINKS NOEDITSECTIONS with a further marker to fight against DT as well. Those pages already declared that they do not want conversation and do not need introduction of any new keyword.

  • Furthermore, archived talk is one situation where pages shall not offer conversation, soft redirects and overview and navigation pages are other reasons. ARCHIVEDTALK, if ever, is not a good idea since confusing.
  • If NOREPLYLINKS no reply tool nor starting anything is desired. whyever. Period.

There’s no NOREPLYLINKS magic word. Do you mean NONEWSECTIONLINK? If you do, then no, it should not disable the reply tool (it should disable the new topic tool, though). For example, en:Template talk:Did you know contains __NONEWSECTIONLINK__, because new entries should be created with a wizard instead of the standard new topic workflow, but by no means should the reply tool be disabled, as the discussion is just a usual discussion, in which one can reply the usual way. Similarly, even though it’s probably appropriate to disable the new discussion tool’s empty state experience (huge call-to-action inviting users to start new topics) on talk pages that have no corresponding subject page, disabling reply links might not be appropriate (as I tried to explain in my last three comments on this ticket).

Not just archived discussions, the "[reply]" button also appears in old revisions of discussion venues and talk pages. I'll provide links if necessary.

The reply links/buttons in old revisions are intentional and should mostly work (at least for mildly old revisions, less for revisions hundreds of revisions away from the current one). If you try to reply in a topic that has been changed since, you’ll get an edit conflict warning, but if you try to reply in a topic that looks the same as in the current revision, there’s nothing to worry about.

IMO topic subscriptions should still be enabled for pages that disable reply links, as it may be helpful to subscribe to a certain section. Quite frankly, I might want to "watchlist" certain sections of articles as well.

In T249293#8592023, @EpicPupper wrote:

IMO topic subscriptions should still be enabled for pages that disable reply links, as it may be helpful to subscribe to a certain section.

If we disable reply links because a discussion is closed/archived, what is the value in subscribing?

In T249293#8592023, @EpicPupper wrote:

IMO topic subscriptions should still be enabled for pages that disable reply links, as it may be helpful to subscribe to a certain section.

If we disable reply links because a discussion is closed/archived, what is the value in subscribing?

Archives are not the only use-case for disabling reply links; as mentioned in the description, voting pages, Articles for Deletion, etc, could be helpful to subscribe to. As well, it can also be helpful to subscribe to sections in non-discussion pages (e.g. articles).

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

[mediawiki/extensions/DiscussionTools@master] Support suppressing comment detection in pages or sections

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

Change 738221 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Support hiding reply links in archived pages or sections

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

Change 903247 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Support suppressing comment detection in pages or sections

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

I documented all of the new features (and some pre-existing features) at https://www.mediawiki.org/wiki/Help:DiscussionTools/Magic_words_and_markup. Review and improvements appreciated!

They will be available on Wikimedia wikis this week with the weekly train deployment, and were already announced in Tech News (https://meta.wikimedia.org/wiki/Tech/News/2023/14).

ba.wikipedia Ҡалып:Закрыто/styles.css

The corresponding template page appears to have been moved, so this should be deleted?

meta.wikimedia Template:Community Wishlist Survey/Proposal header/styles.css
meta.wikimedia Template:Community Wishlist Survey/styles.css

This isn't for archived discussions, more a case for the to-be-implemented NOTALK marker.

pt.wikipedia Predefinição:Discussão topo/styles.css

Already fixed

pt.wikipedia Predefinição:Respondido/styles.css
ru.wikipedia Шаблон:Закрыто/styles.css

Fixed

Test wiki on Patch demo by ESanders (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/298de56585/w/