Usability
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"
) inwmf-config/CommonSettings.php
and sync it- After syncing
css/combined.min.css
you need to increment its style version inUsabilityInitiative.hooks.php
and sync the latter file. If you're deploying a rev that includes the style version bump, just make sure to syncUsabilityInitiative.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 tocss/combined.min.css
, you don't need the style version appendix bump like you do for other JS/CSS files.
- After syncing
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.
- Wikipedia 2.0 logos
- For Phase II deployment, only the English Wikipedia logo is replaced with the new version. English Wikipedia Logo in PNG is found here in Commons.
- Following bugs require confirmation of resolution before deployment.
- Take down the central notice about the release and bring up the post-release site notice. (Give Wikimania central notice 100% priority.)