A wikipedian has recently been trying to find a good way to cite particular revisions of articles in the bibliography for a paper.
Current we can give URLs for the _current_ version of an article (current as of whenever it is visited), or of _previous_ versions (as of when the citation was made):
current: http://www.wikipedia.org/wiki/Foobar old: http://www.wikipedia.org/w/wiki.phtml?title=Foobar&oldid=12345
There are two main problems with this (aside from the ugliness of the old-reference URLs):
* There is no way to reference the current version _as of the time of citation_. Since that revision isn't in the old table, it has no oldid assigned yet.
* oldid values sometimes can change, as when an article is deleted and subsequently restored (done also when recombining histories of articles that have been broken by crude renaming). Possible rearrangements of the database (such as combining all languages into a single table) could require reassigning oldids en masse. They are *not* reliable long-term citations.
One possible solution would be to provide a way of citing articles as of a particular timestamp, for instance:
http://www.wikipedia.org/wiki/Foobar?version=20030224161134
which would pull up either a cur or old version with that timestamp. (It could also be prettified: version=2003-02-24-16:11:34 etc)
Advantages: * consistent, no fuss, no worries about rearrangement of db structure * citation URL can be provided in a nice handy link at the bottom of every page
Disadvantages: * timestamp has 1-second resolution. Generally this is going to be unique (at least per article), but it may occasionally not be, particularly in cases of recombined histories. Some articles had multiple revisions' timestamps set to the same time due to bugs in the rename code and other db tweaks in early '02. * for this reason it's not suitable as the mainline url for drawing up old history revisions via the history list; so people have to remember to find and use the citation url separately
Alternatively, we could supply _both_ timestamp and oldid in the URL, and let timestamp have priority if an exact match on both is not found.
Thoughts?
-- brion vibber (brion @ pobox.com)