WikidataBuilder has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/233099

Change subject: New Wikidata Build - 2015-08-22T10:00:01+0000
......................................................................

New Wikidata Build - 2015-08-22T10:00:01+0000

Change-Id: I24799565dbac204a42b149906623b6ac753b7160
---
M composer.lock
M extensions/Wikibase/client/i18n/gsw.json
M extensions/Wikibase/client/i18n/sgs.json
M extensions/Wikibase/client/includes/Changes/ChangeHandler.php
M extensions/Wikibase/client/includes/InterwikiSorter.php
M extensions/Wikibase/lib/i18n/zh-hans.json
M extensions/Wikibase/repo/config/Wikibase.default.php
M extensions/Wikibase/repo/i18n/be-tarask.json
M extensions/Wikibase/repo/i18n/lt.json
M extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
M 
extensions/Wikibase/repo/includes/LinkedData/EntityDataSerializationService.php
M extensions/Wikibase/repo/includes/rdf/RdfVocabulary.php
M extensions/Wikibase/repo/includes/rdf/SimpleValueRdfBuilder.php
M extensions/Wikibase/repo/includes/rdf/SiteLinksRdfBuilder.php
M extensions/Wikibase/repo/includes/specials/SpecialEntityData.php
M extensions/Wikibase/repo/includes/store/sql/SqlStore.php
M extensions/Wikibase/repo/maintenance/dumpRdf.php
A extensions/Wikibase/repo/sql/MakeChangeInfoLarger.sql
M extensions/Wikibase/repo/sql/changes.sql
M extensions/Wikibase/repo/tests/phpunit/data/rdf/dump_entities.nt
M 
extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/rdf/RdfBuilderTestData.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
M 
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
M extensions/Wikibase/view/resources/wikibase/wikibase.css
M vendor/composer/installed.json
28 files changed, 161 insertions(+), 56 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata 
refs/changes/99/233099/1

diff --git a/composer.lock b/composer.lock
index 850ea9b..04b82ce 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1379,12 +1379,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4"
+                "reference": "96a75bfb43c806f433847715cba23733c8987b6f"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4";,
-                "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/96a75bfb43c806f433847715cba23733c8987b6f";,
+                "reference": "96a75bfb43c806f433847715cba23733c8987b6f",
                 "shasum": ""
             },
             "require": {
@@ -1453,7 +1453,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2015-08-21 06:15:22"
+            "time": "2015-08-21 19:00:55"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git a/extensions/Wikibase/client/i18n/gsw.json 
b/extensions/Wikibase/client/i18n/gsw.json
index 7891cd8..e06fc66 100644
--- a/extensions/Wikibase/client/i18n/gsw.json
+++ b/extensions/Wikibase/client/i18n/gsw.json
@@ -1,7 +1,8 @@
 {
        "@metadata": {
                "authors": [
-                       "Als-Holder"
+                       "Als-Holder",
+                       "J. 'mach' wust"
                ]
        },
        "wikibase-client-desc": "Macht e Client fir d Erwyterig Wikibase megli",
@@ -16,5 +17,7 @@
        "wikibase-rc-hide-wikidata-show": "aazeige",
        "wikibase-rc-wikibase-edit-letter": "D",
        "wikibase-rc-wikibase-edit-title": "{{WBREPONAME}}-Bearbeitig",
-       "wikibase-otherprojects": "Andri Projäkt"
+       "wikibase-otherprojects": "Andri Projäkt",
+       "wikibase-otherprojects-beta-message": "Syteleiste für anderi Projekt",
+       "wikibase-otherprojects-beta-description": "En Abschnitt 
«{{int:wikibase-otherprojects}}» chunt zur Syteleiste derzue. Är het Links zu 
anderne Wikimedia-Projekt, wo uf {{WBREPONAME}}-Date basiere."
 }
diff --git a/extensions/Wikibase/client/i18n/sgs.json 
b/extensions/Wikibase/client/i18n/sgs.json
index 9cdcd67..5797700 100644
--- a/extensions/Wikibase/client/i18n/sgs.json
+++ b/extensions/Wikibase/client/i18n/sgs.json
@@ -5,6 +5,7 @@
                ]
        },
        "wikibase-after-page-move-queued": "[$1 Vikidatas īrašos], sojongts so 
ton poslapio, tūjaus bus atnaujints autuomatėškā.",
+       "wikibase-after-page-delete-queued": "[$1 {{WBREPONAME}} īrašos], 
katros sosėjis so tuo straipsnio, patsā atsėnaujėna. Bat tas dielē kuokiū tās 
kliūtiū galiejė ė nenutiktė.",
        "wikibase-dataitem": "{{WBREPONAME}} īrašos",
        "wikibase-editlinks": "Keistė nūruodas",
        "wikibase-editlinkstitle": "Keistė terpkalbėnės nūruodas",
diff --git a/extensions/Wikibase/client/includes/Changes/ChangeHandler.php 
b/extensions/Wikibase/client/includes/Changes/ChangeHandler.php
index b75d5f0..5e0808a 100644
--- a/extensions/Wikibase/client/includes/Changes/ChangeHandler.php
+++ b/extensions/Wikibase/client/includes/Changes/ChangeHandler.php
@@ -158,14 +158,16 @@
                        . ' (' . $change->getType() . ')' );
 
                $usagesPerPage = 
$this->affectedPagesFinder->getAffectedUsagesByPage( $change );
+               // Warning, empty() does not work on ArrayIterator objects!
+               $count = count( $usagesPerPage );
 
-               if ( empty( $usagesPerPage ) ) {
+               if ( $count === 0 ) {
                        // nothing to do
                        wfDebugLog( __CLASS__, __FUNCTION__ . ": No pages to 
update for change #$changeId." );
                        return false;
                }
 
-               wfDebugLog( __CLASS__, __FUNCTION__ . ': updating ' . count( 
$usagesPerPage )
+               wfDebugLog( __CLASS__, __FUNCTION__ . ': updating ' . $count
                        . " page(s) for change #$changeId." );
 
                $actionBuckets = array();
diff --git a/extensions/Wikibase/client/includes/InterwikiSorter.php 
b/extensions/Wikibase/client/includes/InterwikiSorter.php
index 7a29085..7f95010 100644
--- a/extensions/Wikibase/client/includes/InterwikiSorter.php
+++ b/extensions/Wikibase/client/includes/InterwikiSorter.php
@@ -97,11 +97,11 @@
                        return 0;
                }
 
-               // If we encounter an unknown language, which may happen if the 
sort table is not updated, we move it to the bottom.
-               $a = array_key_exists( $a, $this->sortOrder ) ? 
$this->sortOrder[$a] : 999999;
-               $b = array_key_exists( $b, $this->sortOrder ) ? 
$this->sortOrder[$b] : 999999;
+               $aIndex = array_key_exists( $a, $this->sortOrder ) ? 
$this->sortOrder[$a] : null;
+               $bIndex = array_key_exists( $b, $this->sortOrder ) ? 
$this->sortOrder[$b] : null;
 
-               return ( $a > $b ) ? 1 : ( ( $a < $b ) ? -1: 0 );
+               // If we encounter an unknown language, which may happen if the 
sort table is not updated, we list it alphabetically.
+               return ( ( is_null( $aIndex ) || is_null( $bIndex ) ) ? strcmp( 
$a, $b ) : $aIndex - $bIndex );
        }
 
        /**
diff --git a/extensions/Wikibase/lib/i18n/zh-hans.json 
b/extensions/Wikibase/lib/i18n/zh-hans.json
index f2af603..008c744 100644
--- a/extensions/Wikibase/lib/i18n/zh-hans.json
+++ b/extensions/Wikibase/lib/i18n/zh-hans.json
@@ -85,13 +85,13 @@
        "wikibase-time-precision-annum": "公元$1年",
        "wikibase-time-precision-millennium": "$1千年",
        "wikibase-time-precision-century": "$1世纪",
-       "wikibase-time-precision-10annum": "$1",
+       "wikibase-time-precision-10annum": "$1年代",
        "wikibase-time-precision-BCE-Gannum": "公元前$1十亿年",
        "wikibase-time-precision-BCE-Mannum": "公元前$1百万年",
        "wikibase-time-precision-BCE-annum": "公元前$1年",
        "wikibase-time-precision-BCE-millennium": "公元前$1千年",
        "wikibase-time-precision-BCE-century": "公元前$1世纪",
-       "wikibase-time-precision-BCE-10annum": "公元前$1年",
+       "wikibase-time-precision-BCE-10annum": "公元前$1年代",
        "wikibase-snakformatter-valuetype-mismatch": "值类型“$1”不匹配属性类型“$2”。",
        "wikibase-snakformatter-property-not-found": "未找到属性$1,无法决定要使用的数据类型。"
 }
diff --git a/extensions/Wikibase/repo/config/Wikibase.default.php 
b/extensions/Wikibase/repo/config/Wikibase.default.php
index 9213b4b..2309e65 100644
--- a/extensions/Wikibase/repo/config/Wikibase.default.php
+++ b/extensions/Wikibase/repo/config/Wikibase.default.php
@@ -122,6 +122,19 @@
                // This is both a repo and client setting, and should be set to 
the same value in
                // repo and clients for multiwiki setups.
                'sharedCacheType' => $GLOBALS['wgMainCacheType'],
+
+               // Special non-canonical languages and their BCP 47 mappings
+               // Based on: 
https://meta.wikimedia.org/wiki/Special_language_codes
+               'canonicalLanguageCodes' => array(
+                               'simple'      => 'en-x-simple',
+                               'crh'         => 'crh-Latn',
+                               'cbk-zam'     => 'cbk-x-zam',
+                               'map-bms'     => 'jv-x-bms',
+                               'nrm'         => 'fr-x-nrm',
+                               'roa-tara'    => 'it-x-tara',
+                               'de-formal'   => 'de-x-formal',
+                               'nl-informal' => 'nl-x-informal',
+               ),
        );
 
        return $defaults;
diff --git a/extensions/Wikibase/repo/i18n/be-tarask.json 
b/extensions/Wikibase/repo/i18n/be-tarask.json
index 4a5987c..9496ba7 100644
--- a/extensions/Wikibase/repo/i18n/be-tarask.json
+++ b/extensions/Wikibase/repo/i18n/be-tarask.json
@@ -31,6 +31,7 @@
        "wikibase-description-empty": "Апісаньне ня вызначанае",
        "wikibase-description-edit-placeholder": "увядзіце апісаньне",
        "wikibase-description-edit-placeholder-language-aware": "увядзіце 
апісаньне мовай: $1",
+       "wikibase-aliases-edit-placeholder-language-aware": "увядзіце сынонімы 
мовай: $1",
        "wikibase-diffview-reference": "крыніца",
        "wikibase-diffview-rank": "ранг",
        "wikibase-diffview-rank-preferred": "Прыярытэтны ранг",
diff --git a/extensions/Wikibase/repo/i18n/lt.json 
b/extensions/Wikibase/repo/i18n/lt.json
index 3606995..0c30d8d 100644
--- a/extensions/Wikibase/repo/i18n/lt.json
+++ b/extensions/Wikibase/repo/i18n/lt.json
@@ -123,7 +123,7 @@
        "wikibase-itembytitle-error-site": "Prašome naudoti egzistuojančio 
tinklapio identifikatorių, pva. \"enwiki\" angliškai Vikipedijai.",
        "wikibase-itembytitle-error-item": "Elementas, nukreipiantis į 
pateiktąjį puslapį, nebuvo rastas.",
        "wikibase-itembytitle-create": "Taip pat galite [$1 sukurti įrašą]",
-       "wikibase-itembytitle-summary": "Ypatingas atvejis:ItemByTitle yra 
naudojamas, kad atverstos svetainės puslapyje surastų atitinkamą elementą. <br 
/> Kairiajame laukelyje, \"Site:\", galite įvesti kalbos ir svetainės kodą. <br 
/> Dešiniajame laukelyje, \"Page:\", turite įvesti tikslų puslapio pavadinimą, 
kaip jis atrodo atverstoje svetainėje.",
+       "wikibase-itembytitle-summary": "Special:ItemByTitle yra naudojamas, 
kad atverstos svetainės puslapyje surastų atitinkamą elementą. <br /> Pirmajame 
laukelyje, \"Site:\", galite įvesti kalbos ir svetainės kodą. <br /> Antrajame 
laukelyje, \"Page:\", turite įvesti tikslų puslapio pavadinimą, kaip jis atrodo 
atverstoje svetainėje.",
        "special-gotolinkedpage": "Eiti į susietą puslapį",
        "wikibase-gotolinkedpage-lookup-fieldset": "Eiti į susietą puslapį 
pagal svetainę ir įrašą",
        "wikibase-gotolinkedpage-lookup-site": "Svetainė:",
@@ -502,12 +502,12 @@
        "apihelp-wbmergeitems-example-3": "Apjungia duomenis iš Q66 į Q99, 
ignoruojant visas konfliktuojančias žymes",
        "apihelp-wbmergeitems-example-4": "Apjungia duomenis iš Q66 į Q99, 
ignoruojant visas konfliktuojančias žymes ir aprašymus",
        "apihelp-wbparsevalue-description": "Apdoroja reikšmes, naudojant 
ValueParser.",
-       "apihelp-wbparsevalue-param-parser": "ID ValueParser, kurį naudoti",
+       "apihelp-wbparsevalue-param-parser": "ID priklausantis ValueParser, 
kurį naudoti. <span class=\"apihelp-deprecated\">Nebenaudotinas</span>. 
Naudokite duomenų tipo parametrą vietoje šio.",
        "apihelp-wbparsevalue-param-datatype": "Duomenų tipas reikšmės, kurią 
išanalizuoti. Nustato, kurį analizatorių naudoti.",
        "apihelp-wbparsevalue-param-values": "Reikšmė, kurią apdoroti",
        "apihelp-wbparsevalue-param-options": "Parinktys, kurias analizatorius 
turėtų naudoti. Pateikiamos kaip JSON objektas.",
        "apihelp-wbparsevalue-example-1": "Konvertuoti paprastą simbolių eilutę 
į StringValue objektą.",
-       "apihelp-wbparsevalue-example-2": "Apdoroja 1994-02-08 į datos formatą 
su tikslumu 9 (metai).",
+       "apihelp-wbparsevalue-example-2": "Apdoroja 1994-02-08 į TimeValue 
objektą su tikslumu 9 (metai).",
        "apihelp-wbparsevalue-example-3": "Konvertuoti 1994-02-08 į TimeValue 
objektą su 14 (sekundžių) tikslumu ir su įgalintu validavimu, ko pasekoje 
validavimas nepavyksta.",
        "apihelp-wbremoveclaims-description": "Pašalina Wikibase priekaištus.",
        "apihelp-wbremoveclaims-param-claim": "Vienas GUID arba daugiau 
(vertikaliais brūkšniais atskirtų) GUID identifikuojančių priekaištus, kuriuos 
pašalinti.\nVisi priekaištai turi priklausyti tai pačiai esybei.",
diff --git a/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php 
b/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
index 991ce9d..645fb38 100644
--- a/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
+++ b/extensions/Wikibase/repo/includes/Dumpers/RdfDumpGenerator.php
@@ -159,6 +159,7 @@
         * @param EntityRevisionLookup $entityRevisionLookup
         * @param PropertyDataTypeLookup $propertyLookup
         * @param EntityPrefetcher $entityPrefetcher
+        * @param array $languageCodes
         *
         * @return RdfDumpGenerator
         * @throws MWException
@@ -171,7 +172,8 @@
                        SiteList $sites,
                        EntityRevisionLookup $entityRevisionLookup,
                        PropertyDataTypeLookup $propertyLookup,
-                       EntityPrefetcher $entityPrefetcher
+                       EntityPrefetcher $entityPrefetcher,
+                       array $languageCodes
        ) {
                $rdfWriter = self::getRdfWriter( $format );
                if ( !$rdfWriter ) {
@@ -184,7 +186,7 @@
 
                $rdfBuilder = new RdfBuilder(
                        $sites,
-                       new RdfVocabulary( $baseUri, $dataUri ),
+                       new RdfVocabulary( $baseUri, $dataUri, $languageCodes ),
                        $propertyLookup,
                        $flavor,
                        $rdfWriter,
diff --git 
a/extensions/Wikibase/repo/includes/LinkedData/EntityDataSerializationService.php
 
b/extensions/Wikibase/repo/includes/LinkedData/EntityDataSerializationService.php
index 0dad82c..6ea6aa0 100644
--- 
a/extensions/Wikibase/repo/includes/LinkedData/EntityDataSerializationService.php
+++ 
b/extensions/Wikibase/repo/includes/LinkedData/EntityDataSerializationService.php
@@ -111,6 +111,11 @@
        private $siteStore;
 
        /**
+        * @var array
+        */
+       private $languageCodes;
+
+       /**
         * @param string $rdfBaseURI
         * @param string $rdfDataURI
         * @param EntityLookup $entityLookup
@@ -132,7 +137,8 @@
                SiteList $sites,
                EntityDataFormatProvider $entityDataFormatProvider,
                SerializerFactory $serializerFactory,
-               SiteStore $siteStore
+               SiteStore $siteStore,
+               array $languageCodes
        ) {
                $this->rdfBaseURI = $rdfBaseURI;
                $this->rdfDataURI = $rdfDataURI;
@@ -143,6 +149,7 @@
                $this->sites = $sites;
                $this->entityDataFormatProvider = $entityDataFormatProvider;
                $this->siteStore = $siteStore;
+               $this->languageCodes = $languageCodes;
 
                $this->rdfWriterFactory = new RdfWriterFactory();
        }
@@ -415,7 +422,7 @@
 
                $rdfBuilder = new RdfBuilder(
                        $this->sites,
-                       new RdfVocabulary( $this->rdfBaseURI, $this->rdfDataURI 
),
+                       new RdfVocabulary( $this->rdfBaseURI, 
$this->rdfDataURI, $this->languageCodes ),
                        $this->propertyLookup,
                        $this->getFlavor( $flavorName ),
                        $rdfWriter,
diff --git a/extensions/Wikibase/repo/includes/rdf/RdfVocabulary.php 
b/extensions/Wikibase/repo/includes/rdf/RdfVocabulary.php
index 7e59403..6e88bc6 100644
--- a/extensions/Wikibase/repo/includes/rdf/RdfVocabulary.php
+++ b/extensions/Wikibase/repo/includes/rdf/RdfVocabulary.php
@@ -97,12 +97,24 @@
         * @var string
         */
        private $dataUri;
+       /**
+        * Mapping of non-standard language codes to standard equivalents
+        * @var array
+        */
+       private $canonicalLanguageCodes;
+
+       /**
+        * Cached language code resolutions
+        * @var array
+        */
+       private static $canonicalLanguageCache = array();
 
        /**
         * @param string $baseUri Base URI for entity concept URIs.
         * @param string $dataUri Base URI for entity description URIs.
+        * @param array $canonicalLanguageCodes Mapping from internal language 
codes to canonical language codes
         */
-       public function __construct( $baseUri, $dataUri ) {
+       public function __construct( $baseUri, $dataUri, array 
$canonicalLanguageCodes = array() ) {
                $this->baseUri = $baseUri;
                $this->dataUri = $dataUri;
 
@@ -143,6 +155,8 @@
                                self::NS_GEO => self::GEO_URI,
                                self::NS_PROV => self::PROV_URI,
                );
+
+               $this->canonicalLanguageCodes = $canonicalLanguageCodes;
        }
 
        /**
@@ -221,4 +235,25 @@
                return self::COMMONS_URI . rawurlencode( $file );
        }
 
+       /**
+        * Return canonical language code from internal Wikibase one
+        * @param string $langName
+        * @return string
+        */
+       public function getCanonicalLanguage( $langName ) {
+               // First we check the case since most languages will be cached 
very quickly
+               if ( isset(self::$canonicalLanguageCache[$langName]) ) {
+                       return self::$canonicalLanguageCache[$langName];
+               }
+
+               // Wikibase list goes first in case we want to override
+               // Like "simple" goes to en-x-simple not en
+               if ( !empty($this->canonicalLanguageCodes[$langName]) ) {
+                       return $this->canonicalLanguageCodes[$langName];
+               }
+
+               self::$canonicalLanguageCache[$langName] = wfBCP47( $langName );
+               return self::$canonicalLanguageCache[$langName];
+       }
+
 }
diff --git a/extensions/Wikibase/repo/includes/rdf/SimpleValueRdfBuilder.php 
b/extensions/Wikibase/repo/includes/rdf/SimpleValueRdfBuilder.php
index bdd5340..326ddb4 100644
--- a/extensions/Wikibase/repo/includes/rdf/SimpleValueRdfBuilder.php
+++ b/extensions/Wikibase/repo/includes/rdf/SimpleValueRdfBuilder.php
@@ -262,7 +262,8 @@
                $dataType,
                MonolingualTextValue $value
        ) {
-               $writer->say( $propertyValueNamespace, $propertyValueLName 
)->text( $value->getText(), $value->getLanguageCode() );
+               $writer->say( $propertyValueNamespace, $propertyValueLName 
)->text( $value->getText(),
+                               $this->vocabulary->getCanonicalLanguage( 
$value->getLanguageCode() ) );
        }
 
        /**
diff --git a/extensions/Wikibase/repo/includes/rdf/SiteLinksRdfBuilder.php 
b/extensions/Wikibase/repo/includes/rdf/SiteLinksRdfBuilder.php
index d5f8be1..154eadc 100644
--- a/extensions/Wikibase/repo/includes/rdf/SiteLinksRdfBuilder.php
+++ b/extensions/Wikibase/repo/includes/rdf/SiteLinksRdfBuilder.php
@@ -94,7 +94,8 @@
                        $this->writer->about( $url )
                                ->a( RdfVocabulary::NS_SCHEMA_ORG, 'Article' )
                                ->say( RdfVocabulary::NS_SCHEMA_ORG, 'about' 
)->is( RdfVocabulary::NS_ENTITY, $entityLName )
-                               ->say( RdfVocabulary::NS_SCHEMA_ORG, 
'inLanguage' )->text( $site->getLanguageCode() );
+                               ->say( RdfVocabulary::NS_SCHEMA_ORG, 
'inLanguage' )->text(
+                                               
$this->vocabulary->getCanonicalLanguage( $site->getLanguageCode() ) );
 
                        foreach ( $siteLink->getBadges() as $badge ) {
                                $this->writer
diff --git a/extensions/Wikibase/repo/includes/specials/SpecialEntityData.php 
b/extensions/Wikibase/repo/includes/specials/SpecialEntityData.php
index 4be8383..0e88f5e 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialEntityData.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialEntityData.php
@@ -87,6 +87,11 @@
                        
SerializerFactory::OPTION_SERIALIZE_REFERENCE_SNAKS_WITHOUT_HASH
                );
 
+               $languageCodes = array_merge(
+                               $GLOBALS['wgDummyLanguageCodes'],
+                               $wikibaseRepo->getSettings()->getSetting( 
'canonicalLanguageCodes' )
+               );
+
                $serializationService = new EntityDataSerializationService(
                        $wikibaseRepo->getSettings()->getSetting( 
'conceptBaseUri' ),
                        $this->getPageTitle()->getCanonicalURL() . '/',
@@ -96,7 +101,8 @@
                        $wikibaseRepo->getSiteStore()->getSites(),
                        $entityDataFormatProvider,
                        $serializerFactory,
-                       $wikibaseRepo->getSiteStore()
+                       $wikibaseRepo->getSiteStore(),
+                       $languageCodes
                );
 
                $maxAge = $wikibaseRepo->getSettings()->getSetting( 
'dataSquidMaxage' );
diff --git a/extensions/Wikibase/repo/includes/store/sql/SqlStore.php 
b/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
index 1f202e8..3385c86 100644
--- a/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
+++ b/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
@@ -251,6 +251,8 @@
        /**
         * Updates the schema of the SQL store to it's latest version.
         *
+        * @TODO: Make this a separatec class!
+        *
         * @since 0.1
         *
         * @param DatabaseUpdater $updater
@@ -275,8 +277,40 @@
 
                $this->updateEntityPerPageTable( $updater, $db );
                $this->updateTermsTable( $updater, $db );
+               $this->updateItemsPerSiteTable( $updater, $db );
+               $this->updateChangesTable( $updater, $db );
 
                $this->registerPropertyInfoTableUpdates( $updater );
+       }
+
+       /**
+        * @param DatabaseUpdater $updater
+        */
+       private function updateItemsPerSiteTable( DatabaseUpdater $updater, 
DatabaseBase $db ) {
+               // Make wb_items_per_site.ips_site_page VARCHAR(310) - T99459
+               // NOTE: this update doesn't work on SQLite, but it's not 
needed there anyway.
+               if ( $db->getType() !== 'sqlite' ) {
+                       $updater->modifyExtensionField(
+                               'wb_items_per_site',
+                               'ips_site_page',
+                               $this->getUpdateScriptPath( 
'MakeIpsSitePageLarger', $db->getType() )
+                       );
+               }
+       }
+
+       /**
+        * @param DatabaseUpdater $updater
+        */
+       private function updateChangesTable( DatabaseUpdater $updater, 
DatabaseBase $db ) {
+               // Make wb_changes.change_info MEDIUMBLOB - T108246
+               // NOTE: this update doesn't work on SQLite, but it's not 
needed there anyway.
+               if ( $db->getType() !== 'sqlite' ) {
+                       $updater->modifyExtensionField(
+                               'wb_changes',
+                               'change_info',
+                               $this->getUpdateScriptPath( 
'MakeChangeInfoLarger', $db->getType() )
+                       );
+               }
        }
 
        private function registerPropertyInfoTableUpdates( DatabaseUpdater 
$updater ) {
@@ -475,16 +509,6 @@
                        'term_search',
                        $this->getUpdateScriptPath( 'UpdateTermIndexes', 
$db->getType() )
                );
-
-               // Make wb_items_per_site.ips_site_page VARCHAR(310) - T99459
-               // NOTE: this update doesn't work on SQLite, but it's not 
needed there anyway.
-               if ( $db->getType() !== 'sqlite' ) {
-                       $updater->modifyExtensionField(
-                               'wb_items_per_site',
-                               'ips_site_page',
-                               $this->getUpdateScriptPath( 
'MakeIpsSitePageLarger', $db->getType() )
-                       );
-               }
        }
 
        /**
diff --git a/extensions/Wikibase/repo/maintenance/dumpRdf.php 
b/extensions/Wikibase/repo/maintenance/dumpRdf.php
index e6b4ff8..db6454e 100644
--- a/extensions/Wikibase/repo/maintenance/dumpRdf.php
+++ b/extensions/Wikibase/repo/maintenance/dumpRdf.php
@@ -102,6 +102,11 @@
        protected function createDumper( $output ) {
                $entityDataTitle = Title::makeTitle( NS_SPECIAL, 'EntityData' );
 
+               $languageCodes = array_merge(
+                               $GLOBALS['wgDummyLanguageCodes'],
+                               
WikibaseRepo::getDefaultInstance()->getSettings()->getSetting( 
'canonicalLanguageCodes' )
+               );
+
                return RdfDumpGenerator::createDumpGenerator(
                        $this->getOption( 'format', 'ttl' ),
                        $output,
@@ -110,7 +115,8 @@
                        $this->siteStore->getSites(),
                        $this->revisionLookup,
                        $this->propertyDatatypeLookup,
-                       $this->entityPrefetcher
+                       $this->entityPrefetcher,
+                       $languageCodes
                );
        }
 
diff --git a/extensions/Wikibase/repo/sql/MakeChangeInfoLarger.sql 
b/extensions/Wikibase/repo/sql/MakeChangeInfoLarger.sql
new file mode 100644
index 0000000..8b062ca
--- /dev/null
+++ b/extensions/Wikibase/repo/sql/MakeChangeInfoLarger.sql
@@ -0,0 +1,4 @@
+-- Update wb_changes.change_info to MEDIUMBLOB - T108246
+
+ALTER TABLE /*_*/wb_changes
+MODIFY change_info MEDIUMBLOB NOT NULL;
diff --git a/extensions/Wikibase/repo/sql/changes.sql 
b/extensions/Wikibase/repo/sql/changes.sql
index 0b0c6cd..be8be7b 100644
--- a/extensions/Wikibase/repo/sql/changes.sql
+++ b/extensions/Wikibase/repo/sql/changes.sql
@@ -11,11 +11,11 @@
   change_object_id           varbinary(14)       NOT NULL, -- The full id of 
the object (ie item, query) the change affects
   change_revision_id         INT unsigned        NOT NULL, -- The id of the 
revision on the repo that made the change
   change_user_id             INT unsigned        NOT NULL, -- The id of the 
user on the repo that made the change
-  change_info                BLOB                NOT NULL -- Holds additional 
info about the change, inc diff and stuff
+  change_info                MEDIUMBLOB          NOT NULL -- Holds additional 
info about the change, inc diff and stuff
 ) /*$wgDBTableOptions*/;
 
 CREATE INDEX /*i*/wb_changes_change_type ON /*_*/wb_changes (change_type);
 CREATE INDEX /*i*/wb_changes_change_time ON /*_*/wb_changes (change_time);
 CREATE INDEX /*i*/wb_changes_change_object_id ON /*_*/wb_changes 
(change_object_id);
 CREATE INDEX /*i*/wb_changes_change_user_id ON /*_*/wb_changes 
(change_user_id);
-CREATE INDEX /*i*/wb_changes_change_revision_id ON /*_*/wb_changes 
(change_revision_id);
\ No newline at end of file
+CREATE INDEX /*i*/wb_changes_change_revision_id ON /*_*/wb_changes 
(change_revision_id);
diff --git a/extensions/Wikibase/repo/tests/phpunit/data/rdf/dump_entities.nt 
b/extensions/Wikibase/repo/tests/phpunit/data/rdf/dump_entities.nt
index 811a036..0e7a732 100644
--- a/extensions/Wikibase/repo/tests/phpunit/data/rdf/dump_entities.nt
+++ b/extensions/Wikibase/repo/tests/phpunit/data/rdf/dump_entities.nt
@@ -15,7 +15,7 @@
 <http://data.acme.test/Q30> <http://schema.org/version> 
"12"^^<http://www.w3.org/2001/XMLSchema#integer> .
 <http://data.acme.test/Q30> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://schema.org/Dataset> .
 <http://test.acme.test/Foo> <http://schema.org/about> <http://acme.test/Q30> .
-<http://test.acme.test/Foo> <http://schema.org/inLanguage> "test" .
+<http://test.acme.test/Foo> <http://schema.org/inLanguage> "en-x-test" .
 <http://test.acme.test/Foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://schema.org/Article> .
 <http://wikiba.se/ontology-beta#Dump> <http://creativecommons.org/ns#license> 
<http://creativecommons.org/publicdomain/zero/1.0/> .
 <http://wikiba.se/ontology-beta#Dump> <http://schema.org/dateModified> 
"1970-01-12T13:46:40Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
index 31fb8f1..23a5699 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/Dumpers/RdfDumpGeneratorTest.php
@@ -109,7 +109,8 @@
                        $this->getSiteList(),
                        $entityRevisionLookup,
                        $propertyLookup,
-                       new NullEntityPrefetcher()
+                       new NullEntityPrefetcher(),
+                       array('test' => 'en-x-test')
                );
        }
 
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
index 4950392..60b5f70 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
@@ -102,7 +102,8 @@
                        new SiteList(),
                        $entityDataFormatProvider,
                        $serializerFactory,
-                       new MockSiteStore()
+                       new MockSiteStore(),
+                       array('test' => 'en-x-test')
                );
 
                $entityDataFormatProvider->setFormatWhiteList(
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
index 18a70f0..a4ce310 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
@@ -111,7 +111,8 @@
                        new SiteList(),
                        new EntityDataFormatProvider(),
                        $serializerFactory,
-                       new MockSiteStore()
+                       new MockSiteStore(),
+                       array("test" => "en-x-test")
                );
 
                return $service;
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/rdf/RdfBuilderTestData.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/rdf/RdfBuilderTestData.php
index 35d92b9..69db98e 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/rdf/RdfBuilderTestData.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/rdf/RdfBuilderTestData.php
@@ -134,7 +134,7 @@
         * @return RdfVocabulary
         */
        public function getVocabulary() {
-               return new RdfVocabulary( self::URI_BASE, self::URI_DATA );
+               return new RdfVocabulary( self::URI_BASE, self::URI_DATA, 
array("test" => "en-x-test") );
        }
 
        /**
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
index 5f79dfd..d1e8619 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
@@ -80,7 +80,8 @@
                        new SiteList(),
                        $entityDataFormatProvider,
                        $serializerFactory,
-                       new MockSiteStore()
+                       new MockSiteStore(),
+                       array('test' => 'en-x-test')
                );
 
                $maxAge = 60*60;
diff --git 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
index 2511b23..13519d6 100644
--- 
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
+++ 
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.entityselector.js
@@ -102,12 +102,6 @@
        },
 
        /**
-        * @property {number}
-        * @private
-        */
-       _searchTimeoutHandle: null,
-
-       /**
         * Caching the most current entity returned from the API.
         * @property {Object}
         * @private
@@ -180,8 +174,8 @@
                this._cache = {};
                this._select( null );
 
-               clearTimeout( this._searchTimeoutHandle );
-               this._searchTimeoutHandle = setTimeout( function() {
+               clearTimeout( this._searching );
+               this._searching = setTimeout( function() {
                        self.search( event )
                        .done( function( suggestions, requestTerm ) {
                                if( !suggestions.length || self.element.val() 
!== requestTerm ) {
diff --git a/extensions/Wikibase/view/resources/wikibase/wikibase.css 
b/extensions/Wikibase/view/resources/wikibase/wikibase.css
index 6447e6e..e440dcc 100644
--- a/extensions/Wikibase/view/resources/wikibase/wikibase.css
+++ b/extensions/Wikibase/view/resources/wikibase/wikibase.css
@@ -17,6 +17,7 @@
        color: grey;
        font-size: 0.6em;
        margin-left: 0.4em;
+       unicode-bidi: embed;
 }
 
 h1 .wikibase-title .wikibase-title-id:before {
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index bb445c6..4d00148 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1272,12 +1272,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4"
+            "reference": "96a75bfb43c806f433847715cba23733c8987b6f"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4";,
-            "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/96a75bfb43c806f433847715cba23733c8987b6f";,
+            "reference": "96a75bfb43c806f433847715cba23733c8987b6f",
             "shasum": ""
         },
         "require": {
@@ -1308,7 +1308,7 @@
         "require-dev": {
             "squizlabs/php_codesniffer": "~2.1"
         },
-        "time": "2015-08-21 06:15:22",
+        "time": "2015-08-21 19:00:55",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

-- 
To view, visit https://gerrit.wikimedia.org/r/233099
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I24799565dbac204a42b149906623b6ac753b7160
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to