Submissions/Mediawiki without wikitext

After careful consideration, the Programme Committee has decided not to accept the below submission at this time. Thank you to the author(s) for participating in the Wikimania 2015 programme submission, we hope to still see you at Wikimania this July.

Submission no.
3036
Title of the submission
Mediawiki without wikitext (sung as: It's an HTML world after all)
Type of submission (discussion, hot seat, panel, presentation, tutorial, workshop)
presentation
Author of the submission
C. Scott Ananian (cscott)
E-mail address
cananian@wikimedia.org
Username
cscott
Country of origin
USA
Affiliation, if any (organisation, company etc.)
Wikimedia Foundation
Personal homepage or blog
http://cscott.net
Abstract (at least 300 words to describe your proposal)

When wikitext was created, in 1995, it served a vital function in allowing inexperienced users to easily create and edit pages. In the twenty years since, no standard wikitext emerged, and since 2004 the stripped-down formatting of Markdown has emerged as the plaintext formatting syntax of choice for much of the web. Mediawiki-style wikitext failed to be adopted outside our project. For a decade it has been on a declining mindshare trajectory.

It is time to decouple wikitext from core.

It should be possible to create an HTML-only wiki, with Visual Editor as the primary editing mechanism and no wikitext parsing for typical views and edits. Advanced users could install Parsoid to round-trip from the HTML DOM to wikitext for source editing, translating from wikitext back to the HTML DOM for database storage and display. Eventually new projects may arise to similarly allow round-trip "source" editing in other formats, such as Markdown or a new and refreshed "wikitext 2.0". But simple installations need none of that.

After outlining this vision, we will describe the architectural changes needed to achieve it:

  • ContentHandler laid the groundwork for non-wikitext page content, we must build on it: An HTML-format "Mediawiki DOM" ContentHandler must be written, using DOM methods to separate sections and extract redirects. The "Mediawiki DOM" Content implementation must extract secondary data (links, categories, etc) directly from the DOM. (Alternatively, page metadata should be stored in a separate JSON "page metadata" attachment and custom editors provided.)
  • An HTML-based DifferenceEngine must be implemented to allow visualizing changes without resorting to wikitext.
  • VisualEditor must be tweaked to fetch Mediawiki DOM directly, bypassing Parsoid; ditto on save.
  • System messages must be associated with a content model, to allow HTML-formatted system messages. Localization workflows need to accommodate non-wikitext messages. Most messages do not need formatting and should probably shift to a "plaintext" content model.
  • The Sanitizer will need improvement so that it is appropriate to run directly on Mediawiki DOM.
  • Compatibility thunks are also desirable. These would use Parsoid to dynamically generate wikitext from the Mediawiki DOM to allow some legacy extensions and APIs to function.

A rough prototype will be demonstrated, and the audience will be invited to suggest other areas that might present roadblocks to an HTML-only wiki.

The long-term goal of the Parsoid team is for Parsoid to eventually disappear, replaced by HTML-only wikis and round-trip conversion tools to simpler "source" formats. The main Wikipedia projects will continue to rely on wikitext for a long time yet, but this work would be the first step towards deprecating Parsoid for some users: allowing small wikis to install a monolithic PHP-only mediawiki core with native HTML storage and visual editing.

Track
  • Technology, Interface & Infrastructure
Length of session (if other than 30 minutes, specify how long)
30 minutes
Will you attend Wikimania if your submission is not accepted?
Yes.
Slides or further information (optional)
Special requests

Shouldn't conflict with other Parsoid team talks (Submissions/Wikitext_is_broken,_long_live_wikitext_(2.0); will add more if the team submits more talks).


Interested attendees

If you are interested in attending this session, please sign with your username below. This will help reviewers to decide which sessions are of high interest. Sign with a hash and four tildes. (# ~~~~).

  1. Ocaasi (talk) 23:39, 4 March 2015 (UTC)[reply]
  2. Who needs wikitext anyway. Amir E. Aharoni (talk) 15:02, 6 March 2015 (UTC)[reply]
  3. Santhosh.thottingal (talk) 06:50, 11 March 2015 (UTC)[reply]
  4. Ckoerner (talk) 14:39, 11 March 2015 (UTC) - I'm really interested in learning more.[reply]
  5. Quiddity (WMF) (talk) 06:42, 23 March 2015 (UTC)[reply]