Page MenuHomePhabricator

RFC: Consolidate WikiPage action and special page systems
Open, LowPublic


  • Affected components: MediaWiki core:
    • WikiPage "Action" classes.
    • SpecialPages
    • Path Router.
  • Engineer for initial implementation: TBD.
  • Code steward: TBD.

This is the task for the RFC started originally started in 2011 on


We currently have two ways to create a user-interface that acts on a wiki page in some way.

  1. Page actions (through an Action subclass, connected with WikiPage).
  2. Special pages (through a SpecialPage subclass, connected with Skin::setRelevantTitle).

Historically, most such interfaces were page actions (edit, history, protect). More recently, they were often special pages (SpecialUndelete, SpecialMovepage, SpecialEdittags, SpecialRevisiondelete).

  • This inconsistently should be resolved by settling on one system for page actions.
  • Existing URLs should continue to work.


(Use this space for data gathering, status quo, proposals, other considerations etc.)

The action system has various configuration variables and hooks that need to be considered.

Proposal: Deprecate Action classes


  • ..


  • ..

To be figured out:

  • ...

Event Timeline

As a user interface, it's nice to be able to access common actions by simply appending ?action=history or ?action=edit to the URL. On the other hand, it could also be nice to be able to link to "Special:Edit/Title" from wikitext.

That doesn't mean we have to keep Action classes as they are, versus internally treating a request with ?action=edit as if it were accessing Special:Edit or even having it issue an HTTP redirect to Special:Edit.

Is there still interest in this, or can it be closed?

Krinkle moved this task from Old to P2: Resource on the TechCom-RFC board.
Krinkle renamed this task from Consolidate WikiPage action and special page systems to RFC: Consolidate WikiPage action and special page systems.Apr 4 2020, 2:39 AM
Krinkle triaged this task as Low priority.
Krinkle added a project: MediaWiki-General.