Core Platform Team/Initiative/Core REST API in MediaWiki/Initiative Description

From mediawiki.org

< Core REST API in MediaWiki

Summary

Base functionality of MediaWiki should include:

  • Article CRUD (Create, Read, Update, Delete)
  • Article history
  • Article search
  • Format transformation (wikitext, HTML, -> PDF)
  • User settings Read, Update
  • User contribution history
  • Sitewide history (recent changes)
  • Media CRUD
  • Media history
  • Article metadata (for example links, language links, inbound links, references)
  • Advanced article curation features (for example protect, undelete, patrol, ...)
  • Advanced user administration features (for example block, ban, manage groups, ...)

One aspect of this project is defining the core API endpoints in an RFC for review.

Significance and Motivation

REST is the primary current API paradigm which many developers are used to, and which is supported by many libraries. Its advantages include a tight fit with HTTP methods and a good fit with HTTP caching.

Outcomes
  • Core functionality of MediaWiki available through a RESTful API interface
Baseline Metrics

About 0% of Action API functionality is covered by a RESTful API within MediaWiki.

Target Metrics
  • 80% of most popular Action API functionality is available through a RESTful API.
  • Sufficient features are available to build a "simple" Wiki reader/editor.
Stakeholders
  • Readers Infrastructure
  • Partnerships
  • Third-party developers
Known Dependencies/Blockers
  • REST Router infrastructure (implemented for Parsoid)
  • OAuth 2.0