MediaWiki core has the concept of edit notices where the contents of a MediaWiki interface message page can be shown atop the Edit page when editing.
This works by namespace or by page through these interface message:
- MediaWiki:Editnotice-0 (applies to all pages in namespace, e.g. NS_MAIN articles)
- MediaWiki:Editnotice-0-Sandbox (applies to page "Sandbox")
- MediaWiki:Editnotice-2-Example (applies to page "User:Example")
The English Wikipedia (and various wikis copied this) built a template system on top of this to provide a few extra features. There are a few other aspects of this, but these are the two main use cases that I think are worth standardising:
- Allow non-sysops users to create edit notices.
- Allow users to make edit notices above their user and user talk page.
- Allow users that can edit a page, also create/edit the edit notice for that page.
- Display a small link on top of an edit notice pointing to where the notice can be created if it does not exist yet.
The first one is done by registering namespace-wide edit notices in all namespaces. See Special:PrefixIndex/MediaWiki:Editnotice-. Each simply contains {{editnotice load}} which basically looks for a subpage of Template:Editnotices/Page/ by the name of the page and transcludes it if it exists. Thus loading them from outside the restricted MediaWiki namespaces, and allowing non-sysops to edit it.
The second one is part of the html wrapper that {{editnotice load}} outputs even if no subpage was found. A link to the edit page to create or edit that subpage. Note that this link is hidden by default via a css class and only made visible from Sysop.css.
Because of this last part, all pages in all namespaces "have" an editnotice as far as the software is concerned. It's just invisible to most users.
I'd recommend we implement a simple mechanism by which sysops can create an interface message (e.g. MediaWiki:Editnotice-create) that (if not disabled, which it is by default) is displayed on the edit page if no edit notice was found.
Wikipedia could continue to overload the namespace via the template. As long as the template returns absolutely no content in case no edit notice is shown. Their "edit" link would only be output if an edit notice exists.
Wikipedia could continue to hide this message for non-sysops using the same class hiding.
This has the benefit of allowing software to programmatically determine whether or not an edit notice exists. This is currently impossible and forces VisualEditor and other systems to have to resort to visual style capturing to "see" if the notice is empty. Which is costly and slows down the experience for all users.
See also: