For a while now, at least in English wikipedia, ordinary users have been able to change the text that appears at the top of Special:Recentchanges, by simply editing Wikipedia:Recentchanges. This has been great. However, there are about a million other places where such a system would be useful. For example, why can't we change the message that comes up when a new user creates an account, to something a bit more informative? Why can't we edit the text at the top of the "confirm deletion" page, to reflect this week's deletion policy?
The problem with this is that the current way of doing it is difficult to implement in each case, and not very easy to use with the other-language wikis, or the other sites using our software. I have made a simple change to wfMsg (now in CVS), which makes the creation of these software message pages much easier. With the new feature, instead of this:
"welcomecreation" => "<h2>Welcome, $1!</h2><p>Your account has been created.
Don't forget to personalize your wikipedia preferences.",
we write this:
"welcomecreation" => ":Wikipedia:Welcome, newcomers",
A message starting with a colon ":" indicates that the text should come from a wiki page. If the page doesn't exist, it will fail quietly, returning a link to the non-existent page.
In some cases the code will have to be altered to use wiki-markup messages rather than HTML, but there are a number of places where this could be implemented by simply changing Language.php.
An additional feature is that if the tag "__START__" exists in the text, the text before that point will be filtered out, in wfMsg. This allows us to write messages such as "The following text appears at the top of [[Special:Recentchanges]]. Editing this page will instantly change that text. "
-- Tim Starling <t-starling-physics-unimelb-edu-au>