Page MenuHomePhabricator

Deploy GlobalWatchlist extension to production (Meta only)
Closed, ResolvedPublic

Description

This is the top-level task for deploying GlobalWatchlist, and extension developed as part of a grant from the WMF

Checklist before enabling on meta on Thursday

Related Objects

Event Timeline

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

Per https://wikitech.wikimedia.org/wiki/Deployments/Inclusion_criteria enabling this requires a dedicated deployment window, which means I can't just add it to the next backport windows. Will try to schedule a time over IRC with a deployer.

Scheduled for 2021-02-03T18:00 UTC.

Are there any plans to deploy this watchlist on all wikis?

Are there any plans to deploy this watchlist on all wikis?

The way it works is that Special:GlobalWatchlist is available on a single wiki, but on the special page you can view the watchlist for multiple wikis (in this case, any wiki where your SUL account is attached) - you can configure the wikis you want to see at Special:GlobalWatchlistSettings. So no, this will only be deployed on meta, but it only needs to be deployed on a single wiki to be useful, and deploying on multiple would be confusing.

Are there any plans to deploy this watchlist on all wikis?

The way it works is that Special:GlobalWatchlist is available on a single wiki, but on the special page you can view the watchlist for multiple wikis (in this case, any wiki where your SUL account is attached) - you can configure the wikis you want to see at Special:GlobalWatchlistSettings. So no, this will only be deployed on meta, but it only needs to be deployed on a single wiki to be useful, and deploying on multiple would be confusing.

It's just that everyone's home wiki is different, and I would not want to expel them to another site. For me, for example, it will be much more convenient to follow all projects from my wiki. With my gadgets and quick links. Of course, maybe I'm wrong, and I'll get used to it, but there is such an opportunity.

@DannyS712, do you need us to translate MediaWiki messages on translatewiki toward the deployment?

Are there any plans to deploy this watchlist on all wikis?

The way it works is that Special:GlobalWatchlist is available on a single wiki, but on the special page you can view the watchlist for multiple wikis (in this case, any wiki where your SUL account is attached) - you can configure the wikis you want to see at Special:GlobalWatchlistSettings. So no, this will only be deployed on meta, but it only needs to be deployed on a single wiki to be useful, and deploying on multiple would be confusing.

It's just that everyone's home wiki is different, and I would not want to expel them to another site. For me, for example, it will be much more convenient to follow all projects from my wiki. With my gadgets and quick links. Of course, maybe I'm wrong, and I'll get used to it, but there is such an opportunity.

One of the conditions of the grant that is funding the development of the extension (see [1]) is that "The extension should only be available on Meta."[2] so even if I agree with you, for now there is nothing I can do. I suggest waiting until after its deployed and try it out for a bit, and then reconsider the issue in a few weeks and see if you still feel the same way. Theoretically, the extension could be deployed on multiple wikis, but it would be confusing because

  • The settings for the global watchlist, as configured at Special:GlobalWatchlistSettings, would be specific to that wiki, so you might have different displays of the global watchlist with different settings
  • The underlying changes are displayed the same, regardless of whether you are viewing them on the wiki they occurred or on a foreign wiki

[1] https://meta.wikimedia.org/wiki/Grants:Project/DannyS712/Create_a_global_watchlist_extension
[2] https://meta.wikimedia.org/wiki/Grants_talk:Project/DannyS712/Create_a_global_watchlist_extension#Round_1_2020_decision

@DannyS712, do you need us to translate MediaWiki messages on translatewiki toward the deployment?

There is nothing blocking deployment in terms of translations, but any contributions would be welcome, as always.

One of the conditions of the grant that is funding the development of the extension (see [1]) is that "The extension should only be available on Meta."[2] so even if I agree with you, for now there is nothing I can do. I suggest waiting until after its deployed and try it out for a bit, and then reconsider the issue in a few weeks and see if you still feel the same way. Theoretically, the extension could be deployed on multiple wikis, but it would be confusing because

  • The settings for the global watchlist, as configured at Special:GlobalWatchlistSettings, would be specific to that wiki, so you might have different displays of the global watchlist with different settings
  • The underlying changes are displayed the same, regardless of whether you are viewing them on the wiki they occurred or on a foreign wiki

[1] https://meta.wikimedia.org/wiki/Grants:Project/DannyS712/Create_a_global_watchlist_extension
[2] https://meta.wikimedia.org/wiki/Grants_talk:Project/DannyS712/Create_a_global_watchlist_extension#Round_1_2020_decision

Thanks for the answer! Your work is a really useful thing :)

Can now be included in tech news

This week's issue (2021/05) has already been frozen for a few days, so it should be added to 2021/06 for next week (https://meta.wikimedia.org/wiki/Tech/News/2021/06).

@DannyS712, do you need us to translate MediaWiki messages on translatewiki toward the deployment?

There is nothing blocking deployment in terms of translations, but any contributions would be welcome, as always.

Sure. What is the link on translatewiki?

@DannyS712, do you need us to translate MediaWiki messages on translatewiki toward the deployment?

There is nothing blocking deployment in terms of translations, but any contributions would be welcome, as always.

Sure. What is the link on translatewiki?

https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist

Scheduled for 2021-02-03T18:00 UTC.

Actually, since there are some recent changes to the extension that should be included in the production deployment, and since I've added a few new messages recently and we should give translators a chance to translate them before its deployed, delaying this by a week. We can still include it in the next issue of tech news though, as an upcoming chance rather than a recent change

Thanks. The group is very small. Does this mean you also use the messages in the "ext-globalwatchlist-script" group? If so, could you unlock it so we can update the outdated and not translated messages?

While I understand the grant said Meta only, the extension should be deployed to testwiki first for testing purposes.

Thanks. The group is very small. Does this mean you also use the messages in the "ext-globalwatchlist-script" group? If so, could you unlock it so we can update the outdated and not translated messages?

Yes, ext-globalwatchlist-script should also be translated (TODO they should be merged, its no longer useful to keep them separate) - I'm not sure what you mean by unlock it, you should be able to translate at https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist-script

While I understand the grant said Meta only, the extension should be deployed to testwiki first for testing purposes.

Hmm, okay. Once its enabled on meta, is it okay to then disable it on testwiki?

Yes, ext-globalwatchlist-script should also be translated (TODO they should be merged, its no longer useful to keep them separate) - I'm not sure what you mean by unlock it, you should be able to translate at https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist-script

Thanks, done.

In T260862#6798570, Legoktm wrote:

While I understand the grant said Meta only, the extension should be deployed to testwiki first for testing purposes.

Hmm, okay. Once its enabled on meta, is it okay to then disable it on testwiki?

Does it mean you've postponed the deployment even more?

Also, I've published a message on Tech News. Please check it.

Removed it from Tech News for now until we know when it will be deployed, see https://meta.wikimedia.org/w/index.php?title=Tech/News/2021/06&oldid=21058313 to look at it as it was included/will be included.

Removed it from Tech News for now until we know when it will be deployed, see https://meta.wikimedia.org/w/index.php?title=Tech/News/2021/06&oldid=21058313 to look at it as it was included/will be included.

Okay, thanks - it'll *probably* be rescheduled to next week, but I'll confirm before adding it back.
Also, the message included "You can watch up to five wikis. You can watch more wikis in the future." - as far as I know there are no plans to increase the default limit or override it for WMF config, and any such change would probably need approval from the performance team first.

Also, the message included "You can watch up to five wikis. You can watch more wikis in the future." - as far as I know there are no plans to increase the default limit or override it for WMF config, and any such change would probably need approval from the performance team first.

Thanks. This is why I've asked you to check. I wrote this from your answer to my question, "wait", when I asked you what to do if I need 6. Will fix.

@Johan, I suggest to remove the message entirely from 2021/06, because it's already Thursday evening, the issue is closed very soon, and add it, for now, in "Recent changes" of 2021/07. We can move it again, if there will no be deployment next week.

I've rescheduled the deployment for 2021-02-11T22:00–00:00 UTC with @Legoktm

@Johan, I suggest to remove the message entirely from 2021/06, because it's already Thursday evening, the issue is closed very soon, and add it, for now, in "Recent changes" of 2021/07. We can move it again, if there will no be deployment next week.

It was already removed from /06, but I've added it back now since we have a new scheduled deployment time.

Yes, ext-globalwatchlist-script should also be translated (TODO they should be merged, its no longer useful to keep them separate) - I'm not sure what you mean by unlock it, you should be able to translate at https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist-script

The link is broken. Is it possible you've renamed the group?

The link is not broken and works here. If you think that something is broken then please always include why you think that something is broken - thanks.

The link is not broken and works here. If you think that something is broken then please always include why you think that something is broken - thanks.

No problem. But broken just means broken.

  1. Click on link.
  2. Open translation page.
  3. Get a list of thousands of messages from multiple groups, as always happens for non-existing group names in translatewiki.net.

I can even bring a screenshot, if needed.

Ah, thanks for the explanation. So the group doesn't exist on twn, instead of "it's broken".
Indeed, https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist-script shows Message group: All > Recent additions.
Maybe https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist was meant which shows Message group: All > Global Watchlist instead.

Ah, thanks for the explanation. So the group doesn't exist on twn, instead of "it's broken".
Indeed, https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist-script shows Message group: All > Recent additions.
Maybe https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist was meant which shows Message group: All > Global Watchlist instead.

No, I checked for a couple of messages in use, they're not there. This is why I've asked about renaming.

Yes, ext-globalwatchlist-script should also be translated (TODO they should be merged, its no longer useful to keep them separate) - I'm not sure what you mean by unlock it, you should be able to translate at https://translatewiki.net/wiki/Special:Translate/ext-globalwatchlist-script

The link is broken. Is it possible you've renamed the group?

since my comment above I actioned the TODO and merged it into ext-globalwatchlist

since my comment above I actioned the TODO and merged it into ext-globalwatchlist

I see. I'll try to understand why can't find some messages there. Thanks.

Discoverability: Will there be any standard location(s) on non-Meta wikis (except for Test Wiki) for a link to the global watchlist?

Discoverability: will there be any standard location(s) on non-Meta wikis for a link to the global watchlist?

not at the moment, but on meta on Special:Watchlist there will be a link in the sidebar to the global watchlist, and there will also be an entry on Special:SpecialPages

Change 655774 merged by jenkins-bot:
[operations/mediawiki-config@master] Enable GlobalWatchlist extension on testwiki

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

Mentioned in SAL (#wikimedia-operations) [2021-02-09T22:23:02Z] <legoktm@deploy1001> Synchronized wmf-config/InitialiseSettings.php: Enable GlobalWatchlist extension on testwiki (T260862) (duration: 02m 51s)

Congratulations again, @DannyS712! Three little issues that should not disturb to the deployment tomorrow, but should be fixed soon.

  1. There is a second delay between opening the link Special:GlobalWatchlist and the watchlist work start. In this time, we can see an error message that we have no Javascript on this browser. It should be removed or replaced.
  2. You can add more than five wiki fields on Special:GlobalWatchlistSettings. The settings list should be aware of the wiki variable for maximum number of wikis.
  3. You've commented out the code I wrote for rtl wikis, because "CSSJanus should handle it", or something like this, but it doesn't. The GW appears wrong for rtl wikis on ltr language page and for ltr wikis on rtl language page.

N3: The bug for empty lists fixed, thanks a lot for this.

Congratulations again, @DannyS712! Three little issues that should not disturb to the deployment tomorrow, but should be fixed soon.

  1. There is a second delay between opening the link Special:GlobalWatchlist and the watchlist work start. In this time, we can see an error message that we have no Javascript on this browser. It should be removed or replaced.

The error message is only shown until the javascript is loaded, and there is no delay coded into the extension for that - as soon as your browser downloads and executes the start of the code, the message is replaced.

  1. You can add more than five wiki fields on Special:GlobalWatchlistSettings. The settings list should be aware of the wiki variable for maximum number of wikis.

You can add more fields, but you can't save them if there is more than 5 - its allowed to add extra fields because there is no easy way to reorder them

  1. You've commented out the code I wrote for rtl wikis, because "CSSJanus should handle it", or something like this, but it doesn't. The GW appears wrong for rtl wikis on ltr language page and for ltr wikis on rtl language page.

Okay, I forgot to test that out - handling at T274313

N3: The bug for empty lists fixed, thanks a lot for this.

Change 663068 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[operations/mediawiki-config@master] Enable GlobalWatchlist extension on metawiki

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

Congratulations again, @DannyS712! Three little issues that should not disturb to the deployment tomorrow, but should be fixed soon.

  1. There is a second delay between opening the link Special:GlobalWatchlist and the watchlist work start. In this time, we can see an error message that we have no Javascript on this browser. It should be removed or replaced.

The error message is only shown until the javascript is loaded, and there is no delay coded into the extension for that - as soon as your browser downloads and executes the start of the code, the message is replaced.

Still, it's a wrong behavior.

  1. You can add more than five wiki fields on Special:GlobalWatchlistSettings. The settings list should be aware of the wiki variable for maximum number of wikis.

You can add more fields, but you can't save them if there is more than 5 - its allowed to add extra fields because there is no easy way to reorder them

Yes, I know you can't save, but it will be better if you can't add. About an easy way - I suggest to remove the "Add" buttons at all, and always show maximum number of fields, empty or not. On save you read all the fields and filter out the empty ones, in any order.

  1. You've commented out the code I wrote for rtl wikis, because "CSSJanus should handle it", or something like this, but it doesn't. The GW appears wrong for rtl wikis on ltr language page and for ltr wikis on rtl language page.

Okay, I forgot to test that out - handling at T274313

Thanks.

N3: The bug for empty lists fixed, thanks a lot for this.

Congratulations again, @DannyS712! Three little issues that should not disturb to the deployment tomorrow, but should be fixed soon.

  1. There is a second delay between opening the link Special:GlobalWatchlist and the watchlist work start. In this time, we can see an error message that we have no Javascript on this browser. It should be removed or replaced.

The error message is only shown until the javascript is loaded, and there is no delay coded into the extension for that - as soon as your browser downloads and executes the start of the code, the message is replaced.

Still, it's a wrong behavior.

What exactly would you have it do? That message is shown if the javascript is not loaded. If the message was removed, and users who don't have Javascript enabled tried to visit the page, it would just be blank for them...

  1. You can add more than five wiki fields on Special:GlobalWatchlistSettings. The settings list should be aware of the wiki variable for maximum number of wikis.

You can add more fields, but you can't save them if there is more than 5 - its allowed to add extra fields because there is no easy way to reorder them

Yes, I know you can't save, but it will be better if you can't add. About an easy way - I suggest to remove the "Add" buttons at all, and always show maximum number of fields, empty or not. On save you read all the fields and filter out the empty ones, in any order.

Filed T274315 to investigate changing this, not a priority for now though

What exactly would you have it do? That message is shown if the javascript is not loaded. If the message was removed, and users who don't have Javascript enabled tried to visit the page, it would just be blank for them...

Show this message with delay, for example.

Filed T274315 to investigate changing this, not a priority for now though

Thanks.

What exactly would you have it do? That message is shown if the javascript is not loaded. If the message was removed, and users who don't have Javascript enabled tried to visit the page, it would just be blank for them...

Show this message with delay, for example.

How would we delay showing the message, if we can't use javascript to control the timing?

You can lie. Wait 5 seconds with the message, it will drop the number or users with irrelevant message from 100% to 1%.

You can lie. Wait 5 seconds with the message, it will drop the number or users with irrelevant message from 100% to 1%.

How to wait with the message though? We can't use javascript to add it, and the php will already have been executed. If you think of a way to do this that works for both users with javascript and users without, please file a separate task to address it

I think if you add CSS like .client-js .ext-globalwatchlist-content { display: none; } it should work properly instead of having JS remove it.

I think if you add CSS like .client-js .ext-globalwatchlist-content { display: none; } it should work properly instead of having JS remove it.

Well, we don't want to hide it all, but beta features has a similar set up - will do

Three little issues that should not disturb to the deployment tomorrow, but should be fixed soon.

Please file separate issues as separate issues. This task is about deploying to production, not a catch-all for random unrelated issues. Thank you.

Too late. They are already here.

DannyS712 changed the task status from Open to Stalled.Feb 11 2021, 10:04 PM

So, unfortunately, there are some errors with the train (T271344: 1.36.0-wmf.30 deployment blockers), specifically T274589: No atomic section is open (got LocalFile::lockingTransaction)
As a result, there is a chance that the train will be rolled back, switching metawiki from wmf.30 back to wmf.27. There are a number of changes to the GlobalWatchlist extension between .27 and .30 that, in my opinion, are necessary before deployment. Accordingly, per discussion in #wikimedia-operations, we won't be deploying the extension today.

However, we are still backporting the fixes for the issues identified to wmf.30, so that once the train blocker is resolved this can proceed as planned

So, unfortunately, there are some errors with the train (T271344: 1.36.0-wmf.30 deployment blockers), specifically T274589: No atomic section is open (got LocalFile::lockingTransaction)
As a result, there is a chance that the train will be rolled back, switching metawiki from wmf.30 back to wmf.27. There are a number of changes to the GlobalWatchlist extension between .27 and .30 that, in my opinion, are necessary before deployment. Accordingly, per discussion in #wikimedia-operations, we won't be deploying the extension today.

However, we are still backporting the fixes for the issues identified to wmf.30, so that once the train blocker is resolved this can proceed as planned

Does this mean you can deploy at the moment wmf.30 will be online, not waiting for wmf.28 and wmf.29, because you don't need any features from those two?

Does this mean you can deploy just after the moment wmf.30 will be online, or there is a need to schedule a new window?

So, unfortunately, there are some errors with the train (T271344: 1.36.0-wmf.30 deployment blockers), specifically T274589: No atomic section is open (got LocalFile::lockingTransaction)
As a result, there is a chance that the train will be rolled back, switching metawiki from wmf.30 back to wmf.27. There are a number of changes to the GlobalWatchlist extension between .27 and .30 that, in my opinion, are necessary before deployment. Accordingly, per discussion in #wikimedia-operations, we won't be deploying the extension today.

However, we are still backporting the fixes for the issues identified to wmf.30, so that once the train blocker is resolved this can proceed as planned

Does this mean you can deploy at the moment wmf.30 will be online, not waiting for wmf.28 and wmf.29, because you don't need any features from those two?

.28 and .29 were cancelled, .30 includes the changes from those

Does this mean you can deploy just after the moment wmf.30 will be online, or there is a need to schedule a new window?

we'll still need to schedule a time

Well, @DannyS712, it's on 30.

And I will schedule the deployment as soon as I can

Rescheduled for Wednesday, February 17's morning backport window (2021-02-17 19:00 UTC) since its already live on testwiki and so does not need a dedicated deployment window to enable n meta

DannyS712 changed the task status from Stalled to Open.Feb 16 2021, 8:56 PM

Change 663068 merged by jenkins-bot:
[operations/mediawiki-config@master] Enable GlobalWatchlist extension on metawiki

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

Mentioned in SAL (#wikimedia-operations) [2021-02-17T19:14:19Z] <urbanecm@deploy1001> Synchronized wmf-config/InitialiseSettings.php: 352dd72c28462755546ac36a017548a7f0925df0: Enable GlobalWatchlist extension on metawiki (T260862) (duration: 01m 07s)

DannyS712 updated the task description. (Show Details)
DannyS712 moved this task from In progress to Done on the MediaWiki-extensions-GlobalWatchlist board.
DannyS712 moved this task from To deploy to Done on the Wikimedia-Extension-setup board.

It works! Thank you everyone for all of the help along the way.

Hi @DannyS712 I was wondering if there's any plan to announce the feature on Wikidata, and if so, do you need any help from us to do so? I'm sure that some Wikidata folks would be interested in trying the feature, although if I understand correctly it's only accessible on Meta. Feel free to reach out to @Mohammed_Sadat_WMDE or me if you need support for communication towards the Wikidata community.

Hi @DannyS712 I was wondering if there's any plan to announce the feature on Wikidata, and if so, do you need any help from us to do so? I'm sure that some Wikidata folks would be interested in trying the feature, although if I understand correctly it's only accessible on Meta. Feel free to reach out to @Mohammed_Sadat_WMDE or me if you need support for communication towards the Wikidata community.

I'm not quite sure what you mean - the interface will only be available on meta, but you can include wikidata in the sites that you choose to display in your settings - just add www.wikidata.org