Universal Language Selector/Deployment/Planning

This is the provisional deployment plan for the MediaWiki extension UniversalLanguageSelector (ULS) to all wikis managed by the Wikimedia Foundation planned for May and June 2013. The Universal Language Selector is a tool that allows users to select a language and configure its support in an easy way. It replaces extensions Narayam and WebFonts.

Offered functionality

 * 1) User interface language selection for logged in users.
 * 2) Web fonts
 * 3) Input methods

A full description is at Extension:UniversalLanguageSelector.

Limitations

 * ULS is only supported in the following skins: Vector, Monobook, Modern.
 * On Wikimedia wikis, user interface language selection using the ULS is only available for logged in users. For anonymous users, web fonts and input methods are available.

Configuration
There are two possible configurations for ULS on a wiki, depending on its function.


 * 1) Projects with language versions (Wikipedia, Wikibooks, Wikiversity (except betawikiversity), Wiktionary, Wikiquote, Wikivoyage, Wikinews, Wikisource (except oldwikisource). For these wikis, the bulk of the wikis of Wikimedia, ULS will be visible as a cog icon in the menu area for interlanguage links. This configuration can be referred to by "ULS interlanguage" or "ULS cog icon".
 * 2) * Test environment: http://en.wikipedia.beta.wmflabs.org/wiki/Special:Version. Unfortunately beta labs has a caching issue. You may see  instead of "Languages" or no cog icon on some pages while not logged in.
 * 3) Projects without language versions, with or without multi-lingual content, and all other Wikimedia wikis, will have an icon for the ULS added in the personal tools at the top of the page. There are no separate test environments for this feature. It is in production on Meta-Wiki, Wikidata, MediaWiki.org, Wikimedia Belarus, Incubator wiki, Outreach wiki, Sources wiki, Wikimania wiki 2012 and 2013 . This configuration can be referred to by "ULS personal" or "ULS multi language".
 * 4) * Test environment: http://commons.wikimedia.beta.wmflabs.org/wiki/Special:Version. Unfortunately beta labs has a caching issue. You may see  instead of "Languages" or no cog icon on some pages while not logged in.

Phase 0: Be on time to start Phase 1

 * 2013-05-28 / Sprint 43

Todo:
 * 1) 2013-05-28 / Alolita / Get agreement on deployment planning from PlatformEng (Robla/Greg).
 * 2) 2013-06-04 / Team / When we see that there are certain features for automated testing, we have to test the remainder manually.
 * 3) 2013-06-10 / Runa / Error-free cross-browser integration testing by first deployment date, including disabling on unsupported browsers. Requires great coordination with QA and testing on two wikis, as we have "ULS interlanguage" and "ULS personal".
 * 4) 2013-06-10 / Siebrand/Alolita / No highest/immediate priority or critical/blocker impact issues for ULS in Bugzilla. Query live data.

Completed:
 * 1) 2013-05-07 / Niklas / Change $wgULSEnableAnon = false; to $wgULSAnonCanChangeLanguage = false;
 * 2) 2013-05-07 / Niklas/Siebrand / Have beta labs environment available for ULS "interlanguage" and "personal".
 * 3) 2013-05-10 / Niklas/Amir / Prepare cluster configuration for "personal' and "interlanguage".
 * 4) 2013-05-16 / Alolita/Siebrand / Get agreement on deployment planning from Wikimedia management (Howie/Erik)
 * 5) 2013-05-16 / Alolita/Siebrand/Pau / Written "signoff" from Erik and Howie for both multi-lingual top-right ("personal") as well as interlanguage-integrated specific ("interlanguage") wiki solutions.
 * 6) 2013-05-28 / Siebrand/Alolita / All design changes specified by Pau and Howie implemented.
 * 7) 2013-05-29 / Runa/Siebrand / Prepare communication for Phase 1 wikis.
 * 8) 2013-06-05 / Runa / Communicate changes to Phase 1 wikis.
 * 9) 2013-06-05 / Runa/Siebrand / Communicate deployment plan on wikitech-ambassadors.
 * 10) 2013-06-06 / Runa/Siebrand / Communicate deployment plan in a blog post.
 * 11) 2013-06-07 / Siebrand /  Broadcast communication for Phase 1 available for translation on Meta.
 * 12) 2013-06-07 / Siebrand / Communicate translation on translator-l and send out translation notification for affected languages.

Phase 1: Phase out Narayam and WebFonts

 * 2013-06-11 / Sprint 43

'''Deployment dates for this phase depend on previous phase. We will add more detail as we get closer to this phase.'''

Todo:
 * 1) ✅ Prepare and submit wiki configuration to enable ULS on all wikis that have WebFonts and/or Narayam (63113)
 * 2) ✅ Update ULS to master on both deployment branches and sync (scap is required for 1.22wmf3 because of i18n changes)
 * 3) ✅ Merge wiki config from step 2.
 * 4) ✅ Sync the configuration and test+fix each wiki
 * 5) Communicate next deployment cycle.

Projects without language versions (1)

 * betawikiversity

(The remaining projects without language versions will be done in last phase.)

Projects with language versions (83)

 * amwiki
 * amwikiquote
 * amwiktionary
 * arwiki
 * arwikibooks
 * arwikinews
 * arwikiquote
 * arwikisource
 * arwikiversity
 * arwiktionary
 * aswiki
 * aswikibooks
 * aswikisource
 * aswiktionary
 * bhwiki
 * bnwiki
 * bnwikibooks
 * bnwikisource
 * bnwiktionary
 * bpywiki
 * bugwiki
 * dvwiki
 * dvwiktionary
 * enwikisource
 * enwiktionary
 * frwikisource
 * guwiki
 * guwikibooks
 * guwikiquote
 * guwikisource
 * guwiktionary
 * hiwiki
 * hiwikibooks
 * hiwikiquote
 * hiwiktionary
 * jvwiki
 * jvwiktionary
 * kawiki
 * knwiki
 * knwikibooks
 * knwikiquote
 * knwikisource
 * knwiktionary
 * map_bmswiki
 * mlwiki
 * mlwikibooks
 * mlwikiquote
 * mlwikisource
 * mlwiktionary
 * mrwiki
 * mrwikibooks
 * mrwikiquote
 * mrwikisource
 * mrwiktionary
 * mywiki
 * mywiktionary
 * newiki
 * newikibooks
 * newiktionary
 * orwiki
 * orwiktionary
 * pawiki
 * pawikibooks
 * pawiktionary
 * sawiki
 * sawikibooks
 * sawikiquote
 * sawikisource
 * sawiktionary
 * siwiki
 * siwikibooks
 * siwiktionary
 * tawiki
 * tawikibooks
 * tawikinews
 * tawikiquote
 * tawikisource
 * tawiktionary
 * tewiki
 * tewikibooks
 * tewikiquote
 * tewikisource
 * tewiktionary

Phase 2: Expand and learn: Wikipedia top 11-20

 * 2013-06-18

'''Deployment dates for this phase depend on previous phase. We will add more detail as we get closer to this phase.'''

Todo:
 * 1) Prepare and submit wiki configuration to enable ULS on Wikipedias of size 11-20: Portuguese (pt), Chinese (zh), Vietnamese (vi), Ukrainian (uk), Catalan (ca), Waray-Waray (war), Norwegian (Bokmål) (no), Cebuano (ceb?), Finnish (fi), Persian (fa)
 * 2) Update ULS to master on both deployment branches and sync (scap may be required for i18n changes)
 * 3) Merge wiki config from step 2.
 * 4) Sync the configuration
 * 5) Communicate next deployment cycle.

Phase 3: Deploy to wikis without language versions

 * 2013-06-18 / Sprint 44

'''Deployment dates for this phase depend on previous phase. We will add more detail as we get closer to this phase.'''

Phase 4: English Wikipedia

 * 2013-06-25 / Sprint 45

'''Deployment dates for this phase depend on previous phase. We will add more detail as we get closer to this phase.'''

Phase 5: The rest

 * 2013-07-02 / Sprint 45

'''Deployment dates for this phase depend on previous phase. We will add more detail as we get closer to this phase.'''

Phase 6: Maintenance for ULS for UI selection

 * Next fiscal year (starts 2013-07-02)

ULS in maintenance mode. Next feature may be integration of content language selection in ULS.