Page MenuHomePhabricator

Adding support for multiple watchlists in the Global Watchlist
Closed, ResolvedPublicFeature

Description

At https://phabricator.wikimedia.org/T3492 multiple watchlists were proposed.

One could enable this in the Global Watchlist and show these Watchlists on a single page (at least depending on some settings). Some of the Watchlists could be collapsed by-default there. This would also allow setting priorities (the task was merged to here) for articles on a Watchlist.

There could be an upper section at the top of the page showing the high-priority watchlisted items (ie things you'd like to get notified about immediately for all changes and would like to show at the top of the page even if the change was done more than a month ago).


I think there is a difference between adding support for multiple watchlists in the Global Watchlist and adding support for multiple watchlists through changes to the Global Watchlist (in combination with changes to the watchlisting-feature where you click a star at the top of an article). I'd propose adding support for multiple watchlists via the Global Watchlist so it's first and only possible with that Watchlist. Nevertheless, this issue could also just be about enabling support once this is implemented elsewhere.

Adding setting(s) to enable having sections collapsed by-default could also be used for the other Watchlists (WMC and so on) on the page and adding could be a separate subtask.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

The change you appear to be describing with articles of different priorities would involve substantial core changes that should be done as part of multiple watchlists in core, before they should be incorporated into the global watchlist display

Fair point and that's why I only raised this in a comment at that task. Most likely, it depends on some substantial core changes implemented first. But still this could become a Global Watchlist -only or -first feature instead of getting built into the current main Watchlist.

Fair point and that's why I only raised this in a comment at that task. Most likely, it depends on some substantial core changes implemented first. But still this could become a Global Watchlist -only or -first feature instead of getting built into the current main Watchlist.

GlobalWatchlist is only installed on meta for WMF wikis (its intended to be only on the central wiki that it should be accessed from) and this would require schema changed, etc. on the target wikis with the various watchlists, so it cannot really come to GlobalWatchlist first

Aklapper changed the subtype of this task from "Task" to "Feature Request".Mar 1 2022, 5:07 PM

@Prototyperspective: For future reference, please use the feature request form (linked from the top of the task creation page) to create feature requests. Thanks.

Well, looks like the work on labels is going very well recently. If and when there will be working labels on Wikimedia Foundation wikis, including at least two functionalities:

  1. User can add a label to specific watched page.
  2. The query/list/watchlist Action API has a new label field.

I think I have a good chance to resolve this task, @Prototyperspective.

Change #1236603 had a related patch set uploaded (by IKhitron; author: IKhitron):

[operations/mediawiki-config@master] DNM: Enable Watchlist labels by default (for patchdemo)

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

@Prototyperspective, now I know much more about the labels, and I'm not sure any more how to do this, though I do want to do this. Could you describe how do you see it, please? The obvious way - show on Special:GlobalWatchlistSettings the list of user's labels and choose some of them for collapsing - will not work, because the labels list could be changed any time after this.

Change #1238790 had a related patch set uploaded (by IKhitron; author: IKhitron):

[mediawiki/extensions/GlobalWatchlist@master] Split each site’s watchlist by labels

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

IKhitron changed the task status from Stalled to In Progress.Feb 16 2026, 10:35 PM
IKhitron claimed this task.
IKhitron triaged this task as Medium priority.
IKhitron moved this task from Potential to Ready to review on the User-IKhitron board.

Great to see progress on this and thanks for asking. I think some users at the other task may have more input. Haven't tested/used the labels yet and will probably be able to give some better input after I did. I think a good way to implement this would be allow the user to create new custom watchlists where they can include one or multiple labels (and one could also include unlabelled items in one of these watchlists per Wikimedia project such as en.wikipedia).

Then ideally when loading the Global Watchlist, the page would very quickly with all section collapsed. When you expand a Watchlist, it would load that Watchlist. When new labels are created the user would have to add the label to one of the Watchlists or otherwise it would only show in the global watchlist if they have the default watchlist for the given wikimedia enabled on the GW (the one that shows all items regardless of label; maybe this one would be deactivated once the first custom Watchlist is built).

So this means that whenever the user creates a new label, they need to assign it to one of the Watchlist. If one can assign labels from within the GW, this would not need to be done as one can just auto-assign the new label to the Watchlist currently being used. One could also allow specifying a watchlist to which all new labels should automatically be assigned so one doesn't have to change the GW Watchlist all the time when creating lots of labels.

All this is much more than I'm planning for now for this task, and I have work for months, I think. But it's very possible I'll work later with this model too, it sounds good, yet extremally hard to implement on the first sight. So, for now I'd like to see at least the answer for a question I asked, and it btw is relevant for the model you described too. The question was: How to treat links that were created after the Special:GlobalWatchlistSettings was filled. For now I'm planning that users will need to open the settings again, and then the updated labels list will be loaded, but maybe there is a better way I can't see yet.

I wasn't sure if I correctly understood the question and I thought you were asking what would be shown when the user configures labels after configuring their multiple watchlists. So my answer was that the new labels would need to be added to watchlists before their items show or they could be configured to be autoassigned to a specified watchlist on the GW. Could you clarify or rephrase the question? For example I don't know what you mean with "choose some of them [the labels] for collapsing" if this still applies – instead of allowing the user to collapse labels every time anew when opening the GW, they would configure multiple watchlists. So maybe 4 Watchlists for en.wikipedia, one with just pages that have the discussionpages label, one with todo label, one with x label and y label as well as all newly created labels, one with all items without label. Including a label in one of the watchlist like adding label z to watchlist 2 could be done by pressing the watchlist-configs button at the header of the watchlist and then selecting the label like one can select the tags here (dropdown with possible values and autocomplete).

OK, I'll try to clarify. As for now, I can't implement your suggestion that creates a watchlist that includes more than one label. Just because I do not know how to do it and I'm not sure it's even possible. Maybe in the future I'll learn how to do it and than could try. I really hope there will be a way, because I like this consept.
But as for now, all I can do is a watchlist per label and one more for the pages with no labels. Which looks fine conceptually, but can be too long on the page. So, I'm trying to find a way to predefine the watchlists that will start expanded on refresh vs. the watchlists that will start collapsed, less important to the user, to shrink the space needed for the eye. So, on Special:GlobalWatchlistSettings there will be some way to show all the user's labels and to divide them between expanded and collapsed. The user makes the decision, and the labels behave accordantly on Special:Watchlist. My concern is about the labels the user defines after the last time the Special:GlobalWatchlistSettings was saved.
About the dropdown autocomplete list you linked, it is not on php. The php possibilities are much smaller, and as for now, I do not know any way to have HTMLFormFieldCloner to except different values for different lines, and the user can define different labels on different sites, of course. So, I should find a way to solve the settings choosing without this.

Change #1238790 merged by jenkins-bot:

[mediawiki/extensions/GlobalWatchlist@master] Split each site’s watchlist by labels

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

IKhitron moved this task from Ready to review to Deployed on the User-IKhitron board.
IKhitron moved this task from Deployed to Merged on the User-IKhitron board.