Usability

From Wikitech
Jump to navigation Jump to search

Deployment Schedule

  • Phase I (completed)
Wikimedia Commons
April 5, 11pm PDT / April 6, 8am CEST
  • Phase II
English Wikipedia
May 13 5am UTC, 7am CEST, 10pm PDT -1 day
  • Phase III
The rest of Wikipedia, and rest of Wikimedia projects
TBA

Deployment gotchas

  • You typically don't need to sync individual *.css/*.js files, syncing the combined.min.css and *.combined.min.js files is usually good enough. When in doubt, ask a usability dev or just sync everything
  • After syncing JS/CSS changes you need to increment the style version appendix ($wgStyleVersion .= "z22") in wmf-config/CommonSettings.php and sync it
    • After syncing css/combined.min.css you need to increment its style version in UsabilityInitiative.hooks.php and sync the latter file. If you're deploying a rev that includes the style version bump, just make sure to sync UsabilityInitiative.hooks.php last and you're fine. If you didn't honor this order or don't control it (because you're using sync-common-all or scap), you need to bump and resync the hooks file even if the changes you're deploying already included this bump. If you're only deploying a change to css/combined.min.css, you don't need the style version appendix bump like you do for other JS/CSS files.

Assets

File sizes (bytes) based on combined+minified files as of r63164. All files are cacheable on the server side and will be served from bits.wikimedia.org. Images are missing from this list, will add them later. This list only concerns the UsabilityInitiative, the Vector skin is not included (will make a separate table for that).

Usability JS/CSS

File Size (raw) Size (gzipped) Cacheable client-side? Included on Notes
skins/common/jquery.min.js 73762 21287 Yes All
extensions/UsabilityInitiative/js/plugins.combined.min.js 235103 54647 Yes All
extensions/UsabilityInitiative/Vector/Vector.combined.min.js 8017 2346 Yes All
extensions/UsabilityInitiative/css/vector/jquery-ui-1.7.2.css 27354 4938 Yes All
extensions/UsabilityInitiative/css/combined.min.css 23817 4017 Yes All
extensions/UsabilityInitiative/WikiEditor/WikiEditor.combined.min.js 55036 10655 Yes Edit
extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.html 2912 1219 No Edit
extensions/ClickTracking/ClickTracking.js 922 538 Yes Varies*

* This'll be served on any page that contains stuff we're tracking. Currently this is just stuff on the edit page, but this changes from time to time; for instance, we've been tracking the left navigation menu in the past.

Usability images

All paths relative to extensions/UsabilityInitiative. There's a lot of these, we may wanna look at spriting some of them.

File Size (raw) Size (gzipped) Cacheable client-side Included on Notes
css/vector/images/ui-bg_flat_0_000000_40x100.png 178 118 Yes Edit
css/vector/images/ui-bg_flat_100_ffffff_40x100.png 178 118 Yes Edit
css/vector/images/ui-icons_000000_256x240.png 4369 4153 Yes Edit Sprited collection of jQuery UI icons
images/wikiEditor/dialogs/button_disabled.png 126 137 Yes Edit
images/wikiEditor/dialogs/button_off.png 190 209 Yes Edit
images/wikiEditor/dialogs/close_x.png 164 179 Yes Edit
images/wikiEditor/dialogs/insert-link-exists.png 335 343 Yes Edit Sprite link status icons?
images/wikiEditor/dialogs/insert-link-external.png 282 290 Yes Edit Or RTL version
images/wikiEditor/dialogs/insert-link-invalid.png 607 584 Yes Edit
images/wikiEditor/dialogs/insert-link-notexists.png 548 535 Yes Edit
images/wikiEditor/dialogs/titlebar_fade.png 231 254 Yes Edit
images/wikiEditor/toc/grip.png 159 167 Yes Edit
images/wikiEditor/toolbar/arrow-down.png 181 191 Yes Edit Combine with Vector's arrow-down-icon.png? Sprite with other arrows?
images/wikiEditor/toolbar/arrow-right.png 184 197 Yes Edit Or arrow-left for RTL
images/wikiEditor/toolbar/base.png 3632 2969 Yes Edit
images/wikiEditor/toolbar/button-sprite.png 16166 15327 Yes Edit Sprited version of format-*.png, insert-*.png, search-replace.png
images/wikiEditor/toolbar/example-image.png 1124 1147 Yes Edit
images/wikiEditor/toolbar/loading.gif 5514 4848 Yes Edit

Monobook vs. Vector

Assets shared by both skins (e.g. common/shared.css), user and site JS and browser-specific assets are not listed. These tables are based on the Boeing 787 Dreamliner article, and for this reason includes some but not all icons depending on page content (e.g. external link, document, SSL icons).

Assets unique to Monobook

File Size (raw) Size (gzipped) Cacheable client-side Included on Notes
Page body for w:Boeing 787 Dreamliner 225003 48853 No All
Page body for w:Main_Page 56708 14793 No All
Page body for commons:Main_Page 69382 15376 No All
skins/monobook/main.css 23103 6353 Yes All
skins/monobook/headbg.png 7881 7525 Yes All
skins/monobook/external.png 165 172 Yes All external-rtl.png is slightly larger
skins/monobook/bullet.gif 50 67 Yes All
skins/monobook/document.png 270 270 Yes All
skins/monobook/user.gif 325 338 Yes All

Assets unique to Vector

File Size (raw) Size (gzipped) Cacheable client-side Included on Notes
Page body for w:Boeing 787 Dreamliner 230540 49721 No All
Page body for w:Main_Page 59659 15247 No All
Page body for commons:Main_Page 72060 16029 No All
skins/vector/main-ltr.css 21812 4961 Yes All main-rtl.css virtually the same size
skins/vector/images/page-base.png 119 129 Yes All
skins/vector/images/page-fade.png 253 270 Yes All
skins/vector/images/border.png 119 129 Yes All
skins/vector/images/external-link-ltr-icon.png 279 212 Yes All external-link-rtl-icon.png virtually the same size
skins/vector/images/bullet-icon.png 152 163 Yes All
skins/vector/images/document-icon.png 345 323 Yes All
skins/vector/images/user-icon.png 345 341 Yes All
skins/vector/images/tab-break.png 263 286 Yes All
skins/vector/images/tab-current-fade.png 121 132 Yes All
skins/vector/images/tab-normal-fade.png 254 272 Yes All
skins/vector/images/portal-break.png 242 265 Yes All

Migration speedups

Some ideas:

  • Use a purge script that purges the cache content as fast as we can refill it, ideally most often requested pages first. Can work either from the cache content set, or from the logs if it keeps track of already purged URLs. Will take hours/days to complete.
  • Split the Squid cache into old & new pages
    • Split backends only, and use the frontends to switch between the two sets, or
    • Split backend and frontend into two sets with different IPs, or
    • Split backend and frontend into two sets, and use LVS with a consistent source IP hashing scheduler (such as the one Mark wrote ;) to gradually move more traffic to the Vector Squids

Other deployment tasks

  • Change the width of thumbnail size from 180 pixels to 220 pixels.
  • Replace the Wikipedia logo with the new logo.
  • Following bugs require confirmation of resolution before deployment.
    • Bug 23492 Enter key not working selecting the suggested link.
    • Bug 22877 Wiki syntax are not inserted around selected text.
  • Take down the central notice about the release and bring up the post-release site notice. (Give Wikimania central notice 100% priority.)