Grants:IEG/Visual editor- gadgets compatibility

status: completed

Individual Engagement Grants
Individual Engagement Grants
Review grant submissions
grant submissions
Visit IdeaLab submissions
IdeaLab submissions
eligibility and selection criteria


Visual editor- gadgets compatibility

project contact:

eranroz89(_AT_) or ravidziv(_AT_)


grantees: eranroz, Ravid ziv


  • Map all the gadgets for editing-aid in various Wikipedia languages
  • Add support for Visual editor for some of the most common editing gadgets
  • Write documentation/create JS library for partial-compatibility between the "classic" and the Visual editor editing mode

engagement target:

Wikimedia Projects, VisualEditor

strategic priority:

Improving Infrastructure

total amount requested:

4500 USD

2013 round 2

Project idea edit

Many gadgets and scripts have been created by volunteers across Wikimedia projects, which add various features. Many of them are intended for editors for improved editing experience. In the last few months, there is a new VisualEditor interface for editing articles. While this interface is still in "beta" there are many non-supported features yet. The known non-supported features are core features (such as tables) and extension features (such as timelines), but there are many unknown non-supported features - gadgets.

Moreover, since there is no central repository for gadgets (mw:Gadgets 2.0) there is a huge mess with them: there is no easy way to tell what gadgets exist across all wikis, some projects use older versions of gadgets, small communities don't get useful gadgets and some cool gadgets are used only by small communities.

The project aims to organize the gadget mess, improve gadgets sharing among communities, and to push gadgets improvements for edit interface to VisualEditor.

The project is defined in few stages, each of them will have it's own benefit:

Stage Description benefits
1 First stage is to map all the gadgets (in any language) and to create a list of all the gadgets in various projects Based on this list we may call different projects (in Village pump) to update their gadgets to newer versions. [gadgets which exist in various languages]
2 programmatically understand what of these gadgets are related to editing [Searching the code for common edit interface elements: textarea, WikiEditor api (enhanced editing toolbar) etc] can help understand what features/gadgets that may possibly need patch to support visual editor. [Unknown=>Known]
3 Rate gadgets by popularity across projects [no real benefit by itself, but may help communities to adopt new gadgets]
4 Convert some of the most popular editing gadgets to support the new VisualEditor. We assume that in some cases it will require very similar changes. We hope it will be possible to create a small JS library so volunteers will find it easier to add compatibility to the new VisualEditor for their gadgets. In case it won't be possible we will at least create a documentation for how to do it in common cases.
  • Improve the visual editor with some new features [gadgets conversion]
  • Make VisualEditor adoption easier for gadgets developers

Project goals edit

  • Improved sharing of gadgets on various projects:
    • Wider adoption for gadgets across communities
    • Upgrade old versions of gadgets that exist in some projects to newer versions
  • Extend VisualEditor with some of the most popular gadgets

Part 2: The Project Plan edit

Project plan edit

Scope: edit

Scope and activities edit

  • see the above table [or for more technical explanation see next section]

Tools, technologies, and techniques edit

  • Implement some python scripts/bots for the first stages:
    • to query MediaWiki:Gadgets-definition on each project to find what gadgets exist
    • some statistics on this list (versions - according to revision history) & user preferences (similar to gadgets popularity)
    • classification of edit-interface gadgets based on their source [since we don't speak so many languages :) ]
    • create bot to leave message on various village pumps regarding new versions of gadgets
  • Patch some of the most common edit-interface gadgets to support VE.

Budget: edit

Total amount requested edit

4500 USD

Budget breakdown edit

The requested budget is for the estimated cost of development time of 2 developers (the grantees) to work on a bot for static code analysis, gadget refactoring, and migration of some of the gadgets to VE. The amount will be split equally.

We will split the effort to about 40% of the time for general gadget code refactoring and 60% for visual editor migration of popular gadgets.

Intended impact: edit

Target audience edit

  • Gadget developers
  • editors in Wikimedia projects

Fit with strategy edit

  • Increasing Participation - Extending the VE by volunteers and making the edit features of VE and classic editing more common will make editing experience better.

Sustainability edit

  • We would like to run regular reports and statistics about gadgets popularity across projects using Labs.
  • After introducing VE support to some of the most popular gadgets it will be easier for gadget developers volunteers to adopt it to their tools as well.

Measures of success edit

  • Accessible statistics of gadget popularity across wikis. (It will help wiki admins [who is able to edit MediaWiki namespace] to know about cool gadgets that could be adopted)
  • Number of gadgets updated across wikis to newer version - about 20 gadgets that will be updated on various projects
  • Number of gadgets updated to support VE - about popular 20 gadgets that their features will be available also in the VE

Participant(s) edit

Eran Roz edit

I'm student for computer science and computational biology (3rd year). I'm mainly active in hewiki (he:User:ערן), and contributing to Wikipedia since 2003. I developed some bots (using pywikibot and DotNetWikiBot frameworks) for hewiki, wrote some scripts and gadgets in hewiki and commons, and contributed patches to core/extensions.

Ravid Ziv edit

I'm 3rd year student for computer science and computational biology. I'm active in an organization that called The Public Knowledge Workshop that it's mission is to release public information, and I mainly developing in djagno.

Discussion edit

Community Notification: edit

Please paste a link to where the relevant communities have been notified of this proposal, and to any other relevant community discussions, here.

Endorsements: edit

Do you think this project should be selected for an Individual Engagement Grant? Please add your name and rationale for endorsing this project in the list below. Other feedback, questions or concerns from community members are also highly valued, but please post them on the talk page of this proposal.

  • Community member: add your name and rationale here.

See also edit