Page MenuHomePhabricator

Consolidate WikiPage action and special page systems
Open, Needs TriagePublic


Task for this RFC that started in 2011:

Problem statement

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.

Things to consider

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

Proposal 1 - Deprecate Action classes


  • ..


  • ..

To be figured out:

  • ...

Event Timeline

Krinkle created this task.Aug 14 2018, 9:34 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptAug 14 2018, 9:34 PM
daniel moved this task from Inbox to Backlog on the TechCom-RFC board.Aug 22 2018, 8:45 PM
Anomie added a subscriber: Anomie.Aug 24 2018, 3:38 PM

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.

daniel added a subscriber: daniel.Jul 22 2019, 5:06 PM

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