User:DKinzler (WMF)/Page type

Page types determine what kind(s) of content can exist on a given page, and how users can interact with that content.

MediaWiki currently distinguishes several types of pages, but has no clear abstraction for modeling this distinction, and no concise way to define additional page types. The types of pages supported by core include:


 * Content pages
 * Talk pages
 * File pages
 * Category pages
 * Message pages
 * Translation tables
 * User pages
 * CSS pages
 * JS pages

A page type handler would, for a given title, determine the following:


 * permissions needed to edit
 * internal updates to perform when the page changes (e.g. for message pages)
 * special behavior on preview (e.g. for css pages)
 * allowed model for the main slot
 * allowed slots in addition to the main slot
 * layout of the contents of different slots