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>