Firstly, I hope I don't sound a complete crank and I'm sorry for the
length of this email.
I'd like to add automatic time zone selection to Mediawiki. On the
English Wikipedia, I think it is entirely appropriate that signatures
include the time in UTC all year round. However, I help to run a wiki
called ganfyd, which is based in the UK and I want the signatures on
that to be in local time i.e. GMT in the winter, and BST in the summer,
changing automatically as required. I have done this as a one time fix
for ganfyd, but would like to offer a general solution to the Mediawiki
community. Before I do it though, I just want to make sure what I'm
offering is wanted, and also that I'm going about it in a sensible way.
What I envisage implementing is the following:
Defining two different time zones: An installation time zone and user
time zones. The installation time zone could be different to the server
time zone, which I expect would be necessary for Wikimedia wikis which
are run on the same server but want different time zones. The
installation time zone would be used for all signature times, and could
be decided either by editing a page in the Mediawiki namespace or
changing a setting LocalSettings.php, I haven't decided yet. Advice anyone?
Having both server time zones and user time zones specified by one of:
1) a description such as UTC
2) an offset from UTC of the form +00:00 (for compatibility with
existing user preferences)
3) a DST aware geographical description such as "Europe/London"
(and all the others here: http://uk2.php.net/manual/en/timezones.php
The English Wikipedia installation time would be set to UTC.
Ganfyd would be set to Europe/London.
Some European Wikipedias might be set to Europe/Paris, or Brussels or
somewhere like that.
If the server time is set to Europe/London for example, and all that was
shown in signatures, they would become horribly bloated. I would have
them display UTC or BST depending on what time of year the page was saved.
Ideally, a server knows what UTC is, but if it doesn't have it right,
I'd allow for a correction in LocalSettings.php, so the rest of the
features will work as planned.
I plan to do all this without using the new functions that came along in
PHP 5.1.0, since ganfyd runs on PHP 4.4.2, and I can't change that.
Can anyone foresee any problems with this approach?