Nikola Smolenski wrote:
How about a more generalised, more wiki solution?
Instead of "licensing" table, use "revisionlinks" table that would
track what
revision of a page was linking to what revision of another page.
rl_from: revision that is linking
rl_from_page: page in which the revision was included
rl_to: revision that is being linked to
rl_to_page: page that is being linked to
rl_type: template, category, article...
You could then use this to find what revision of a template was linked by what
revision of a page. If used for a license template, this would effectively
track licenses.
If this would be too database intensive, it could be used only for some pages
(for example, only those with a specific magic word).
This is a complete overkill. And you can't even be sure that it is
consistent. Page A includes {{GFDL}}, to which [[Image:Goatse]] is added
(and reverted 5 seconds later). That would mean Page B (and thousands
more) should have an entry in your table for Goatse. In fact, that won't
appear.
I see the benefit for marking some pages as "record anything that ever
links here" but then you start getting requests for listing revisions
older than the date on which the revision was tagged as such.
I'm not even sure why we would want to keep the licensing per revision
in such case*. If it's added via templates/links, then the history can
be seen in the page and also the licensing.
You would only want to track which templates are licenses (that's what
some toolserver projects already do). That would certainly be a much
easier goal than what Dan proposed.
Even with licensing information in a separate table, when could keep
them per page, and add dummy revisions where needed.