Page MenuHomePhabricator

Supporting __STATICREDIRECT__
Closed, DuplicatePublic

Description

Author: swuensch

Description:
The magic word __STATICREDIRECT__ (see https://www.mediawiki.org/wiki/Help:Magic_words#Behavior_switches) should be used to accept interwikilinks to redirects. As these Redirects might be seen as articles.


Version: unspecified
Severity: enhancement
See Also: T54564: Allow sitelinks to redirect pages to fix the 'Bonnie and Clyde problem'

Details

Reference
bz40755

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 12:59 AM
bzimport set Reference to bz40755.
bzimport added a subscriber: Unknown Object (MLST).

Can you explain the use case a bit more? It is a bit unclear to me where this would be used. And also, do you have an example on one of the Wikipedias in the article namespace?

In Norwegian Clyde Barrow (http://no.wikipedia.org/wiki/Clyde_Barrow) is an article while in German Clyde Barrow (http://de.wikipedia.org/w/index.php?title=Clyde_Barrow&redirect=no) is a redirect. In the article Bonnie und Clyde (http://de.wikipedia.org/wiki/Bonnie_und_Clyde) information from the individual pages Bonnie Parker (http://de.wikipedia.org/w/index.php?title=Bonnie_Parker&redirect=no) and Clyde Barrow would then be referenced explicitly.

To me this seems like not following redirects will kill the 99% usecase in favor of the 1%. If we can add a flag to the query module to tell it not to move on to other pages if there is a STATICREDIRECT then it might work, but if it means parsing the page to check for this magic word then I'm against it.

Also note that the proposed use of STATICREDIRECT is slightly on the side of its ordinary use, ie.:

"On redirect pages, don't allow MediaWiki to automatically update the link when someone moves a page and checks "Update any redirects that point to the original title"."

Let me contribute my pet case for this issue: "Ryke Geerd Hamer" (Q1514187) is the inventor of "Germanische Neue Medizin" / "Germanic New Medicine" (Q4616621). No Wikipedia deems it worth to have a biography article plus an article for the method therefore there always exists one article and (at least) one redirect. The redirect is usually declared STATICREDIRECT since most wikipedias consider the difference between a person and a (his) topical concept grave enough to not egalize it by a plain redirect. However the actual choice of lemma is quite arbitrary, some take the person like http://en.wikipedia.org/wiki/Ryke_Geerd_Hamer with redirect from http://en.wikipedia.org/w/index.php?title=Germanic_New_Medicine&redirect=no and others take it the other way round, e.g http://de.wikipedia.org/w/index.php?title=Ryke_Geerd_Hamer&redirect=no (carrying authority data, persondata and categories reserved for persons) redirecting to a section http://de.wikipedia.org/wiki/Germanische_Neue_Medizin#Ryke_Geerd_Hamer.

At the moment the individual wikipedias allow (somehow, by redirects) to uphold a certain distinction between two concepts like "biological person Hamer" and "theory crafted by this person" and in theory it would have been possible to maintain two separate sets of interwiki links for both concepts (in practice I tried that but IW bots were too fast for me and on it.wp someone disapproved of creating the necessary redirect). On the other hand wikidata right now due to "knowing" the nature of redirects does not allow to add a redirect to one concept if the redirect's target is already added to the other concept (and vice versa, since redirects are automatically "resolved" on entry)

The discussion at [http://www.wikidata.org/wiki/Wikidata:Requests_for_comment/A_need_for_a_resolution_regarding_article_moves_and_redirects#Proposals] seems to be trending towards accepting links to redirects with restrictions on which redirects controlled bypolicies on wikidata rather than by hardcoded rules

Only sane implementation would be to add functionality to the ordinary API module we are using so it can be told to stop on a STATICREDIRECT.

Our call to normalize the pagename is in MediaWikiSite::normalizePageName which is in core/includes/site.

The actual call is to action=query&prop=info, and we need to add something like stoponstatic=true, but that does not exist yet.

This is not a trivial update as ApiPageSet must be updated to use more tables than 'page' to get to the page props 'staticredirect'. See for example ApiPageSet::initFromTitles and ApiPageSet::getPageTableFields.

(In reply to comment #4)
Unfortunately this specific example is not valid any more: After a deletion review on de:WP Article and Redirect were flipped, thus [[de:Ryke Geerd Hamer]] is an ordinary biography article and [[de:Germanische Neue Medizin]] an ordinary redirect (no additional data given and making this kind of redirect into a STATICREDIRECT would be unprecedented nit-picking.

OTOH this demonstrates that all wikipedias would have to implement much more rigorous policies with respect to STATICREDIRECTs in order to promote them to a means for wikidata to process these kind of "cross-category" redirects between distinguishable topics.

I can't see that this creates a more difficult situation than the present when it comes to merge/split operations, and it is in fact the simplest solution so far.

How is this different from bug 52564?

By the solution depicted here only certain redirects would qualify, namely those with a certain markup in theri home wikipedia. The above mentionend https://www.wikidata.org/wiki/Wikidata:Requests_for_comment/A_need_for_a_resolution_regarding_article_moves_and_redirects IMHO contains a more thorough discussion of the issue.

Ok I am going to mark this as a duplicate then to get down the number of bugs. It doesn't seem useful to keep both open.

  • This bug has been marked as a duplicate of bug 52564 ***