Last modified: 2014-03-17 14:39:11 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 T47534, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 45534 - remove external site links from langlinks table on client wikis
remove external site links from langlinks table on client wikis
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
WikidataClient (Other open bugs)
unspecified
All All
: High normal (vote)
: ---
Assigned To: Wikidata bugs
u=dev c=backend p=0
:
Depends on: 45535
Blocks: 41345 47159
  Show dependency treegraph
 
Reported: 2013-02-28 01:23 UTC by Daniel Kinzler
Modified: 2014-03-17 14:39 UTC (History)
8 users (show)

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


Attachments

Description Daniel Kinzler 2013-02-28 01:23:49 UTC
Currently, site links from the wikibase repository get added to the ParserOutput object when pages on the client wiki are parsed. This makes it impossible to distinguish between locally defined and external links, see 41345. It also requires re-parsing of the page when external links changed.

This should be improved using the following design:

* Introduce a wrapper class representing a page's language links, per default loading links from  the langlinks table. Skins should use that wrapper class to render the list of language links. The langlink table should never be used directly.
* WikibaseClient should hook into that wrapper class, merging in links from the repo's sitelinks table
* To do this, any noexternallanglink usage needs to be stored in the page_props table
* the LangLinks wrapper class needs to expose a generic flags field, that would also be reported by the API. WikibaseClient would use this field to mark links that come from the repo.
* The effective list of links for a page can be cached in memcached.

When a language link changes on the repository, the client should handle that change by 

1: invalidating the cached list of langlinks
2: purge cached version of the page from squids

The next time the page is requested, the effective list of links will be re-calculated
Comment 1 Betacommand 2013-04-17 17:39:45 UTC
What is noexternallanglink?
Comment 2 Kunal Mehta (Legoktm) 2013-04-17 18:18:50 UTC
(In reply to comment #1)
> What is noexternallanglink?

{{noexternallanglink}} is a magic word template thing you can use to prevent langlinks from Wikidata from showing up in the sidebar. Links embedded in the page text would be unaffected.

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


Navigation
Links