https://bugzilla.wikimedia.org/show_bug.cgi?id=39199

       Web browser: ---
             Bug #: 39199
           Summary: Resursive interwiki link handling should be possible
           Product: MediaWiki
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: General/Unknown
        AssignedTo: [email protected]
        ReportedBy: [email protected]
    Classification: Unclassified
   Mobile Platform: ---


Sometimes interwiki links like [[Wikipedia:fr:France]] are used.

This could be problematic when we start outputting hreflang on interwiki links.
[[Wikipedia:fr:France]] would end up with a hreflang="en" instead of the
correct hreflang="fr".

Additionally it would be much nicer to have direct hrefs. Besides looking saner
when the user hovers over the link it would also play much nicer with the
browser's :visited handling.

And it's not that unreasonable for someone to suggest "We should have a
sitename in the title/tooltip". In which case [[Wikipedia:fr:France]] becomes
"fr:France - Wikipedia" instead of the "France - Wikipédia" that we want.

----

Basically this means that after we've parsed out our interwiki we should
consider parsing out interwikis that other wikis use.

I manage to come up with an idea how this could be done for non-local wikis.

We handle this in multiple passes.
- The first time we see [[Wikipedia:fr:France]] when parsing an article we end
up outputting it the same way we do now as (Wikipedia, fr:France)
- Because an interwiki for a site we don't know any information about was used
a job is queued after parsing
- In the job we do an API fetch to the other wiki to get site info and the
wiki's local interwiki map and we store this info
- After this info is fetched we do refreshlinks jobs on the page(s) where
interwiki links to this wiki was used
- This second time around when parsing now that we've stored the interwiki map
we parse [[Wikipedia:fr:France]] as (Wikipedia:fr, France) now that we know
that Wikipedia: has a fr: inside of it's local interwiki map.

This is the way it would work for remote wikis. We might do the code for this a
little more abstractly. So that local cases that only require a sql lookup can
be handled. And so that cases like Wikia's custom [[w:c:foo:Bar]] can also be
handled by them implementing some extra code.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to