jenkins-bot has submitted this change and it was merged.
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(-)
Approvals:
JanZerebecki: Looks good to me, approved
jenkins-bot: Verified
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: merged
Gerrit-Change-Id: I24799565dbac204a42b149906623b6ac753b7160
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: JanZerebecki <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: Springle <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits