Last modified: 2014-09-24 01:28:52 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T7877, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 5877 - View all articles as they were at a specified point in time
View all articles as they were at a specified point in time
Product: MediaWiki
Classification: Unclassified
History/Diffs (Other open bugs)
All All
: Lowest enhancement with 1 vote (vote)
: ---
Assigned To: Nobody - You can work on this!
: 9490 (view as bug list)
Depends on:
  Show dependency treegraph
Reported: 2006-05-09 02:10 UTC by Kat
Modified: 2014-09-24 01:28 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---

First stab at this (11.88 KB, patch)
2007-04-04 03:02 UTC, Aaron Schulz
Minor fix (11.68 KB, patch)
2007-04-06 02:01 UTC, Aaron Schulz
Add LIMIT=1 where needed (11.62 KB, patch)
2007-04-09 14:51 UTC, Aaron Schulz
Fix typo (11.33 KB, patch)
2007-04-09 15:08 UTC, Aaron Schulz
Add lower bound (12.51 KB, patch)
2007-04-11 18:29 UTC, Aaron Schulz
Update (13.25 KB, patch)
2007-04-12 16:00 UTC, Aaron Schulz
Experimental use of logging to track moves (15.62 KB, patch)
2007-04-15 02:26 UTC, Aaron Schulz
Experimental use of logging to track moves (15.70 KB, patch)
2007-04-15 05:14 UTC, Aaron Schulz
Check if image version was deleted (16.83 KB, patch)
2007-04-15 18:57 UTC, Aaron Schulz
Check if image version was deleted (16.83 KB, patch)
2007-04-15 18:59 UTC, Aaron Schulz
Fix some bugs (16.88 KB, patch)
2007-04-15 21:22 UTC, Aaron Schulz
Update/streamline (16.18 KB, patch)
2007-04-15 23:49 UTC, Aaron Schulz
Neaten this up some more (16.26 KB, patch)
2007-04-16 13:03 UTC, Aaron Schulz
Updated to svn (16.15 KB, patch)
2007-04-21 16:48 UTC, Aaron Schulz
Simplify (13.32 KB, patch)
2007-04-27 05:39 UTC, Aaron Schulz

Description Kat 2006-05-09 02:10:41 UTC
"Wikipedia Wayback Machine" -- option to view all articles at the revision they
were at at some specified point in time. 

This was requested by Vernor Vinge at CFP2006. He's a big fan of WP and I told
him I'd make the request; if anyone happens to code this, be sure to drop him an
email. :-)
Comment 1 Phil Boswell 2006-05-10 14:01:43 UTC
Would this not be best done on the toolserver, since the data is already there?

Oh, and if he wants an email, make sure he pouts it where it can be found…
Comment 2 Rob Church 2006-05-10 15:06:18 UTC
(In reply to comment #1)
> Would this not be best done on the toolserver?

No. The request as I read it, and upon further discussion with Kat, is that the
user would like for any Wikipedia user to set a soft session-duration tag
corresponding to a time, and then browse the wiki as it was (to some extent)
using this soft tag.
Comment 3 User:JesseW 2006-05-11 23:19:01 UTC
This ought to be able to be implemented by a Javascript user script.  It would
need to map the requested date to the nearest revision_id for each link on each
page loaded (it would need to do all the links to handle red-links properly),
then just alter the href (and possibly the link-color) to point to the old
version.  I think the mapping code is available in the
view-changes-since-you-last-edited user script, and the other parts seem pretty
Comment 4 Daniel Kinzler 2006-05-11 23:33:36 UTC
re #1: this is not a job for the toolserver, really - it's not intended to serve
content. Never mind the fact that currently, the toolserver does not even have
access to the article text, due to technical as well as policy issues.

re #3: setting the revision id is not enough, because if the page includes
templates, it latest version of the template will be used, not the "old" one.
Try getting last week's main page of the english wikipedia - it's pretty much
impossible. Images have the same problem, btw.

And yes, this would indeed be nice to have, and it should not be extremely hard
to do, imho.
Comment 5 Brion Vibber 2006-05-11 23:52:39 UTC
It's impossible with the present database structure; the 
information on renames, deletions etc isn't really there in 
a clean way.
Comment 6 Daniel Kinzler 2006-05-12 00:02:14 UTC
True, moves are tricky. Deletions shouldn't really matter - what's deleted
should not be shown in a "retro-version" either... or there would have to be
different levels of deletion. Link color could be a problem too, i guess.

I think just picking the right revision for template includes (and perhaps
images) would already be a nice start. I don't hink we can ever have a 100%
"time machine" feature - and I doubt we really want that with respect to deleted
vandalism, copyvios, etc.
Comment 7 Phil Boswell 2006-05-12 09:02:23 UTC
Also, there would have to be some way of fixing {{CURRENTTIME}} and related pseudo-
templates so that they contained the desired result rather than the usual dynamic 
Comment 8 Rob Church 2007-04-04 02:13:57 UTC
*** Bug 9490 has been marked as a duplicate of this bug. ***
Comment 9 Aaron Schulz 2007-04-04 03:02:57 UTC
Created attachment 3411 [details]
First stab at this

I really was just looking for a way to do this for specific revisision, not all
of a wiki.

At any rate though, I've tested the above patch and it seems to basically work
thus far, though I haven't done exensive case testing.

It works by accepting a 5th parameter for parse() called timeframe.
Comment 10 Aaron Schulz 2007-04-06 02:01:32 UTC
Created attachment 3416 [details]
Minor fix
Comment 11 Aaron Schulz 2007-04-09 14:51:56 UTC
Created attachment 3427 [details]
Add LIMIT=1 where needed
Comment 12 Aaron Schulz 2007-04-09 15:08:31 UTC
Created attachment 3428 [details]
Fix typo
Comment 13 Aaron Schulz 2007-04-11 18:29:19 UTC
Created attachment 3436 [details]
Add lower bound
Comment 14 Aaron Schulz 2007-04-12 16:00:50 UTC
Created attachment 3437 [details]

Removed lower bound, caused issues with creating images/templates after
referencing them in text.
Comment 15 Aaron Schulz 2007-04-15 02:26:39 UTC
Created attachment 3445 [details]
Experimental use of logging to track moves
Comment 16 Aaron Schulz 2007-04-15 05:14:22 UTC
Created attachment 3446 [details]
Experimental use of logging to track moves
Comment 17 Aaron Schulz 2007-04-15 18:57:35 UTC
Created attachment 3447 [details]
Check if image version was deleted
Comment 18 Aaron Schulz 2007-04-15 18:59:04 UTC
Created attachment 3448 [details]
Check if image version was deleted

Fix typo
Comment 19 Aaron Schulz 2007-04-15 21:22:30 UTC
Created attachment 3450 [details]
Fix some bugs
Comment 20 Aaron Schulz 2007-04-15 23:49:38 UTC
Created attachment 3451 [details]
Comment 21 Aaron Schulz 2007-04-16 13:03:13 UTC
Created attachment 3452 [details]
Neaten this up some more
Comment 22 Aaron Schulz 2007-04-21 16:48:28 UTC
Created attachment 3482 [details]
Updated to svn

Previous patch conflicted by changes.
Comment 23 Aaron Schulz 2007-04-27 05:39:51 UTC
Created attachment 3535 [details]

Avoid use of unindexed fields.
Comment 24 Aaron Schulz 2007-05-23 13:14:31 UTC
As brion said, this is not possible.

However, individual revisions can be tagged and shown as they were at that time with some code changes. This will come with stable versions.
Comment 25 Mark Pellegrini 2011-02-03 09:51:30 UTC
Now that this has been sitting inactive for nearly 5 years, is there any chance of it being implemented?
Comment 26 Mark Pellegrini 2011-10-24 10:51:18 UTC
I just noticed that this is marked as resolved when it should not have been. This functionality still does not exist anywhere on the wiki itself or on the toolserver.
Comment 27 Sumana Harihareswara 2011-11-09 20:42:51 UTC
adding "patch" and "need-review" keywords with regards to Aaron's patches
Comment 28 Aaron Schulz 2011-11-09 21:03:35 UTC
(In reply to comment #27)
> adding "patch" and "need-review" keywords with regards to Aaron's patches

These would need a rewrite. You essentially need to have findTemplate and findFile hook handlers used when parsing. A getRevisionFromTimeframe and a getFileFromTimestamp would be needed. Tracking page moves is kind of difficult though as log_params isn't indexed for that...
Comment 29 Sam Reed (reedy) 2011-11-11 00:06:40 UTC
Marked as obsolete, -patch -need-review

Note You need to log in before you can comment on or make changes to this bug.