Page MenuHomePhabricator

Enable different default font size on different pages for Vector 2022 in production
Closed, ResolvedPublic1 Estimated Story Points

Assigned To
Authored By
Jdlrobson
Fri, May 31, 3:08 AM
Referenced Files
F54955581: screenshot 542.png
Wed, Jun 5, 10:00 PM
F54955516: screenshot 524.png
Wed, Jun 5, 10:00 PM
F54955417: screenshot 506.png
Wed, Jun 5, 10:00 PM
F54955579: screenshot 541.png
Wed, Jun 5, 10:00 PM
F54955514: screenshot 523.png
Wed, Jun 5, 10:00 PM
F54955415: screenshot 505.png
Wed, Jun 5, 10:00 PM
F54955577: screenshot 540.png
Wed, Jun 5, 10:00 PM
F54955512: screenshot 522.png
Wed, Jun 5, 10:00 PM

Description

Background

In T364887 we made it possible to disable the font size selection on certain pages. This task is about enabling this feature in production.

User story

As a user when I visit certain special pages, I get the traditional small size font.

Requirements

  • The configuration for $wgVectorFontSizeConfigurableOptions currently set on beta cluster is promoted to production.

Requirement

Ensure that the font size configuration for Vector 2022 is correctly implemented in production. The following namespaces and actions should be excluded from the new font size settings on all wikis except for plwiki, nlwiki, and eswiki.

Excluded namespaces:

  • Special pages (-1)
  • Talk (1)
  • User (2)
  • File (6)
  • MediaWiki (8)
  • Template (10)
  • Category (14)
  • Custom Namespace (100)
  • TimedText (710)
  • Module (828)

Excluded actions:

  • edit
  • submit
  • diff
  • info
  • protect
  • delete
  • undelete
  • action
  • history

BDD

Feature: Font Size Configuration for Vector 2022

  Scenario: Apply font size configuration for wikis excluding plwiki, nlwiki, and eswiki
    Given the font size configuration is set for wikis excluding plwiki, nlwiki, and eswiki
    When the configuration is applied
    Then the specified namespaces and actions should be excluded from the new font size settings

    | Namespace       | Namespace ID |
    |-----------------|--------------|
    | Special pages   | -1           |
    | Talk            | 1            |
    | User            | 2            |
    | File            | 6            |
    | MediaWiki       | 8            |
    | Template        | 10           |
    | Category        | 14           |
    | Custom Namespace| 100          |
    | TimedText       | 710          |
    | Module          | 828          |

    | Action    |
    |-----------|
    | edit      |
    | submit    |
    | diff      |
    | info      |
    | protect   |
    | delete    |
    | undelete  |
    | action    |
    | history   |

  Scenario: Exclude font size configuration for plwiki, nlwiki, and eswiki
    Given the font size configuration is set for plwiki, nlwiki, and eswiki
    When the configuration is applied
    Then these wikis should not have the new font size settings

Test Steps

Test Case 1: Apply Font Size Configuration for Wikis Excluding plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is set to exclude the specified namespaces and actions.
  2. Visit pages in the following namespaces on a wiki excluding plwiki, nlwiki, and eswiki: Special pages, Talk, User, File, MediaWiki, Template, Category, Custom Namespace, TimedText, Module.
  3. Visit pages with the following actions on a wiki excluding plwiki, nlwiki, and eswiki: edit, submit, diff, info, protect, delete, undelete, action, history.
  4. AC1: Confirm that the specified namespaces and actions are excluded from the new font size settings.

Test Case 2: Exclude Font Size Configuration for plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is not applied to plwiki, nlwiki, and eswiki.
  2. Visit pages in any namespace on plwiki, nlwiki, and eswiki.
  3. Perform any actions on plwiki, nlwiki, and eswiki.
  4. AC2: Confirm that these wikis do not have the new font size settings.

Acceptance criteria

  • The requirements in T364887 should be satisifed in production.

Communication criteria - does this need an announcement or discussion?

Probably. Check with @sgrabarczuk and @ovasileva beforehand

Rollback plan

Revert the patch, move this task to backlog.

This task was created by Version 1.0.0 of the Web team task template using phabulous

QA Results - Prod

ACStatusDetails
1✅ / ❓T366334#9865934 Please review the ❓ before signing off or adding verified tag.
2✅ / ❓T366334#9865934 Please review the ❓ before signing off or adding verified tag.

Event Timeline

Jdlrobson set the point value for this task to 1.Fri, May 31, 2:54 PM

@Jdlrobson - my understanding is that the change will apply to all font sizes (including the current default). However, since the current default maps to the new "small", if we were to deploy today, my expectation would be the following:

  1. Change is applied everywhere across wikis regardless of menu availability of default font size
  2. Change does the following:
  3. For wikis which have the default as "small", pages which default to the local "small" size appear in the same font size. For these wikis, the beta menu works as expected (medium and large sizes have a visual change on the pages where the local "small" takes effect)
  4. For wikis which have the default as "medium", everything works as in the beta feature

Is there a way to test the above? Have we tested it yet?

If so, then I think we should be ready to turn on anytime and would not require additional communications so long as the change is made prior to deploying the new default across all wikis cc @sgrabarczuk

My understanding is this was all tested as part of T364887 in the beta cluster and this testing should be sufficient. As with any roll out I would suggest doing it in at least 2 stages (e.g. enable first on several wikis where we can get feedback) to increase confidence.

SToyofuku-WMF subscribed.

Picking this up - as a first step I'll read the historical context to understand what we're doing here, then handle the technical implementation, then we can decide how to release it

Okay, I'm back from lunch and caught up - @ovasileva @Jdlrobson do we have a list of initial wikis we want to roll this out to, or should I be preparing a config patch to release it everywhere at once? I believe it could also ride the train, but not sure if that makes more or less sense here

Change #1038444 had a related patch set uploaded (by Stoyofuku-wmf; author: Stoyofuku-wmf):

[operations/mediawiki-config@master] Disable font size options on specified pages for pt, ta, ja

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

First of backports will go out today.

Change #1038444 merged by jenkins-bot:

[operations/mediawiki-config@master] Disable font size options on specified pages for most wikis

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

Mentioned in SAL (#wikimedia-operations) [2024-06-04T21:18:21Z] <urbanecm@deploy1002> Started scap: Backport for [[gerrit:1038444|Disable font size options on specified pages for most wikis (T366334)]]

Mentioned in SAL (#wikimedia-operations) [2024-06-04T21:21:23Z] <urbanecm@deploy1002> toyofuku and urbanecm: Backport for [[gerrit:1038444|Disable font size options on specified pages for most wikis (T366334)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-04T21:33:31Z] <urbanecm@deploy1002> Finished scap: Backport for [[gerrit:1038444|Disable font size options on specified pages for most wikis (T366334)]] (duration: 15m 10s)

Next steps prior to previous deploy:

  • @JScherer-WMF to review exception list and propose new list
  • Deploy will continue with the new list tomorrow, Jun 6

I checked as many of the namespaces and actions indicated above as I could. Tl;dr: Module and template were the only namespaces that seemed like they would break with a high likely hood with larger default font sizes.

  • Special pages (-1)
    • Clicked through a random selection of these, and there are a few that are tables, but I don't think different font sizes would immediately break them.
    • Recommend: remove from exception list and make font-size control available.
  • Talk (1)
    • talk page hat notes are awful for readability already, larger font sizes would make them worse.
    • These are actually mostly paragraphs. The indenting doesn't make larger fonts ideal, but larger fonts wouldn't break them.
    • Recommend: remove from exception list and make font-size control available.
  • User (2)
    • These vary wildly
    • Recommend: remove from exception list and make font-size control available.
  • File (6)
    • The fonts are all over the place on these pages, especially ant type. I don't think giving users control over font sizes would make them any worse than they already are.
    • Recommend: remove from exception list and make font-size control available.
  • MediaWiki (8)
    • These pages are as diverse as the wikis themselves.
    • Recommend: remove from exception list and make font-size control available.
  • Template (10)
    • the code examples in these already have different font styles, so I don't know how much of these pages would actually change with our font-size selector.
    • Unrelated here, but these might benefit from being on the width exclusion list like homepages to have a wider view by default.
    • Recommend: keep on exception list and make font-size control available.
  • Category (14)
    • The tables of categories break well, so they don't have a risk of running into one another at larger font sizes.
    • Recommend: remove from exception list and make font-size control available.
  • Custom Namespace (100)
    • I don't really know how to test these.
  • TimedText (710)
    • Breaks fine, and the text wouldn't inherit our text sizes anyways because it uses a different font.
    • Recommend: remove from exception list and make font-size control available.
  • Module (828)
    • These are mostly code, so our font sizes wouldn't apply. The tables in these seem fine, though.
    • These might benefit from a wider default size.
    • Recommend: keep on exception list for now.
  • edit
    • This should mirror production text as much as possible.
    • Recommend: remove from exception list and make font-size control available.
  • submit
    • couldn't find an example
  • diff
    • This should mirror production text as much as possible.
    • Recommend: remove from exception list and make font-size control available.
  • info
    • couldn't find an example
  • protect
    • couldn't find an example
  • delete
    • couldn't find an example
  • undelete
    • couldn't find an example
  • action
    • couldn't find an example
  • history
    • Larger text would force some items onto a new line, but the readability of the lists overall would benefit from the custom type sizes.
    • Recommend: remove from exception list and make font-size control available.

One note: my decision making on this was driven by the heuristic: Would the text on this page probably become unreadable due to excessive wrapping and low character per line counts with Standard or Large font size?

One lingering question I have is: how do the font size controls impact text that is rendered in monospace code font like on diff pages, template namespace, and module name space?

I don't have extremely strong convictions about most of these, and so if folks have strong preferences, I think we can refactor the list again in 2 weeks.

For the actions that i couldn't find an example of, I think it would be prudent to leave them on the exception list for now.

Edtadros subscribed.

@ovasileva, I'm moving this to Ready for Signoff, but I would like for you to view the ones with a ❓ just to be sure.

Test Result - Prod

Status: ✅ PASS / ❓Need More Info
Environment: Beta
OS: macOS Sonoma
Browser: Chrome
Device: MBA
Emulated Device: NA

Test Artifact(s):

Test Steps

Test Case 1: Apply Font Size Configuration for Wikis Excluding plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is set to exclude the specified namespaces and actions.
  2. Visit pages in the following namespaces on a wiki excluding plwiki, nlwiki, and eswiki: Special pages, Talk, User, File, MediaWiki, Template, Category, Custom Namespace, TimedText, Module.
  3. Visit pages with the following actions on a wiki excluding plwiki, nlwiki, and eswiki: edit, submit, diff, info, protect, delete, undelete, action, history.
  4. ✅❓ AC1: Confirm that the specified namespaces and actions are excluded from the new font size settings.
P/FNamespaceScreenshot
Talk
screenshot 471.png (1×1 px, 254 KB)
User
screenshot 472.png (1×1 px, 182 KB)
File
screenshot 473.png (1×1 px, 642 KB)
MediaWiki
screenshot 474.png (1×1 px, 236 KB)
Template
screenshot 475.png (1×1 px, 264 KB)
Category
screenshot 476.png (1×1 px, 209 KB)
Portal
screenshot 478.png (1×1 px, 333 KB)
TimedText
screenshot 477.png (1×1 px, 204 KB)
Module
screenshot 479.png (1×1 px, 272 KB)

For protect and delete I don't have permissions, undelete and action (which I'm not even sure is valid the way I did it) give a "no such action" page, but the text options are disabled.

P/FActionScreenshot
edit
screenshot 480.png (1×1 px, 227 KB)
submit
screenshot 481.png (1×1 px, 227 KB)
diff
screenshot 482.png (1×1 px, 266 KB)
info
screenshot 483.png (1×1 px, 190 KB)
protect
screenshot 484.png (1×1 px, 170 KB)
delete
screenshot 485.png (1×1 px, 144 KB)
undelete
screenshot 486.png (1×1 px, 147 KB)
action
screenshot 487.png (1×1 px, 144 KB)
history
screenshot 488.png (1×1 px, 343 KB)

Test Case 2: Exclude Font Size Configuration for plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is not applied to plwiki, nlwiki, and eswiki.
  2. Visit pages in any namespace on plwiki, nlwiki, and eswiki.
  3. Perform any actions on plwiki, nlwiki, and eswiki.
  4. ✅❓ AC2: Confirm that these wikis do not have the new font size settings.
P/FNamespaceplwikinlwikieswiki
Talk
screenshot 490.png (1×1 px, 380 KB)
screenshot 507.png (1×1 px, 216 KB)
screenshot 525.png (1×1 px, 198 KB)
User
screenshot 489.png (1×1 px, 173 KB)
screenshot 508.png (1×1 px, 169 KB)
screenshot 526.png (1×1 px, 187 KB)
File
screenshot 491.png (1×1 px, 643 KB)
screenshot 509.png (1×1 px, 632 KB)
screenshot 527.png (1×1 px, 648 KB)
MediaWiki
screenshot 492.png (1×1 px, 242 KB)
screenshot 510.png (1×1 px, 225 KB)
screenshot 528.png (1×1 px, 188 KB)
Template
screenshot 493.png (1×1 px, 260 KB)
screenshot 511.png (1×1 px, 213 KB)
screenshot 529.png (1×1 px, 268 KB)
Category
screenshot 494.png (1×1 px, 176 KB)
screenshot 512.png (1×1 px, 186 KB)
screenshot 530.png (1×1 px, 200 KB)
Portal
screenshot 495.png (1×1 px, 259 KB)
screenshot 513.png (1×1 px, 234 KB)
screenshot 531.png (1×1 px, 379 KB)
TimedText
screenshot 496.png (1×1 px, 157 KB)
No Timed Text Pages
screenshot 514.png (1×1 px, 134 KB)
screenshot 532.png (1×1 px, 164 KB)
Module
screenshot 497.png (1×1 px, 278 KB)
screenshot 515.png (1×1 px, 306 KB)
screenshot 533.png (1×1 px, 285 KB)

For protect and delete I don't have permissions, undelete and action (which I'm not even sure is valid the way I did it) give a "no such action" page, but the text options are disabled.

P/FActionplwikinlwikieswiki
edit
screenshot 498.png (1×1 px, 202 KB)
screenshot 516.png (1×1 px, 207 KB)
screenshot 534.png (1×1 px, 234 KB)
submit
screenshot 499.png (1×1 px, 203 KB)
screenshot 517.png (1×1 px, 211 KB)
screenshot 535.png (1×1 px, 258 KB)
diff
screenshot 500.png (1×1 px, 246 KB)
screenshot 518.png (1×1 px, 246 KB)
screenshot 536.png (1×1 px, 230 KB)
info
screenshot 501.png (1×1 px, 316 KB)
screenshot 519.png (1×1 px, 197 KB)
screenshot 537.png (1×1 px, 200 KB)
protect
screenshot 502.png (1×1 px, 202 KB)
screenshot 520.png (1×1 px, 192 KB)
screenshot 538.png (1×1 px, 173 KB)
delete
screenshot 503.png (1×1 px, 150 KB)
screenshot 521.png (1×1 px, 141 KB)
screenshot 539.png (1×1 px, 135 KB)
undelete
screenshot 504.png (1×1 px, 154 KB)
screenshot 522.png (1×1 px, 151 KB)
screenshot 540.png (1×1 px, 140 KB)
action
screenshot 505.png (1×1 px, 154 KB)
screenshot 523.png (1×1 px, 151 KB)
screenshot 541.png (1×1 px, 140 KB)
history
screenshot 506.png (1×1 px, 335 KB)
screenshot 524.png (1×1 px, 303 KB)
screenshot 542.png (1×1 px, 298 KB)

Change #1039310 had a related patch set uploaded (by Stoyofuku-wmf; author: Stoyofuku-wmf):

[operations/mediawiki-config@master] Refine list of pages where font size controls are disabled

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

Thank you for reviewing these @JScherer-WMF! I think this looks good with the exception of some table-based namespaces which I would recommend continue being on the exclude list . I would like to propose the following for moving forward:

NamespaceSize
Special PagesSmall
TalkNormal
UserNormal
FileSmall
MediaWikiNormal
TemplateSmall
CategorySmall
CustomSmall
TimedTextSmall
ModuleSmall
EditNormal
SubmitSmall
DiffNormal
InfoSmall
ProtectSmall
DeleteSmall
UndeleteSmall
ActionSmall
HistorySmall

Thank you for reviewing these @JScherer-WMF! I think this looks good with the exception of some table-based namespaces which I would recommend continue being on the exclude list . I would like to propose the following for moving forward:

NamespaceSize
Special PagesSmall
TalkNormal
UserNormal
FileSmall
MediaWikiNormal
TemplateSmall
CategorySmall
CustomSmall
TimedTextSmall
ModuleSmall
EditNormal
SubmitSmall
DiffNormal
InfoSmall
ProtectSmall
DeleteSmall
UndeleteSmall
ActionSmall
HistorySmall

I'm good with this as our first pass for release. I don't want perfect to get in the way of done and we're down to the wire for the release today.

I've folded this into https://phabricator.wikimedia.org/T366625 which @SToyofuku-WMF is using for the next deployment. I amended template/modules per a follow up conversation - we want editors to be able to preview these.

Change #1039310 abandoned by Stoyofuku-wmf:

[operations/mediawiki-config@master] Refine list of pages where font size controls are disabled

Reason:

This is no longer needed - https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1038876

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

All done. Follow-up can be tracked in separate tickets.