Last modified on 17 November 2014, at 17:28

VisualEditor

For the VisualEditor deployment at the English Wikipedia, see Wikipedia:VisualEditor.
For changes made using the VisualEditor, see VisualEditor, VisualEditor: Check, and VisualEditor: Switched

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 it can be found on Wikimedia's blog, the FAQs, and VisualEditor:Welcome. For more information, please visit the VisualEditor Portal.

RationaleEdit

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

StatusEdit


2014-10-23 (MW 1.25wmf5):

VisualEditor was updated as part of the wider MediaWiki 1.25wmf5 branch deployment on Thursday 23 October. In the week since the last deployment, the team worked on a few new features and a range of bug fixes.

You can now make templates automatically set a field to today's date or other "autofill" computed values (bugs 51428 and 52029). The keyboard shortcuts for items in the toolbar's menus now show on the right hand side to make them easier to find (bug 71855). Clicking edit is now slightly more responsive, starting the loading animation as soon as you click and updating the browser address, rather than after half a second or so (bug 65453). The link editor now shows an open button for auto-numbered external link nodes, just like for link annotations (bug 71904).

We found a very disruptive bug that meant that, in Firefox, cut and sometimes paste did not work; this was deployed as quickly as possible to all users (bug 72164). A bug caused by a wider improvement in the Parsoid service meant that adding or editing formulæ worked but didn't show them whilst editing; we fixed this and deployed it immediately too (bug 71829).

We fixed an issue caused last week which threw errors if you tried to make a media item with no caption which was the only content in the page a link or have a language annotation (bugs 72258 and 72259). We also fixed a problem that meant autofilled template values weren't actually being saved, blocking announcement of the new feature (bug 71157). The improvement a fortnight ago to check links in templates and mark them as 'red' if they weren't pages in the wiki accidentally also looked at external links; we fixed this (bug 72251). Of the four different ways to launch the link editor for a link node, two were instead opening the other link editor (for a link annotation), which didn't quite work; we fixed it so all four use the right one (bug 72150).

Selections which start in a link (or other annotation which provides a contextual tool) now again only show the tool if the selection is fully covered by the annotation, and not regardless (bug 72152). Adding category sort keys, which had broken, now works again (bug 72168). The "make full size" button in the media dialog stopped enabling the "Apply Changes" button, which we fixed (bug 72155). The language editor started appearing in the wrong location, which we fixed (bug 72273). An issue which meant newly-inserted citations would show up with an empty line above and below it in the reference list was fixed before release (bug 72006), as was an issue making inspectors show an unneeded scrollbar in Chrome (bug 72338).

The placement of the category pop-ups was moved to a different overlay to make them display better in RTL. We fixed two old technical debt issues, removing uses of the push.apply method and using instead a safer function depending on context (bug 66206) and replacing use of jQuery's $.proxy with native .bind() (bug 62762). A change in the OOjs UI library which broke certain dialog layouts was corrected before release (bug 72278). Like slugs last week, we now use staging for inserting HTML comments and special characters, which makes the inspectors for each show up much more clearly and reliably. We fixed an issue that meant that pasting in Firefox would cause the page to scroll when the cursor is at the end of the paragraph. A MediaWiki-specific hack in how the mobile context works was moved from core into VisualEditor-MediaWiki. As part of the work to support table editing, VisualEditor tools now need to identify on what kind of selection objects they can operate.

The OOjs UI library had a few improvements. The global event handling was simplified when using window managers that aren't isolating their dialogs in <iframe>s, and window managers now will wait for their windows to be fully open before closing (bug 69918). Comboboxes now work correctly in the MediaWiki theme (bug 71889), and a new progress bar widget is available. Toolbar menus now support only showing a few items initially with options to expand the menu later (bug 70568). Most notably, an early version of a parallel, PHP language port of the library landed, which will allow pages to be created server-side and later as a progressive enhancement made rich with "innervation" on the client-side with JavaScript support. The PHP port will be made available inside MediaWiki soon using Composer, as part of the front-end standardisation efforts.

You can monitor the live results of the automated browser tests (triggered every twelve hours) on the server. A complete list of individual code commits is available in the 1.25/wmf5 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.

TimelineEdit

  • 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),[3] French (fr), Hebrew (he), Italian (it), Polish (pl), Russian (ru) & Swedish (sv)[4]

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), Modern Greek (el), Estonian (et), Basque (eu), Finnish (fi), Galician (gl), Croatian (hr), Hungarian (hu), Indonesian (id), Latvian (lv), Malay (ms), Neopolitan (nap), Norwegian - Nynorsk (nn), Norwegian - Bokmål (no), Sicilian (scn), Simple English (simple), Slovak (sk), Slovenian (sl), Turkish (tr), Ukrainian (uk), Venetian (vec), Volapük (vo), Waray-Waray (war)

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

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

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

Alemannic (als), Aragonese (an), Asturian (ast), Bavarian (bar), Belarusian (be), Belarussian Taraškievica (be-x-old), Bosnian (bs), Esperanto (eo), West Frisian (fy), Irish (ga), Javanese (jv), Latin (la), Luxembourgish (lb), Lithuanian (lt), Occitan (oc), Palatinate German (pfl), Romanian (ro), Scots (sco), Albanian (sq), Swahili (sw), Tswana (tn), Vietnamese (vi), Xhosa (xh)

YesY Done
TBC Phase 5 All users 53 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), Samogitian (bat-smg), Bambara (bm), Breton (br), Buryat (bxr), Crimean Tatar (crh), Old Church Slovonic (cu), Chuvash (cv), Welsh (cy), Lower Sorbian (dsb), Ewe (ee), Fula (ff), Võro (fiu-vro), Gagauz (gag), Guarani (gn), Hausa (ha), Upper Sorbian (hsb), Igbo (ig), Inupiak (ik), Icelandic (is), Karakalpak (kaa), Kabyle (kab), Kabardian (kbd), Karachay-Balkar (krc), Komi (kv), Kyrgyz (ky), Lezgian (lez), Lingala (ln), Latgalian (ltg), Moksha (mdf), Meadow Mari (mhr), Macedonian (mk), Mongolian (mn), Hill Mari (mrj), Maltese (mt), Nahuatl (nah), Navajo (nv), Ossetian (os), Rusyn (rue), Sakha (sah), Silesian (szl), Turkmen (tk), Tatar (tt), Udmurt (udm), Venda (ve), Walloon (wa), Wolof (wo)

TBC Phase 6 All users 59 Wikipedias with complex characters inserted using Input Method Editors

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

TBC Phase 7 All users 9 language variant Wikipedias

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

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.

NotesEdit

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

DocumentationEdit

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

Related pagesEdit

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

See alsoEdit