Page MenuHomePhabricator

Deploy ChessBrowser extension to Beta Cluster
Closed, ResolvedPublic

Description

In preparation for production deployment and community feedback, the extension should be deployed on the beta cluster to see how it behaves on real article pages and with other extensions already deployed.

Needed for beta deployment of the extensions:

  • Security Review for ChessBrowser: Requested in T244076
  • Deploy on beta sites: Target March 2020
  • Design Review: (instructions)
  • Performance Review: (instructions)
  • Deploy on production wikipedias as a beta feature: Target June 2020
  • Deploy as default on all wikipedias: Roughly December 2020 (depending on feedback)

Community Consensus
This extension is being developed to fulfill a longstanding desire of the English Wikipedia community for interactive chess content in encyclopedia articles (2019 discussion; 2016 discussion; Previous attempt by Chess WikiProject), but implemented in a way which does not have resource costs on non-chess-related pages (See concerns at Interface Admin Noticeboard).

Event Timeline

Peachey88 renamed this task from Deploy extension to Beta Cluster to Deploy ChessBrowser extension to Beta Cluster.Feb 2 2020, 1:21 AM
Wugapodes renamed this task from Deploy ChessBrowser extension to Beta Cluster to Deploy extension to Beta Cluster.Feb 2 2020, 1:27 AM
Wugapodes renamed this task from Deploy extension to Beta Cluster to Deploy ChessBrowser extension to Beta Cluster..
Wugapodes updated the task description. (Show Details)
Wugapodes renamed this task from Deploy ChessBrowser extension to Beta Cluster. to Deploy ChessBrowser extension to Beta Cluster.Feb 2 2020, 1:36 AM
Wugapodes updated the task description. (Show Details)

Hey there.

Which member of Wikimedia staff is sponsoring this work?

@Jdforrester-WMF No staff are sponsoring it that I'm aware of; so far this is a volunteer effort.

Jdforrester-WMF changed the task status from Open to Stalled.Feb 3 2020, 11:43 PM

@Jdforrester-WMF No staff are sponsoring it that I'm aware of; so far this is a volunteer effort.

In that case, it's exceedingly unlikely that the above steps will happen, sorry.

@Jdforrester-WMF No worries! Would you be able to point me to a person or documentation that could explain this more and how to go about resolving it? Needing a WMF staff sponsor wasn't mentioned in the mediawiki documentation, so I'm not entirely sure what to do next. The English Wikipedia community has wanted something like this for years, but every plan to implement it has been stalled. Any information on how to get this unstuck would be appreciated.

@Jdforrester-WMF No worries! Would you be able to point me to a person or documentation that could explain this more and how to go about resolving it? Needing a WMF staff sponsor wasn't mentioned in the mediawiki documentation, so I'm not entirely sure what to do next.

It's implicit in the documentation you're following; each of the required steps can take thousands of dollars of staff time. You might find some success in asking one of the development teams, like the Community Tech team or the Editing team, if they would be interested in serving as the sponsor/liaison to get it through the process with you?

Hey there.

Which member of Wikimedia staff is sponsoring this work?

Wugapodes reached out to me, and I discussed with this with other members of Community Tech. I think we'd like to help! I'm not sure what all you need from us, but we can commit some time to code review and assisting with deployment.

DannyS712 changed the task status from Stalled to Open.Feb 7 2020, 6:10 AM
DannyS712 added a subscriber: DannyS712.

@Jdforrester-WMF No staff are sponsoring it that I'm aware of; so far this is a volunteer effort.

In that case, it's exceedingly unlikely that the above steps will happen, sorry.

Unstalling per @MusikAnimal's comment above that Community-Tech "can commit some time to code review and assisting with deployment"

I added a wishlist item to add this extension to wmf wikis.

see m:Community Wishlist Survey 2021/Multimedia and Commons/Interactive chess content

having a live demo will greatly benefit the discussion and decision whether or not to grant this wish. as such, i'm asking to bump up the priority of this story.

@Jdforrester-WMF, @MusikAnimal

peace

I added a wishlist item to add this extension to wmf wikis.

see m:Community Wishlist Survey 2021/Multimedia and Commons/Interactive chess content

having a live demo will greatly benefit the discussion and decision whether or not to grant this wish. as such, i'm asking to bump up the priority of this story.

The pandemic among other factors have seriously slowed the responsible teams down this year, so apologies for the long wait. I think bringing this to the wishlist was a fantastic idea. Please rally everyone you know who is interested and have them show their support (yes, canvassing is allowed). We don't really do a "top 10" format here, so don't worry about making that, but still the more votes the better, as that'd show both us and the Security team just how much demand there is for this extension. The fact that it is localized means other Wikipedias covering Chess subjects might be interested in this as well. Let's see how the voting goes and we'll go from there :) Thanks!

Restricted Application added a subscriber: Zabe. · View Herald TranscriptApr 7 2021, 7:57 AM

I've read through the code of this extension and I think it is generally of a high-quality and could be enabled on Beta.

Security:

PGN inputs are parsed conservatively and the outputs are properly escaped. I did not identify any potential attack vectors.

Performance:

Extension code is invoked (and CSS/JS code is loaded) only on pages that contain Chess games in <pgn> tags.

The extension will parse and render games up to ~2,700 moves. While games of up to 8,848 moves are theoretically possible in Chess, the longest tournament game ever played was 269 moves, so I suggest imposing a stricter limit on inputs, both in terms of maximum number of moves (say, 500), maximum number of metadata fields, and maximum overall input size.

Maintenability:

The code is generally clear and maintainable and covered by unit tests.

Overall:

I think this is good to go for Beta.

I am not a WMF staff member any longer, but I am a deployer, and can help set up this up.

Change 682028 had a related patch set uploaded (by Ori.livneh; author: Ori.livneh):

[mediawiki/tools/release@master] Start branching ChessBrowser

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

Change 682028 abandoned by Ori.livneh:

[mediawiki/tools/release@master] Start branching ChessBrowser

Reason:

Not actually needed for Beta

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

Change 682028 abandoned by Ori.livneh:

[mediawiki/tools/release@master] Start branching ChessBrowser

Reason:

Not actually needed for Beta

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

It actually is needed for beta ;). We now have only one list of extensions that populate the i18n cache, shared for beta and production. In order to make beta i18n cache builder include a new extension, you need to add it to prod's extension-list, and in order to add it to prod's extension-list, you need to have the extension in all currently deployed WMF branches. Ergo, you need to start branching 2 trains before you deploy the extension to beta. See https://www.mediawiki.org/wiki/Writing_an_extension_for_deployment#Deploy_to_Beta_Cluster.

Note that starting branching will make the extension's code go to production (albeit unused), hence, a passed security review blocks beta deployment (unless there's a WMF manager who accepts the risk, happened ie. in T260862#6624494).

I've also taken a look at the code and it does seem well written. I fully support this community-driven initiative, and if there's anything I can do to help this reach production (e.g. code review), feel free to poke me and I'll do my best to help. And of course, I'm also available if you want an easy win :-)

Change 682028 restored by Ori.livneh:

[mediawiki/tools/release@master] Start branching ChessBrowser

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

Change 682028 merged by jenkins-bot:

[mediawiki/tools/release@master] Start branching ChessBrowser for Wikimedia production

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

Change 685035 had a related patch set uploaded (by Ori.livneh; author: Ori.livneh):

[operations/mediawiki-config@master] Enable ChessBrowser on beta

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

This extension should be ready for beta deployment next week, assuming this week's deployment train completes as planned.

Here's my tentative plan:

  1. Wait for wmf/1.37.0-wmf.4 to roll out to all wikis. This will fulfill the requirement that the extension be present in both current and previous production branches. (This is a best practice even though the extension won't be enabled in production.)
  2. Then, mark change I2f5c1b154 as ready for review and wait for a +1 from someone on Community-Tech.
  3. Then, schedule the change for one of the upcoming patch deployment windows, and get it deployed.

Let me know if there are any objections.

Change 685035 merged by jenkins-bot:

[operations/mediawiki-config@master] Enable ChessBrowser on beta

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

Mentioned in SAL (#wikimedia-operations) [2021-05-10T23:32:29Z] <urbanecm@deploy1002> Synchronized wmf-config/extension-list: ba8b786c7f3a290f0747a6859fd07502eb83108f: NO-OP: Enable ChessBrowser on beta (T244075) (duration: 00m 57s)

The extension is now live on the Beta cluster. Example: https://en.wikipedia.beta.wmflabs.org/wiki/User:Ori.livneh/Chess

@Wugapodes, @Kipod : please hold off on publicizing this widely; I think there are a few things we need to fix / improve beforehand.

ori claimed this task.

Thanks for your work on this @ori! I opened the link on my phone and it did not work well. I think mobile behavior (see T239446) is among the stuff to fix before spreading the news.