Page MenuHomePhabricator

when viewing an old version of a page, use old version of templates
Open, LowestPublicFeature


Author: gangleri

Dear friends,

I just want to drop a note both about showing an "old revision" in "history" and "comparing" two revisions.

In both cases the comparison is limited to the top level object. If templates are / where included neither "history" nor "comparison" will handle this or provide some additional links on the valid revision for that particular timestamp /those particular timestamps.

Regards Reinhardt

Version: 1.3.x
Severity: enhancement
See Also:



Related Objects

Resolved GWicke
Resolved GWicke
Resolved GWicke
Resolved GWicke
Resolved Jdouglas
Resolved GWicke
Resolved GWicke
Resolved GWicke
Resolved mobrovac
Resolved mobrovac
Resolved mobrovac
Resolved mobrovac
Duplicate Jdouglas
Resolved GWicke
Resolved GWicke
Resolved GWicke
Resolved mobrovac
Resolved GWicke

Event Timeline

bzimport raised the priority of this task from to Lowest.Nov 21 2014, 7:02 PM
bzimport set Reference to bz851.
bzimport added a subscriber: Unknown Object (MLST).

rowan.collins wrote:

  1. Please use a summary that *describes* (indeed, "summarises") the bug/enhancement.
  2. I'm knocking this down to P:Lowest, S:Enhancement, because although it would

be nice to view old revisions as they were at the time - perhaps this could
include the appropriate *image* versions as well - it wouldn't be very easy to
code. Not impossible: the database could be searched for a revision of each
template that was as close as possible to the revision of the "target" page
being viewed; this might be rather server-intensive, however; I'm not sure how
easy the DB schema makes it to retrieve a revision by date in this way.
I'm not so sure that having [any version of] templates show up in diffs is a
good idea though: the diff is of the source code, and the contents of templates
don't show up in templates, so having them show up in diffs would be a bit odd.

[I won't be at all surprised if someone decides to close this "WONTFIX" to cut
clutter, but I'll leave it for now.]

It would in fact be impossible with the current schema, as pages which
have been renamed or deleted could not be traced in a sensible way.

gangleri wrote:


Because of the new variable REVISIONID in CSV I would like to add some comments

The more general case showing "an exact copy of an old version" of a page could
not be achieved because of:

a) browsers change revisions
b) MediaWiki gets upgraded and changes configuration
c) Images might change
d) in category the membership could change

I noticed this especially if a category is now / was selfincluded in an old
version the "history" would show actual membership (defined by actual software).

I can live with this because this is was happens in the real world: everything

Maybe a MediaWiki message could briefly point this out, eventualy providing a
link to further explanations.

Best regards Reinhardt [[user:gangleri]]

gangleri wrote:

beside templates and items mentioned in comment 3 "changes" may relate to
different Monobook.css or Monobook.js (global or user related) settings

gangleri wrote:

addtion to comment 3

"an exact copy of an old version"

f) the colors of wiki links *always* refer to the *actual* existence (blue) /
nonexistence (red) of objects (and their implementation see )

gangleri wrote:

Thanks Brion. I agree. It is just a documentation issue. Regards Reinhardt

gangleri wrote:

This bug is CLOSED. Nevertheless please read comments at

Bug 4677: Provide a magic word NOCITE ; disable the "cite" links at redirects

  • Bug 14062 has been marked as a duplicate of this bug. ***
  • Bug 15180 has been marked as a duplicate of this bug. ***

see also bug 29050 Slip in more version information into rendered pages.

  • Bug 35066 has been marked as a duplicate of this bug. ***

From Bug 35066:

Suppose on June 2004, a user read the article "President of the United States",
and wanted to cite the information available on the graphical timeline which is
shown there.
The recommended way to do so, is to use a "permanent" link, like this:

It is not rare that the content of some tables, timelines, and so on are
defined inside of templates.
And this is exactly the case in the above example.
As you can verify, the timeline was added on this change:
which included the content of the first version of the timeline (dated from 27
June 2004):

Now, here is the problem: for someone which reads in 2012 the content of the
work which cited that old version of the article, the "permanent link" will
show a page from 2004 saying that Barack Obama would be president on 2009!
In other words, old version of the pages transcludes the newer version of the
templates, which makes the 2004 version of the article to contain the 2012
version of the timeline, not the one from 2004!

This behavior is bad not only for citations, but also for people trying to
navigate through old discussions.
E.g.: if someone is trying to understand why the formatting of some template
was changed, or how it evolved to its current form, it is possible he/she will
find a discussion in which at some point one editor transcluded the template
(when e.g. it had a red text somewhere), and the talk may be completely out of
context (because the current version has no red text at all).

(A similar and more difficult problem happens with magic words. E.g.:
shows the revision as of 11:32, 26 May 2009, but it has information which is
from 8 March 2012, such as the number of articles, and the software version.
But I don't think this one would be feasible, since the value of these things

depend a lot more on the state of the wiki database at a given time.)

For the record, there is an implementation of this for the Memento extension:

The flagged revision extension also records versions of all dependencies.

We plan to store fully expanded HTML which will also snapshot all dependencies. See bug 49143.

(In reply to Gabriel Wicke from comment #15)

The flagged revision extension also records versions of all dependencies.

We plan to store fully expanded HTML which will also snapshot all
dependencies. See bug 49143.

Would that also allow the Collection extension to fetch pages (included in a save book) as they were at a specific revision? If yes, someone please file a bug dependent from this; the feature was asked in 2009 already,

Would that also allow the Collection extension to fetch pages (included in a save book) as they were at a specific revision?

It could, but the limitation is that we currently only have these snapshots from now on forward. We don't have a good way to generate them for the past 'as it looked then'. There is probably code we could use to do that (the memento extension / patches come to mind), but it's invasive and not trivial.

Additionally, it would be necessary to use old versions of MediaWiki:Common.css and MediaWiki:Common.js and the relevant skin and group-specific files), or else you would end up with revsions from pre-2006 showing up with lots of unhelpful text shown in green boxes.

True, but getting the correct HTML in the first place would still be a good step.

Aklapper changed the subtype of this task from "Task" to "Feature Request".Feb 4 2022, 11:02 AM