Page MenuHomePhabricator

[Proof of Concept] Build an embeddable topic list
Open, Needs TriagePublic

Description

🌱This ticket is a seed on the forest floor that is Phabricator.


Concept

Enable people to:

  1. Generate a list of discussions that exist on a page or pages of their choosing and
  2. Define the pieces of metadata about each discussion (e.g. the last time the discussion was edited, vote counts, whether a discussion participant is a member of a particular user group (e.g. en:Bot Approval Group) that they'd like to be included within this table.

Use Cases

Current

Discussions a WikiProject is interested in being aware of

  • Value: How does this list impact members of the WikiProject?
    • Please add ideas here!

Discussions where "work" is being requested

An index of of talk pages and their associated archive(s)

An overview of the various discussions and requests taking place throughout a given project/wiki

TODO

Potential
  • Creating a single place where members of a wiki could see the active deletion discussions via @Samwalton9-WMF in T295392#7514419
  • > A list of the conversations taking place across projects about a piece of software that is deployed across said projects
  • Members of the WMF's Machine Learning Team interested in tracking the local conversations about a new machine learning model they are developing
    • Inspired by the presentation @Htriedman gave during the 21 Dec 2022 Product Staff Meeting.

Inspiration

This ticket is inspired by @Kanashimi's Cewbot. Thank you to @MilkyDefer for making us aware of this bot and these example pages where it is being used:

Event Timeline

Matma Rex pointed me here because I run a bot that generates indexes of talk pages and their archives, e.g. https://en.wikipedia.org/wiki/User_talk:Legoktm/Index

More related to this idea, https://en.wikipedia.org/wiki/Wikipedia:Bot_requests also has a similar table to the commons one. The listing of discussions at https://en.wikipedia.org/wiki/Template:ArbComOpenTasks is generated by a Lua module that parses sections on specific pages: https://en.wikipedia.org/wiki/Module:ArbComOpenTasks

I'm curious about:

  1. Define the pieces of metadata about each discussion (e.g. the last time the discussion was edited) that they'd like to be included within this table

because that could open a lot of possibilities depending on how arbitrary this metadata is. For example, https://en.wikipedia.org/w/index.php?title=User:Cyberpower678/RfX_Report&oldid=1050675746 includes a vote count and https://en.wikipedia.org/wiki/Wikipedia:Bots/Requests_for_approval differentiates users on whether they're a member of BAG or not, and what the status of the request is.

Kind of related to this are the "new discussions" feed enabled for a handful of WikiProjects. Example:

https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Medicine/Discussions

https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Cannabis/Discussions

These reports are done by a bot which I stopped maintaining five years ago https://en.wikipedia.org/wiki/User:Reports_bot

Something that came up for me on this topic when doing research for the Moderator Tools project is content reporting - particularly deletion discussion processes.

We've been learning that it's hard to report content, with most wikis having a multi-step process which requires you to know it exists before you can start using it. There are at least 5 or 6 different gadgets and user scripts on different wikis which allow you to nominate an article for deletion and - I'm getting a little ahead of myself here in our research process - I've been considering whether we might build some direct MediaWiki feature which enables users to report content for deletion. That would necessarily need to start a discussion somewhere, and if we're thinking about reducing the setup burden for wikis without a well-developed process in place, we might also want to be able to provide users with a venue to see all the active discussions and at-a-glance information about how many participants there have been or what the support/oppose ratio looks like. If this kind of technology existed already, that would probably save us a lot of work here in building such an interface.

This is all in the early-sam-ideas phase but that's one potential use case :)

@Legoktm + @Harej, I'm glad this ticket found its way to y'all! The use cases and links you've shared are precisely the kind of references we're in search of. I've added them to the newly-created ===Use Cases section of the task description.

A resulting question for y'all: When you have time, can you please share how you've come to value/use the centralized discussion lists/feeds you shared links to?

And @Samwalton9, thank you for documenting the deletion workflow use case. I've added that to the task description as well.

ppelberg updated the task description. (Show Details)
ppelberg updated the task description. (Show Details)
ppelberg updated the task description. (Show Details)

Meeting Notes
During the meeting @Esanders and I had today, Ed noted:

  1. Enabling people to create a list of discussions from an arbitrary set of pages on a target page of their choosing (what this task is "asking for") would be relatively straightforward to implement given the infrastructure currently in place
  2. Being able to show metadata about the discussions in the list described in "1." [i] depends on T296801.

i. E.g. Number of comments in the discussion, the number of people who have commented in the discussion, the usernames of the people who have commented in the discussion, etc.

Adding a link to the prototype @Jdlrobson made that enables people to:

  • Generate a list of all of the discussions happening across every Wikimedia wiki
  • Sort said list by: i) Topic Name, ii) Topic Size, or iii) Index date
  • Filter said list by keyword(s) that appears within the discussion's topic name

See more here: https://wikitalky.wmcloud.org/

This looks great. Can this feed be accessed programmatically?

ppelberg updated the task description. (Show Details)
ppelberg added a subscriber: Htriedman.

I think this is essentially being done in T402781?