Submissions/Extending the VisualEditor

From Wikimania 2013 • Hong Kong

This is an accepted submission for Wikimania 2013.

Presentation Media



Submission no.
5049
Subject no.
C3
Title of the submission

Extending the VisualEditor

Type of submission

Presentation

Author of the submission

Christian Williams & Inez Korczynski

Country of origin

United States / Poland

Affiliation

Wikia

E-mail address

christian@wikia-inc.com korczynski@gmail.com

Username
Personal homepage or blog
Abstract

Over the past two years, a team from the Wikimedia Foundation and Wikia have been working on the VisualEditor; a new visual editing tool specifically for wikitext. By Wikimania 2013, it should be the default editor on all Wikipedias and over a quarter million Wikia wikis. The VisualEditor is able to be extended by plugins for specific features like categories, templates, and images. In this presentation, VE team members Inez and Christian will teach you how to build a plugin for your own extension.

Detailed proposal

Over the past two years, a team from the Wikimedia Foundation and Wikia have been working on the VisualEditor; a new visual editing tool specifically for wikitext. By Wikimania 2013, it should be the default editor on all Wikipedias and over a quarter million Wikia wikis. The VisualEditor is able to be extended by plugins for specific features like categories, templates, and images. In this presentation, VE team members Inez and Christian will teach you how to build a plugin for your own extension.

The VisualEditor provides many APIs that can be used to build a plugin:

  • Tools - A tool is typically displayed as a button in a toolbar. A tool may be bound to the main toolbar or the contextual toolbar. For example, when the cursor is positioned in a link, the context menu will show the link tool button just below the cursor.
  • Commands - A command is a keyboard binding. The bindings are easily defined and clearly specified. For example, “Command+Shift+P”.
  • Actions - Both tools and commands are merely triggers for actions. An action can format text, modify an element, or open an inspector or dialog.
  • Inspectors - When only a small amount of information needs to be specified, an inline inspector works well. This is useful for creating simple links.
  • Dialogs - For specifying more information such as multiple photos and display options for a gallery, a floating modal dialog works best.

Throughout the course of this presentation, Inez and Christian will build a new VisualEditor plugin from scratch. By the end of the talk, you’ll be ready to build a plugin for your own extension.

The core technology behind the VisualEditor is JavaScript with just a little bit of PHP for bootstrapping. As this is a technical talk, JavaScript experience will help you to follow along, but we’ll aim to strike a balance between technical and conceptual information.

Track
  • Technology and Infrastructure
Length of presentation/talk

45 Minutes

Language of presentation/talk

English

Will you attend Wikimania if your submission is not accepted?

No

Slides or further information (optional)
Get your slides here! (PDF)

Get your slides here!

Special requests


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 four tildes. (~~~~).

  1. MarkTraceur (talk) 22:08, 29 April 2013 (UTC)[reply]
  2. Jdforrester (WMF) (talk) 22:25, 29 April 2013 (UTC)[reply]
  3. ESanders (WMF) (talk) 10:52, 30 April 2013 (UTC)[reply]
  4. Ocaasi (talk) 16:21, 30 April 2013 (UTC)[reply]
  5. Mglaser (talk) 23:47, 30 April 2013 (UTC)[reply]
  6. Risker (talk) 03:28, 1 May 2013 (UTC)[reply]
  7. Ziko (talk) 18:07, 3 May 2013 (UTC)[reply]
  8. Multichill (talk) 14:54, 4 May 2013 (UTC)[reply]
  9. Nirakka (talk) 08:55, 7 May 2013 (UTC)[reply]
  10. Waldir (talk) 14:55, 14 May 2013 (UTC)[reply]
  11. Ovedc (talk) 09:18, 28 May 2013 (UTC)[reply]
  12. Marcio De Assis (talk) 15:00, 6 June 2013 (UTC)[reply]
  13. Adamw (talk) 00:15, 8 August 2013 (UTC)[reply]