VisualEditor

From MediaWiki.org
Jump to: navigation, search
For the VisualEditor deployment at the English Wikipedia, see Wikipedia:VisualEditor.

The VisualEditor project aims to create a reliable rich-text editor for MediaWiki. It is being developed so it can be used as a MediaWiki extension, using the Parsoid project to supply HTML+RDFa.

It is currently deployed to various namespaces on this wiki (including the main namespace in which this page exists); more information about this test deployment can be found on Wikimedia's blog, the FAQs, and VisualEditor:Welcome or VisualEditor:Test. Please note that the test deployment only works with the Vector skin. For more information, please visit the VisualEditor Portal.

Rationale[edit | edit source]

The decline in new contributor growth is the single most serious challenge facing the Wikimedia movement. Removing the avoidable technical impediments associated with Wikimedia's editing interface is a necessary pre-condition for increasing the number of Wikimedia contributors.

Status[edit | edit source]


Images are represented by Parsoid as <figure>s rather than MediaWiki's assortment of <div>s. Previously, these were converted by VisualEditor as a hack to make them look alike, but now we have implemented some CSS styling instead that should leave them looking the same, with less slow-down (bug 53436). This is a step towards the long-term goal of replacing the use of the HTML output from the MediaWiki PHP parser with the HTML+RDFa created by Parsoid. This would improve the usefulness of the site for mobile and API users, as well as making VisualEditor faster to load.

The Mobile team have enabled a limited version of VisualEditor as part of the "alpha" mobile channel (see for example a English Wikipedia article in alpha mobile mode); this was briefly broken due to a mis-configured dependency on ULS (bug 58551).The new rich pasting functionality had two bugs addressed – one where extra line-breaks were added in Chrome when pasting into an empty line (bug 58347), and another where an error was thrown for certain complex templates (bug 58421).

The generic MWExtensionInspector framework that new tools will extend now set the directionality of new items it create from the context, not the user's language, which means future extension editors will work in RTL and LTR environments (bug 57421).

A great deal of clean-up was done on the code repositories, ahead of splitting VisualEditor's core code away from the MediaWiki extension that uses it to edit a wiki. The intent is to make it easier for third parties who want to use VisualEditor for non-MediaWiki platforms (like WordPress or Etherpad) and encourage a focus on speed, efficiency and compatbility.

The automated browser tests were expanded to add a test for switching between edit modes and another for making multiple edits in the same session, adaptions to use the altered transclusion dialog workflow, text styling and insert menus, with timeouts added and tracking versions for Firefox and Selenium updated.

You can monitor the automated browser tests' results (triggered every twelve hours) live on the server. A complete list of individual code commits is available in the 1.23/wmf8 changelog, and all Bugzilla tickets closed in this period are on Bugzilla's list.

You can see the team's current code dashboard on gerrit.

Timeline[edit | edit source]

  • Some level of exploration was done in 2010 by the Wikipedia Usability Initiative.
  • The 2011 product whitepaper published by the Wikimedia Foundation's strategic product team identified rich-text editing as one of the "Great Movement Projects". Work subsequently started in May 2011.
  • The 2011-12 Wikimedia annual plan, released July 2011, states a goal for VisualEditor: "First opt-in user-facing production usage by December 2011, and first small wiki default deployment by June 2012".
  • The 2012-13 Engineering Goals document sets a timeline for VisualEditor's development and deployment up to the end of June 2013.
  • VisualEditor is scheduled to be deployed across Wikimedia projects over the coming months. Below is the schedule as of December 2013:
Wikipedia roll-out timeline (detailed list)
Week of… Launch Users Projects Status
Summer 2012 Phase 0 All users Mediawiki.org[1] YesY Done
1 July 2013 Logged-in users English Wikipedia (en)[2] YesY Done
15 July 2013 All users YesY Done
24 July 2013 Phase 1 Logged-in users 7 of the largest Wikipedias

Spanish (es), French (fr), Hebrew (he), Italian (it), Polish (pl), Russian (ru) & Swedish (sv)[3]

YesY Done
29 July 2013 All users YesY Done
30 September 2013 Phase 2 Logged-in users 27 of the next largest Wikipedias

Bulgarian (bg), Catalan (ca), Cebuano (ceb), Czech (cs), Danish (da), Estonian (et), Basque (eu), Finnish (fi), Galician (gl), Croatian (hr), Hungarian (hu), Indonesian (id), Latvian (lv), Malay (ms), Norwegian - Nynorsk (nn), Norwegian - Bokmål (no), Simple English (simple), Slovak (sk), Slovenian (sl), Turkish (tr), Ukrainian (uk), Volapük (vo), Waray-Waray (war), Modern Greek (el), Neopolitan (nap), Venetian (vec), Sicilian (scn)

YesY Done
7 October 2013 All users YesY Done
2 December 2013 Phase 3 All users 93 Wikipedias with all characters normally directly available to users

Acehnese (ace), Aromanian (roa-rup), Aymara (ay), Banjar (bjn), Banyumasan (map_bms), Bislama (bi), Central Bikol (bcl), Chamorro (ch), Chavacano (cbk_zam), Chechen (ce), Cheyenne (chy), Chichewa (ny), Cornish (kw), Corsican (co), Dutch Low Saxon (nds_nl), Emilian-Romagnol (eml), Erzya (myv), Extremaduran (ext), Faroese (fo), Fiji Hindi (hif), Fijian (fj), Franco-Provençal/Arpitan (frp), Friulian (fur), Ganda (lg), Greenlandic (kl), Haitian (ht), Hawai'ian (haw), Ido (io), Ilokano (ilo), Interlingua (ia), Inupiak (ik), Kalmyk (xal), Kapampangan (pam), Kashubian (csb), Kikuyu (ki), Kinyarwanda (rw), Kirundi (rn), Komi-Permyak (koi), Kongo (kg), Ladino (lad), Latin (la), Ligurian (lij), Limburgish (li), Lojban (jbo), Lombard (lmo), Low Saxon (nds), Luxembourgish (lb), Malagasy (mg), Maltese (mwl), Maori (mi), Minangkabau (min), Nauruan (na), Norfuk (pih), Norman (nrm), North Frisian (frr), Northern Sami (se), Northern Sotho (nso), Novial (nov), Oromo (om), Pangasinan (pag), Papiamento (pap), Pennsylvania German (pdc), Picard (pcd), Piedmontese (pms), Portuguese (pt), Quechuan (qu), Ripuarian (ksh), Romani (rmy), Romansh (rm), Samoan (sm), Sango (sg), Saterland Frisian (stq), Scottish Gaelic (gd), Sesotho (st), Shona (sn), Somali (so), Sranan (srn), Sundanese (su), Swazi (ss), Tahitian (ty), Tarantino (roa_tara), Tok Pisin (tpi), Tongan (to), Tsonga (ts), Tumbuka (tum), Veps (vep), West Flemish (vls), West Frisian (fy), Yiddish (yi), Yoruba (yo), Zazaki (diq), Zeelandic (zea), Zulu (zu)

YesY Done
January 2014 Phase 4 All users 23 remaining Wikipedias with all characters normally directly available to users

(Provisional list) Albanian (sq), Alemannic (als), Aragonese (an), Asturian (ast), Bavarian (bar), Belarusian (be), Belarussian Taraškievica (be_x_old), Bosnian (bs), Esperanto (eo), Irish (ga), Javanese (jv), Lak (lbe), Lithuanian (lt), Occitan (oc), Palatinate German (pfl), Romanian (ro), Scots (sco), Swahili (sw), Tswana (tn), Tuvan (tyv), Vietnamese (vi), West Frisian (fy), Xhosa (xh),

Doing...
TBC Phase 5 All users 50 Wikipedias with some characters not normally directly-available to users

(Provisional list) Abkhazian (ab), Afrikaans (af), Akan (ak), Anglo-Saxon (ang), Avar (av), Azerbaijani (az), Bashkir (ba), Breton (br), Buryat (bxr), Chuvash (cv), Crimean Tatar (crh), Ewe (ee), Fula (ff), Guarani (gn), Hausa (ha), Hill Mari (mrj), Icelandic (is), Igbo (ig), Kabardian (kbd), Kabyle (kab), Karachay-Balkar (krc), Karakalpak (kaa), Komi (kv), Kyrgyz (ky), Latgalian (ltg), Lezgian (lez), Lingala (ln), Lower Sorbian (dsb), Macedonian (mk), Maltese (mt), Meadow Mari (mhr), Moksha (mdf), Mongolian (mn), Nahuatl (nah), Navajo (nv), Old Church Slovonic (cu), Ossetian (os), Rusyn (rue), Sakha (sah), Samogitian (bat_smg), Silesian (szl), Tatar (tt), Turkmen (tk), Udmurt (udm), Upper Sorbian (hsb), Venda (ve), Võro (fiu-vro), Walloon (wa), Welsh (cy), Wolof (wo)

TBC Phase 6 Logged-in users 51 Wikipedias with complex characters inserted using Input Method Editors

(Provisional list) Akan (hy), Amharic (am), Arabic (ar), Aramaic (arc), Assamese (as), Behari (bh), Bengali (bn), Bishnupriya (bpy), Buginese (bug), Burmese (my), Cherokee (chr), Classical Chinese (zh_classical), Cree (cr), Dhivehi (dv), Dzongkha (dz), Egyptian Arabic (arz), Georgian (ka), Gilaki (glk), Gujarati (gu), Hindi (hi), Inuktitut (iu), Japanese (ja), Kannada (kn), Kashmiri (ks), Khmer (km), Korean (ko), Lao (lo), Malayalam (ml), Manx (gv), Marathi (mr), Mazanderani (mzn), Min Dong (cdo), Nepal Bhasa (new), Nepali (ne), Oriya (or), Pali (pi), Pashto (ps), Persian (fa), Pontic (pnt), Sanskrit (sa), Saraiki (Western Punjabi) (pnb), Sindhi (sd), Sinhala (si), Sorani Kurdish (ckb), Tamil (ta), Telugu (te), Thai (th), Tibetan (bo), Tigrinya (ti), Urdu (ur), Zhuang (za)

TBC All users
TBC Phase 7 Logged-in users 9 language variant Wikipedias

Chinese (zh), Gan (gan), Inuktitut (iu), Kazakh (kk), Kurdish (ku), Serbian (sr), Tachelhit (shi), Tajik (tg), Uzbek (uz)

TBC All users

VisualEditor may be offered to users at non-Wikipedia projects, such as Commons or Wiktionary, after deployment to the Wikipedias has completed. No timeline has been set for this.

VisualEditor was made opt-in on the English Wikipedia in September 2013.

Notes[edit | edit source]

  1. Initially restricted to just the VisualEditor: namespace, later for all pages.
  2. Subsequently switched back to "opt-in" mode in September 2013.
  3. German (de) and Dutch (nl) initially proposed, but withdrawn before full deployment due to community concerns.

Documentation[edit | edit source]

You can speak with us in our chat channel, #mediawiki-visualeditorconnect.

Related pages[edit | edit source]

For more information on VisualEditor and its design process, see these directory pages:

See also[edit | edit source]