Aude has uploaded a new change for review.
https://gerrit.wikimedia.org/r/324896
Change subject: New Wikidata build - 2016-12-02
......................................................................
New Wikidata build - 2016-12-02
Change-Id: If8836322db04a10eabe73205240fdf3fcb345be1
---
M composer.lock
M extensions/ArticlePlaceholder/includes/ItemNotabilityFilter.php
M extensions/ArticlePlaceholder/includes/SearchHookHandler.php
M
extensions/ArticlePlaceholder/tests/phpunit/includes/ItemNotabilityFilterTest.php
M extensions/PropertySuggester/PropertySuggester.php
M extensions/PropertySuggester/PropertySuggesterHooks.php
M extensions/PropertySuggester/README.md
A extensions/PropertySuggester/i18n/pl.json
M extensions/PropertySuggester/src/PropertySuggester/ResultBuilder.php
M extensions/PropertySuggester/src/PropertySuggester/SuggestionGenerator.php
M
extensions/PropertySuggester/src/PropertySuggester/UpdateTable/Importer/BasicImporter.php
M
extensions/PropertySuggester/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php
M extensions/Wikibase/client/WikibaseClient.i18n.alias.php
M
extensions/Wikibase/client/includes/RecentChanges/RecentChangesDuplicateDetector.php
M extensions/Wikibase/client/includes/Specials/SpecialEntityUsage.php
M extensions/Wikibase/client/includes/Specials/SpecialPagesWithBadges.php
M extensions/Wikibase/client/includes/Store/Sql/BulkSubscriptionUpdater.php
D
extensions/Wikibase/client/includes/Store/Sql/ConsistentReadConnectionManager.php
M extensions/Wikibase/client/includes/Store/Sql/DirectSqlStore.php
M extensions/Wikibase/client/includes/Usage/Sql/SqlSubscriptionManager.php
M extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
M extensions/Wikibase/client/maintenance/updateSubscriptions.php
M
extensions/Wikibase/client/tests/phpunit/includes/RecentChanges/RecentChangesDuplicateDetectorTest.php
M
extensions/Wikibase/client/tests/phpunit/includes/Specials/SpecialPagesWithBadgesTest.php
M
extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/BulkSubscriptionUpdaterTest.php
D
extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/ConsistentReadConnectionManagerTest.php
M
extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlSubscriptionManagerTest.php
M
extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlUsageTrackerTest.php
A extensions/Wikibase/lib/includes/Store/PropertyInfoLookup.php
M extensions/Wikibase/lib/includes/Store/PropertyInfoStore.php
D extensions/Wikibase/repo/tests/browser
A extensions/Wikibase/repo/tests/browser
M
extensions/Wikibase/view/resources/jquery/wikibase/toolbar/jquery.wikibase.toolbar.js
M
extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbar.css
M
extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbarbutton.css
M
extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbaritem.css
M vendor/composer/LICENSE
M vendor/composer/autoload_classmap.php
M vendor/composer/installed.json
39 files changed, 378 insertions(+), 621 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata
refs/changes/96/324896/1
diff --git a/composer.lock b/composer.lock
index 07d62f6..46bcaba 100644
--- a/composer.lock
+++ b/composer.lock
@@ -797,12 +797,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git",
- "reference": "197aabc07ea2f998079b0268c6b56eb2947a0269"
+ "reference": "a1885b4f47445d8a1b40d113b623f98c3005b08b"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/197aabc07ea2f998079b0268c6b56eb2947a0269",
- "reference": "197aabc07ea2f998079b0268c6b56eb2947a0269",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/a1885b4f47445d8a1b40d113b623f98c3005b08b",
+ "reference": "a1885b4f47445d8a1b40d113b623f98c3005b08b",
"shasum": ""
},
"require-dev": {
@@ -827,20 +827,20 @@
],
"description": "Provides a special page with Wikibase information
about a certain topic, with invitation to create an article for the topic",
"homepage":
"https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder",
- "time": "2016-11-30 14:30:13"
+ "time": "2016-12-02 10:49:13"
},
{
"name": "propertysuggester/property-suggester",
- "version": "3.1.4",
+ "version": "3.1.5",
"source": {
"type": "git",
"url": "https://github.com/Wikidata-lib/PropertySuggester.git",
- "reference": "793390f84e180097f0511aa2b09dacd50168dfa3"
+ "reference": "bb0e4afdaa5e8d472c61259d0d2d57688d1159a0"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/Wikidata-lib/PropertySuggester/zipball/793390f84e180097f0511aa2b09dacd50168dfa3",
- "reference": "793390f84e180097f0511aa2b09dacd50168dfa3",
+ "url":
"https://api.github.com/repos/Wikidata-lib/PropertySuggester/zipball/bb0e4afdaa5e8d472c61259d0d2d57688d1159a0",
+ "reference": "bb0e4afdaa5e8d472c61259d0d2d57688d1159a0",
"shasum": ""
},
"require": {
@@ -874,7 +874,7 @@
"wikibase",
"wikidata"
],
- "time": "2016-10-03 12:42:20"
+ "time": "2016-12-02 12:39:32"
},
{
"name": "serialization/serialization",
@@ -1585,12 +1585,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "fac6549d01e069a7b86f8bc59d2e55bc61f6410a"
+ "reference": "32deb99363d0c228f2d74400c71d117643dd0bad"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/fac6549d01e069a7b86f8bc59d2e55bc61f6410a",
- "reference": "fac6549d01e069a7b86f8bc59d2e55bc61f6410a",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/32deb99363d0c228f2d74400c71d117643dd0bad",
+ "reference": "32deb99363d0c228f2d74400c71d117643dd0bad",
"shasum": ""
},
"require": {
@@ -1662,7 +1662,7 @@
"wikibaserepo",
"wikidata"
],
- "time": "2016-11-30 21:22:39"
+ "time": "2016-12-02 10:49:32"
},
{
"name": "wikibase/wikimedia-badges",
diff --git a/extensions/ArticlePlaceholder/includes/ItemNotabilityFilter.php
b/extensions/ArticlePlaceholder/includes/ItemNotabilityFilter.php
index 68291f1..8034796 100644
--- a/extensions/ArticlePlaceholder/includes/ItemNotabilityFilter.php
+++ b/extensions/ArticlePlaceholder/includes/ItemNotabilityFilter.php
@@ -4,10 +4,10 @@
use Database;
use ResultWrapper;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\Lib\Store\EntityNamespaceLookup;
use Wikibase\Lib\Store\SiteLinkLookup;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
/**
* Filter a list of items by article placeholder notability.
@@ -30,7 +30,7 @@
const MIN_SITELINKS = 2;
/**
- * @var ConsistentReadConnectionManager
+ * @var SessionConsistentConnectionManager
*/
private $connectionManager;
@@ -50,13 +50,13 @@
private $siteGlobalId;
/**
- * @param ConsistentReadConnectionManager $connectionManager
+ * @param SessionConsistentConnectionManager $connectionManager
* @param EntityNamespaceLookup $entityNamespaceLookup
* @param SiteLinkLookup $siteLinkLookup
* @param string $siteGlobalId
*/
public function __construct(
- ConsistentReadConnectionManager $connectionManager,
+ SessionConsistentConnectionManager $connectionManager,
EntityNamespaceLookup $entityNamespaceLookup,
SiteLinkLookup $siteLinkLookup,
$siteGlobalId
diff --git a/extensions/ArticlePlaceholder/includes/SearchHookHandler.php
b/extensions/ArticlePlaceholder/includes/SearchHookHandler.php
index 5f7f253..776061d 100644
--- a/extensions/ArticlePlaceholder/includes/SearchHookHandler.php
+++ b/extensions/ArticlePlaceholder/includes/SearchHookHandler.php
@@ -8,11 +8,11 @@
use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use MediaWiki\MediaWikiServices;
use Wikibase\Client\WikibaseClient;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
use Wikibase\Lib\Interactors\TermIndexSearchInteractor;
use Wikibase\Lib\Interactors\TermSearchResult;
use Wikibase\TermIndex;
use Wikibase\TermIndexEntry;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
/**
* Adding results from ArticlePlaceholder to search
@@ -67,7 +67,7 @@
$repoDB = $wikibaseClient->getSettings()->getSetting(
'repoDatabase' );
$itemNotabilityFilter = new ItemNotabilityFilter(
- new ConsistentReadConnectionManager( wfGetLB( $repoDB
), $repoDB ),
+ new SessionConsistentConnectionManager( wfGetLB(
$repoDB ), $repoDB ),
$wikibaseClient->getEntityNamespaceLookup(),
$wikibaseClient->getStore()->getSiteLinkLookup(),
$wikibaseClient->getSettings()->getSetting(
'siteGlobalID' )
diff --git
a/extensions/ArticlePlaceholder/tests/phpunit/includes/ItemNotabilityFilterTest.php
b/extensions/ArticlePlaceholder/tests/phpunit/includes/ItemNotabilityFilterTest.php
index b906d64..a5bd277 100644
---
a/extensions/ArticlePlaceholder/tests/phpunit/includes/ItemNotabilityFilterTest.php
+++
b/extensions/ArticlePlaceholder/tests/phpunit/includes/ItemNotabilityFilterTest.php
@@ -5,7 +5,6 @@
use ArticlePlaceholder\ItemNotabilityFilter;
use DataValues\StringValue;
use MediaWikiTestCase;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
use Wikibase\DataModel\Entity\Item;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\DataModel\Entity\PropertyId;
@@ -16,6 +15,7 @@
use Wikibase\DataModel\Statement\StatementList;
use Wikibase\DataModel\Term\Fingerprint;
use Wikibase\Repo\WikibaseRepo;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
/**
* @group Database
@@ -57,7 +57,7 @@
$wikibaseRepo = WikibaseRepo::getDefaultInstance();
return new ItemNotabilityFilter(
- new ConsistentReadConnectionManager( wfGetLB() ),
+ new SessionConsistentConnectionManager( wfGetLB() ),
$wikibaseRepo->getEntityNamespaceLookup(),
$wikibaseRepo->getStore()->newSiteLinkStore(),
'enwiki'
diff --git a/extensions/PropertySuggester/PropertySuggester.php
b/extensions/PropertySuggester/PropertySuggester.php
index 6609fbd..5e49d28 100644
--- a/extensions/PropertySuggester/PropertySuggester.php
+++ b/extensions/PropertySuggester/PropertySuggester.php
@@ -9,7 +9,7 @@
return;
}
-define( 'PropertySuggester_VERSION', '3.1.4' );
+define( 'PropertySuggester_VERSION', '3.1.5' );
if ( file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
require_once __DIR__ . '/vendor/autoload.php';
diff --git a/extensions/PropertySuggester/PropertySuggesterHooks.php
b/extensions/PropertySuggester/PropertySuggesterHooks.php
index baa5d90..37a413b 100644
--- a/extensions/PropertySuggester/PropertySuggesterHooks.php
+++ b/extensions/PropertySuggester/PropertySuggesterHooks.php
@@ -22,7 +22,7 @@
$entityNamespaceLookup =
WikibaseRepo::getDefaultInstance()->getEntityNamespaceLookup();
$itemNamespace = $entityNamespaceLookup->getEntityNamespace(
Item::ENTITY_TYPE );
- if ( $itemNamespace === false ) {
+ if ( !is_int( $itemNamespace ) ) {
// try looking up namespace by content model, for any
instances of PropertySuggester
// running with older Wikibase prior to ef622b1bc.
$itemNamespace =
$entityNamespaceLookup->getEntityNamespace(
diff --git a/extensions/PropertySuggester/README.md
b/extensions/PropertySuggester/README.md
index 31a8052..fffc2e1 100644
--- a/extensions/PropertySuggester/README.md
+++ b/extensions/PropertySuggester/README.md
@@ -45,6 +45,9 @@
## Release notes
+### 3.1.5 (2016-12-02)
+* Adapted entity suggester for changes in Wikibase.
+
### 3.1.4 (2016-10-03)
* Handle MediaWiki's `OutputPage::getTitle` returning `null`.
diff --git a/extensions/PropertySuggester/i18n/pl.json
b/extensions/PropertySuggester/i18n/pl.json
new file mode 100644
index 0000000..5d10327
--- /dev/null
+++ b/extensions/PropertySuggester/i18n/pl.json
@@ -0,0 +1,17 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chrumps",
+ "XnIcRaM",
+ "Lebiega"
+ ]
+ },
+ "propertysuggester-desc": "Proponuje właściwości podczas dodawania
deklaracji Wikibase.",
+ "apihelp-wbsgetsuggestions-param-context": "Element, przypis lub
kwalifikator.",
+ "apihelp-wbsgetsuggestions-param-continue": "Przesunięcie od którego
kontynuować wyszukiwanie",
+ "apihelp-wbsgetsuggestions-param-language": "Język rezultatu",
+ "apihelp-wbsgetsuggestions-param-limit": "Maksymalna liczba wyników.",
+ "apihelp-wbsgetsuggestions-param-properties": "Zaproponuj dodatkowe
właściwości do danej listy właściwości.",
+ "apihelp-wbsgetsuggestions-param-search": "Szukaj w tym tekście.",
+ "apihelp-wbsgetsuggestions-param-size": "Określ liczbę propozycji,
które będą zwrócone."
+}
diff --git
a/extensions/PropertySuggester/src/PropertySuggester/ResultBuilder.php
b/extensions/PropertySuggester/src/PropertySuggester/ResultBuilder.php
index 786572b..db8785e 100644
--- a/extensions/PropertySuggester/src/PropertySuggester/ResultBuilder.php
+++ b/extensions/PropertySuggester/src/PropertySuggester/ResultBuilder.php
@@ -102,7 +102,7 @@
}
foreach ( $matchingTerms as $term ) {
- switch ( $term->getType() ) {
+ switch ( $term->getTermType() ) {
case TermIndexEntry::TYPE_LABEL:
$entry['label'] = $term->getText();
break;
diff --git
a/extensions/PropertySuggester/src/PropertySuggester/SuggestionGenerator.php
b/extensions/PropertySuggester/src/PropertySuggester/SuggestionGenerator.php
index 595f19c..2bbc396 100644
--- a/extensions/PropertySuggester/src/PropertySuggester/SuggestionGenerator.php
+++ b/extensions/PropertySuggester/src/PropertySuggester/SuggestionGenerator.php
@@ -2,6 +2,7 @@
namespace PropertySuggester;
+use InvalidArgumentException;
use PropertySuggester\Suggesters\SuggesterEngine;
use PropertySuggester\Suggesters\Suggestion;
use Wikibase\DataModel\Entity\Item;
@@ -9,9 +10,9 @@
use Wikibase\DataModel\Entity\Property;
use Wikibase\DataModel\Entity\PropertyId;
use Wikibase\DataModel\Services\Lookup\EntityLookup;
+use Wikibase\Lib\Store\TermIndexSearchCriteria;
use Wikibase\TermIndex;
use Wikibase\TermIndexEntry;
-use InvalidArgumentException;
/**
* API module helper to generate property suggestions.
@@ -122,7 +123,7 @@
private function getMatchingIDs( $search, $language ) {
$termIndexEntries = $this->termIndex->getTopMatchingTerms(
array(
- new TermIndexEntry( array(
+ new TermIndexSearchCriteria( array(
'termLanguage' => $language,
'termText' => $search
) )
diff --git
a/extensions/PropertySuggester/src/PropertySuggester/UpdateTable/Importer/BasicImporter.php
b/extensions/PropertySuggester/src/PropertySuggester/UpdateTable/Importer/BasicImporter.php
index 1678ea9..7a01a64 100644
---
a/extensions/PropertySuggester/src/PropertySuggester/UpdateTable/Importer/BasicImporter.php
+++
b/extensions/PropertySuggester/src/PropertySuggester/UpdateTable/Importer/BasicImporter.php
@@ -2,7 +2,7 @@
namespace PropertySuggester\UpdateTable\Importer;
-use DatabaseBase;
+use Database;
use UnexpectedValueException;
use PropertySuggester\UpdateTable\ImportContext;
@@ -38,11 +38,11 @@
/**
* @param $fileHandle
- * @param DatabaseBase $db
+ * @param Database $db
* @param ImportContext $importContext
* @throws UnexpectedValueException
*/
- private function doImport( $fileHandle, DatabaseBase $db, ImportContext
$importContext ) {
+ private function doImport( $fileHandle, Database $db, ImportContext
$importContext ) {
$accumulator = array();
$batchSize = $importContext->getBatchSize();
$i = 0;
diff --git
a/extensions/PropertySuggester/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php
b/extensions/PropertySuggester/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php
index 31ff3ae..598aadf 100644
---
a/extensions/PropertySuggester/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php
+++
b/extensions/PropertySuggester/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php
@@ -2,6 +2,7 @@
namespace PropertySuggester;
+use InvalidArgumentException;
use MediaWikiTestCase;
use PHPUnit_Framework_MockObject_MockObject;
use PropertySuggester\Suggesters\SuggesterEngine;
@@ -12,12 +13,11 @@
use Wikibase\DataModel\Snak\PropertySomeValueSnak;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\TermIndex;
-use InvalidArgumentException;
use Wikibase\TermIndexEntry;
/**
* @covers PropertySuggester\SuggestionGenerator
- *
+ *
* @group PropertySuggester
* @group API
* @group medium
@@ -59,11 +59,11 @@
}
public function testFilterSuggestions() {
- $p7 = PropertyId::newFromNumber( 7 );
- $p10 = PropertyId::newFromNumber( 10 );
- $p12 = PropertyId::newFromNumber( 12 );
- $p15 = PropertyId::newFromNumber( 15 );
- $p23 = PropertyId::newFromNumber( 23 );
+ $p7 = new PropertyId( 'P7' );
+ $p10 = new PropertyId( 'P10' );
+ $p12 = new PropertyId( 'P12' );
+ $p15 = new PropertyId( 'P15' );
+ $p23 = new PropertyId( 'P23' );
$suggestions = array(
new Suggestion( $p12, 0.9 ), // this will stay at pos 0
@@ -92,10 +92,12 @@
*/
private function getTermIndexEntryArrayWithIds( $ids ) {
$termIndexEntries = array();
- foreach ( $ids as $id ) {
+ foreach ( $ids as $i => $id ) {
$termIndexEntries[] = new TermIndexEntry( array(
- 'entityId' => $id->getNumericId(),
- 'entityType' => $id->getEntityType(),
+ 'entityId' => $id,
+ 'termLanguage' => 'en',
+ 'termText' => "kitten$i",
+ 'termType' => TermIndexEntry::TYPE_LABEL
) );
}
return $termIndexEntries;
diff --git a/extensions/Wikibase/client/WikibaseClient.i18n.alias.php
b/extensions/Wikibase/client/WikibaseClient.i18n.alias.php
index 893baf6..f6c1a0a 100644
--- a/extensions/Wikibase/client/WikibaseClient.i18n.alias.php
+++ b/extensions/Wikibase/client/WikibaseClient.i18n.alias.php
@@ -33,6 +33,13 @@
'UnconnectedPages' => array( 'وسل_نه_بوته_ئین_تاکدیمان' ),
);
+/** Bengali (বাংলা) */
+$specialPageAliases['bn'] = array(
+ 'EntityUsage' => array( 'সত্তার_ব্যবহার', 'সত্তার_ব্যবহারের_উপাত্ত' ),
+ 'PagesWithBadges' => array( 'ব্যাজসহ_পাতা' ),
+ 'UnconnectedPages' => array( 'অসংযুক্ত_পাতা', 'সংযোগহীন',
'সাইট_সংযোগহীন', 'অসংযুক্ত_পৃষ্ঠা', 'সংযোগবিহীন_পৃষ্ঠা' ),
+);
+
/** Czech (čeština) */
$specialPageAliases['cs'] = array(
'PagesWithBadges' => array( 'Stránky_s_odznaky' ),
diff --git
a/extensions/Wikibase/client/includes/RecentChanges/RecentChangesDuplicateDetector.php
b/extensions/Wikibase/client/includes/RecentChanges/RecentChangesDuplicateDetector.php
index f85b7cc..2b1c910 100644
---
a/extensions/Wikibase/client/includes/RecentChanges/RecentChangesDuplicateDetector.php
+++
b/extensions/Wikibase/client/includes/RecentChanges/RecentChangesDuplicateDetector.php
@@ -4,7 +4,7 @@
use MWException;
use RecentChange;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
/**
* @since 0.5
@@ -16,11 +16,11 @@
class RecentChangesDuplicateDetector {
/**
- * @var ConsistentReadConnectionManager
+ * @var SessionConsistentConnectionManager
*/
private $connectionManager;
- public function __construct( ConsistentReadConnectionManager
$connectionManager ) {
+ public function __construct( SessionConsistentConnectionManager
$connectionManager ) {
$this->connectionManager = $connectionManager;
}
@@ -38,7 +38,7 @@
$attribs = $change->getAttributes();
//XXX: need to check master?
- $db = $this->connectionManager->getReadConnection();
+ $db = $this->connectionManager->getReadConnectionRef();
$res = $db->select(
'recentchanges',
@@ -73,7 +73,6 @@
}
}
- $this->connectionManager->releaseConnection( $db );
return false;
}
diff --git
a/extensions/Wikibase/client/includes/Specials/SpecialEntityUsage.php
b/extensions/Wikibase/client/includes/Specials/SpecialEntityUsage.php
index 7451b5f..9f982d6 100644
--- a/extensions/Wikibase/client/includes/Specials/SpecialEntityUsage.php
+++ b/extensions/Wikibase/client/includes/Specials/SpecialEntityUsage.php
@@ -111,7 +111,7 @@
$formDescriptor['entity']['default'] =
$this->entityId->getSerialization();
}
- return HTMLForm::factory( 'inline', $formDescriptor,
$this->getContext() )
+ return HTMLForm::factory( 'ooui', $formDescriptor,
$this->getContext() )
->setMethod( 'get' )
->setWrapperLegendMsg( 'wikibase-entityusage-legend' )
->suppressDefaultSubmit()
diff --git
a/extensions/Wikibase/client/includes/Specials/SpecialPagesWithBadges.php
b/extensions/Wikibase/client/includes/Specials/SpecialPagesWithBadges.php
index 330ccb3..7832fb4 100644
--- a/extensions/Wikibase/client/includes/Specials/SpecialPagesWithBadges.php
+++ b/extensions/Wikibase/client/includes/Specials/SpecialPagesWithBadges.php
@@ -142,7 +142,7 @@
$formDescriptor['badge']['default'] =
$this->badgeId->getSerialization();
}
- return HTMLForm::factory( 'inline', $formDescriptor,
$this->getContext() )
+ return HTMLForm::factory( 'ooui', $formDescriptor,
$this->getContext() )
->setMethod( 'get' )
->setWrapperLegendMsg(
'wikibase-pageswithbadges-legend' )
->suppressDefaultSubmit()
diff --git
a/extensions/Wikibase/client/includes/Store/Sql/BulkSubscriptionUpdater.php
b/extensions/Wikibase/client/includes/Store/Sql/BulkSubscriptionUpdater.php
index a7d7eba..8b5fe7a 100644
--- a/extensions/Wikibase/client/includes/Store/Sql/BulkSubscriptionUpdater.php
+++ b/extensions/Wikibase/client/includes/Store/Sql/BulkSubscriptionUpdater.php
@@ -10,6 +10,7 @@
use Wikibase\Lib\Reporting\LogWarningExceptionHandler;
use Wikibase\Lib\Reporting\MessageReporter;
use Wikibase\Lib\Reporting\NullMessageReporter;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
/**
* Implements bulk updates for the repo's wb_changes_subscription table,
@@ -22,12 +23,12 @@
class BulkSubscriptionUpdater {
/**
- * @var ConsistentReadConnectionManager
+ * @var SessionConsistentConnectionManager
*/
private $localConnectionManager;
/**
- * @var ConsistentReadConnectionManager
+ * @var SessionConsistentConnectionManager
*/
private $repoConnectionManager;
@@ -59,9 +60,9 @@
private $progressReporter;
/**
- * @param ConsistentReadConnectionManager $localConnectionManager
Connection manager for DB
+ * @param SessionConsistentConnectionManager $localConnectionManager
Connection manager for DB
* connections to the local wiki.
- * @param ConsistentReadConnectionManager $repoConnectionManager
Connection manager for DB
+ * @param SessionConsistentConnectionManager $repoConnectionManager
Connection manager for DB
* connections to the repo.
* @param string $subscriberWikiId The local wiki's global ID, to be
used as the subscriber ID
* in the repo's subscription table.
@@ -73,8 +74,8 @@
* @throws InvalidArgumentException
*/
public function __construct(
- ConsistentReadConnectionManager $localConnectionManager,
- ConsistentReadConnectionManager $repoConnectionManager,
+ SessionConsistentConnectionManager $localConnectionManager,
+ SessionConsistentConnectionManager $repoConnectionManager,
$subscriberWikiId,
$repoWiki,
$batchSize = 1000
@@ -122,7 +123,7 @@
* @param EntityId|null $startEntity The entity to start with.
*/
public function updateSubscriptions( EntityId $startEntity = null ) {
- $this->repoConnectionManager->forceMaster();
+ $this->repoConnectionManager->prepareForUpdates();
$continuation = $startEntity === null ? null : array(
$startEntity->getSerialization() );
@@ -162,7 +163,8 @@
* @return int The number of rows inserted.
*/
private function insertUpdateBatch( array $entities ) {
- $dbw = $this->repoConnectionManager->beginAtomicSection(
__METHOD__ );
+ $dbw = $this->repoConnectionManager->getWriteConnectionRef();
+ $dbw->startAtomic( __METHOD__ );
$rows = $this->makeSubscriptionRows( $entities );
@@ -176,7 +178,7 @@
);
$count = $dbw->affectedRows();
- $this->repoConnectionManager->commitAtomicSection( $dbw,
__METHOD__ );
+ $dbw->endAtomic( __METHOD__ );
return $count;
}
@@ -265,7 +267,7 @@
public function purgeSubscriptions( EntityId $startEntity = null ) {
$continuation = $startEntity === null ? null : array(
$startEntity->getSerialization() );
- $this->repoConnectionManager->forceMaster();
+ $this->repoConnectionManager->prepareForUpdates();
while ( true ) {
wfWaitForSlaves( null, $this->repoWiki );
@@ -363,7 +365,8 @@
* @param string $maxId Entity id string indicating the last element in
the deletion range
*/
private function deleteSubscriptionRange( $minId, $maxId ) {
- $dbw = $this->repoConnectionManager->beginAtomicSection(
__METHOD__ );
+ $dbw = $this->repoConnectionManager->getWriteConnectionRef();
+ $dbw->startAtomic( __METHOD__ );
$conditions = array(
'cs_subscriber_id' => $this->subscriberWikiId,
@@ -377,7 +380,7 @@
__METHOD__
);
- $this->repoConnectionManager->commitAtomicSection( $dbw,
__METHOD__ );
+ $dbw->endAtomic( __METHOD__ );
}
}
diff --git
a/extensions/Wikibase/client/includes/Store/Sql/ConsistentReadConnectionManager.php
b/extensions/Wikibase/client/includes/Store/Sql/ConsistentReadConnectionManager.php
deleted file mode 100644
index 57adf73..0000000
---
a/extensions/Wikibase/client/includes/Store/Sql/ConsistentReadConnectionManager.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-namespace Wikibase\Client\Store\Sql;
-
-use Database;
-use IDatabase;
-use InvalidArgumentException;
-use LoadBalancer;
-
-/**
- * Database connection manager.
- *
- * This manages access to master and slave databases. It also manages state
that indicates whether
- * the slave databases are possibly outdated after a write operation, and thus
the master database
- * should be used for subsequent read operations.
- *
- * @note: Services that access overlapping sets of database tables, or
interact with logically
- * related sets of data in the database, should share a
ConsistentReadConnectionManager. Services accessing
- * unrelated sets of information may prefer to not share a
ConsistentReadConnectionManager, so they can still
- * perform read operations against slave databases after a (unrelated, per the
assumption) write
- * operation to the master database. Generally, sharing a
ConsistentReadConnectionManager improves consistency
- * (by avoiding race conditions due to replication lag), but can reduce
performance (by directing
- * more read operations to the master database server).
- *
- * @license GPL-2.0+
- * @author Daniel Kinzler
- */
-class ConsistentReadConnectionManager {
-
- /**
- * @var LoadBalancer
- */
- private $loadBalancer;
-
- /**
- * The symbolic name of the target database, or false for the local
wiki's database.
- *
- * @var string|false
- */
- private $dbName;
-
- /**
- * @var bool If true, getReadConnection() will also return a DB_MASTER
connection.
- */
- private $forceMaster = false;
-
- /**
- * @param LoadBalancer $loadBalancer
- * @param string|bool $dbName Optional, defaults to current wiki.
- * This follows the convention for database names used by
$loadBalancer.
- *
- * @throws InvalidArgumentException
- */
- public function __construct( LoadBalancer $loadBalancer, $dbName =
false ) {
- if ( !is_string( $dbName ) && $dbName !== false ) {
- throw new InvalidArgumentException( '$dbName must be a
string, or false.' );
- }
-
- $this->loadBalancer = $loadBalancer;
- $this->dbName = $dbName;
- }
-
- /**
- * Forces all future calls to getReadConnection() to return a
connection to the master DB.
- * Use this before performing read operations that are critical for a
future update.
- * Calling beginAtomicSection() implies a call to forceMaster().
- */
- public function forceMaster() {
- $this->forceMaster = true;
- }
-
- /**
- * Returns a database connection for reading. The connection should
later be released by
- * calling releaseConnection().
- *
- * @note: If forceMaster() or beginAtomicSection() were previously
called on this
- * ConsistentReadConnectionManager instance, this method will return a
connection to the master database,
- * to avoid inconsistencies.
- *
- * @return Database
- */
- public function getReadConnection() {
- $dbIndex = $this->forceMaster ? DB_MASTER : DB_SLAVE;
- return $this->loadBalancer->getConnection( $dbIndex, array(),
$this->dbName );
- }
-
- /**
- * Returns a connection to the master DB, for updating. The connection
should later be released
- * by calling releaseConnection().
- *
- * @return Database
- */
- public function getWriteConnection() {
- return $this->loadBalancer->getConnection( DB_MASTER, array(),
$this->dbName );
- }
-
- /**
- * @param IDatabase $db
- */
- public function releaseConnection( IDatabase $db ) {
- $this->loadBalancer->reuseConnection( $db );
- }
-
- /**
- * Begins an atomic section and returns a database connection to the
master DB, for updating.
- *
- * @note: This causes all future calls to getReadConnection() to return
a connection
- * to the master DB, even after commitAtomicSection() or
rollbackAtomicSection() have
- * been called.
- *
- * @param string $fname
- *
- * @return Database
- */
- public function beginAtomicSection( $fname ) {
- // Once we have written to master, do not read from slave.
- $this->forceMaster();
-
- $db = $this->getWriteConnection();
- $db->startAtomic( $fname );
- return $db;
- }
-
- /**
- * @param IDatabase $db
- * @param string $fname
- */
- public function commitAtomicSection( IDatabase $db, $fname ) {
- $db->endAtomic( $fname );
- $this->releaseConnection( $db );
- }
-
- /**
- * @param IDatabase $db
- * @param string $fname
- */
- public function rollbackAtomicSection( IDatabase $db, $fname ) {
- //FIXME: there does not seem to be a clean way to roll back an
atomic section?!
- $db->rollback( $fname, 'flush' );
- $this->releaseConnection( $db );
- }
-
-}
diff --git a/extensions/Wikibase/client/includes/Store/Sql/DirectSqlStore.php
b/extensions/Wikibase/client/includes/Store/Sql/DirectSqlStore.php
index 922e232..4f4e8a1 100644
--- a/extensions/Wikibase/client/includes/Store/Sql/DirectSqlStore.php
+++ b/extensions/Wikibase/client/includes/Store/Sql/DirectSqlStore.php
@@ -5,8 +5,8 @@
use HashBagOStuff;
use ObjectCache;
use Wikibase\Client\RecentChanges\RecentChangesDuplicateDetector;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
use Wikibase\Client\Store\Sql\PagePropsEntityIdLookup;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
use Wikibase\Client\Store\UsageUpdater;
use Wikibase\Client\Usage\Sql\SqlSubscriptionManager;
use Wikibase\Client\Usage\Sql\SqlUsageTracker;
@@ -72,12 +72,12 @@
private $repoWiki;
/**
- * @var ConsistentReadConnectionManager|null
+ * @var SessionConsistentConnectionManager|null
*/
private $repoConnectionManager = null;
/**
- * @var ConsistentReadConnectionManager|null
+ * @var SessionConsistentConnectionManager|null
*/
private $localConnectionManager = null;
@@ -214,11 +214,14 @@
* Returns a LoadBalancer that acts as a factory for connections to the
repo wiki's
* database.
*
- * @return ConsistentReadConnectionManager
+ * @return SessionConsistentConnectionManager
*/
private function getRepoConnectionManager() {
if ( $this->repoConnectionManager === null ) {
- $this->repoConnectionManager = new
ConsistentReadConnectionManager( wfGetLB( $this->repoWiki ), $this->repoWiki );
+ $this->repoConnectionManager = new
SessionConsistentConnectionManager(
+ wfGetLB( $this->repoWiki ),
+ $this->repoWiki
+ );
}
return $this->repoConnectionManager;
@@ -228,11 +231,11 @@
* Returns a LoadBalancer that acts as a factory for connections to the
local (client) wiki's
* database.
*
- * @return ConsistentReadConnectionManager
+ * @return SessionConsistentConnectionManager
*/
private function getLocalConnectionManager() {
if ( $this->localConnectionManager === null ) {
- $this->localConnectionManager = new
ConsistentReadConnectionManager( wfGetLB() );
+ $this->localConnectionManager = new
SessionConsistentConnectionManager( wfGetLB() );
}
return $this->localConnectionManager;
diff --git
a/extensions/Wikibase/client/includes/Usage/Sql/SqlSubscriptionManager.php
b/extensions/Wikibase/client/includes/Usage/Sql/SqlSubscriptionManager.php
index 0f97f4a..5c12ceb 100644
--- a/extensions/Wikibase/client/includes/Usage/Sql/SqlSubscriptionManager.php
+++ b/extensions/Wikibase/client/includes/Usage/Sql/SqlSubscriptionManager.php
@@ -5,8 +5,9 @@
use Database;
use DBError;
use Exception;
+use IDatabase;
use InvalidArgumentException;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
use Wikibase\Client\Usage\SubscriptionManager;
use Wikibase\Client\Usage\UsageTrackerException;
use Wikibase\DataModel\Entity\EntityId;
@@ -22,14 +23,14 @@
class SqlSubscriptionManager implements SubscriptionManager {
/**
- * @var ConsistentReadConnectionManager
+ * @var SessionConsistentConnectionManager
*/
private $connectionManager;
/**
- * @param ConsistentReadConnectionManager $connectionManager
+ * @param SessionConsistentConnectionManager $connectionManager
*/
- public function __construct( ConsistentReadConnectionManager
$connectionManager ) {
+ public function __construct( SessionConsistentConnectionManager
$connectionManager ) {
$this->connectionManager = $connectionManager;
}
@@ -60,16 +61,17 @@
}
$subscriptions = $this->idsToString( $entityIds );
- $db = $this->connectionManager->beginAtomicSection( __METHOD__
);
+ $dbw = $this->connectionManager->getWriteConnectionRef();
+ $dbw->startAtomic( __METHOD__ );
try {
- $oldSubscriptions = $this->querySubscriptions( $db,
$subscriber, $subscriptions );
+ $oldSubscriptions = $this->querySubscriptions( $dbw,
$subscriber, $subscriptions );
$newSubscriptions = array_diff( $subscriptions,
$oldSubscriptions );
- $this->insertSubscriptions( $db, $subscriber,
$newSubscriptions );
+ $this->insertSubscriptions( $dbw, $subscriber,
$newSubscriptions );
- $this->connectionManager->commitAtomicSection( $db,
__METHOD__ );
+ $dbw->endAtomic( __METHOD__ );
} catch ( Exception $ex ) {
- $this->connectionManager->rollbackAtomicSection( $db,
__METHOD__ );
+ $dbw->rollback( __METHOD__ );
if ( $ex instanceof DBError ) {
throw new UsageTrackerException(
$ex->getMessage(), $ex->getCode(), $ex );
@@ -95,16 +97,17 @@
}
$unsubscriptions = $this->idsToString( $entityIds );
- $db = $this->connectionManager->beginAtomicSection( __METHOD__
);
+ $dbw = $this->connectionManager->getWriteConnectionRef();
+ $dbw->startAtomic( __METHOD__ );
try {
- $oldSubscriptions = $this->querySubscriptions( $db,
$subscriber, $unsubscriptions );
+ $oldSubscriptions = $this->querySubscriptions( $dbw,
$subscriber, $unsubscriptions );
$obsoleteSubscriptions = array_intersect(
$unsubscriptions, $oldSubscriptions );
- $this->deleteSubscriptions( $db, $subscriber,
$obsoleteSubscriptions );
+ $this->deleteSubscriptions( $dbw, $subscriber,
$obsoleteSubscriptions );
- $this->connectionManager->commitAtomicSection( $db,
__METHOD__ );
+ $dbw->endAtomic( __METHOD__ );
} catch ( Exception $ex ) {
- $this->connectionManager->rollbackAtomicSection( $db,
__METHOD__ );
+ $dbw->rollback( __METHOD__ );
if ( $ex instanceof DBError ) {
throw new UsageTrackerException(
$ex->getMessage(), $ex->getCode(), $ex );
@@ -117,13 +120,13 @@
/**
* For a set of potential subscriptions, returns the existing
subscriptions.
*
- * @param Database $db
+ * @param IDatabase $db
* @param string $subscriber
* @param string[] $subscriptions
*
* @return string[] Entity ID strings from $subscriptions which
$subscriber is already subscribed to.
*/
- private function querySubscriptions( Database $db, $subscriber, array
$subscriptions ) {
+ private function querySubscriptions( IDatabase $db, $subscriber, array
$subscriptions ) {
if ( $subscriptions ) {
$subscriptions = $db->selectFieldValues(
'wb_changes_subscription',
@@ -142,11 +145,11 @@
/**
* Inserts a set of subscriptions.
*
- * @param Database $db
+ * @param IDatabase $db
* @param string $subscriber
* @param string[] $subscriptions
*/
- private function insertSubscriptions( Database $db, $subscriber, array
$subscriptions ) {
+ private function insertSubscriptions( IDatabase $db, $subscriber, array
$subscriptions ) {
$rows = $this->makeSubscriptionRows( $subscriber,
$subscriptions );
$db->insert(
@@ -160,11 +163,11 @@
/**
* Inserts a set of subscriptions.
*
- * @param Database $db
+ * @param IDatabase $db
* @param string $subscriber
* @param string[] $subscriptions
*/
- private function deleteSubscriptions( Database $db, $subscriber, array
$subscriptions ) {
+ private function deleteSubscriptions( IDatabase $db, $subscriber, array
$subscriptions ) {
if ( $subscriptions ) {
$db->delete(
'wb_changes_subscription',
diff --git a/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
b/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
index 0dd9521..425fdc8 100644
--- a/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
+++ b/extensions/Wikibase/client/includes/Usage/Sql/SqlUsageTracker.php
@@ -8,7 +8,7 @@
use Exception;
use InvalidArgumentException;
use Traversable;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
use Wikibase\Client\Usage\EntityUsage;
use Wikibase\Client\Usage\UsageLookup;
use Wikibase\Client\Usage\UsageTracker;
@@ -30,7 +30,7 @@
private $idParser;
/**
- * @var ConsistentReadConnectionManager
+ * @var SessionConsistentConnectionManager
*/
private $connectionManager;
@@ -41,9 +41,9 @@
/**
* @param EntityIdParser $idParser
- * @param ConsistentReadConnectionManager $connectionManager
+ * @param SessionConsistentConnectionManager $connectionManager
*/
- public function __construct( EntityIdParser $idParser,
ConsistentReadConnectionManager $connectionManager ) {
+ public function __construct( EntityIdParser $idParser,
SessionConsistentConnectionManager $connectionManager ) {
$this->idParser = $idParser;
$this->connectionManager = $connectionManager;
}
diff --git a/extensions/Wikibase/client/maintenance/updateSubscriptions.php
b/extensions/Wikibase/client/maintenance/updateSubscriptions.php
index c5ae1eb..5ae88e0 100644
--- a/extensions/Wikibase/client/maintenance/updateSubscriptions.php
+++ b/extensions/Wikibase/client/maintenance/updateSubscriptions.php
@@ -4,7 +4,7 @@
use Maintenance;
use Wikibase\Client\Store\Sql\BulkSubscriptionUpdater;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
use Wikibase\Client\WikibaseClient;
use Wikibase\DataModel\Entity\EntityIdParsingException;
use Wikibase\Lib\Reporting\ObservableMessageReporter;
@@ -72,8 +72,8 @@
);
$updater = new BulkSubscriptionUpdater(
- new ConsistentReadConnectionManager( wfGetLB() ),
- new ConsistentReadConnectionManager( wfGetLB( $repoDB
), $repoDB ),
+ new SessionConsistentConnectionManager( wfGetLB() ),
+ new SessionConsistentConnectionManager( wfGetLB(
$repoDB ), $repoDB ),
$clientId,
$repoDB,
$this->mBatchSize
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/RecentChanges/RecentChangesDuplicateDetectorTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/RecentChanges/RecentChangesDuplicateDetectorTest.php
index aa6964c..053e50c 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/RecentChanges/RecentChangesDuplicateDetectorTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/RecentChanges/RecentChangesDuplicateDetectorTest.php
@@ -5,7 +5,7 @@
use RecentChange;
use Wikibase\Client\RecentChanges\RecentChangeFactory;
use Wikibase\Client\RecentChanges\RecentChangesDuplicateDetector;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
/**
* @covers Wikibase\Client\RecentChanges\RecentChangesDuplicateDetector
@@ -129,7 +129,7 @@
* @dataProvider provideChangeExists
*/
public function testChangeExists( $expected, array $changeData ) {
- $connectionManager = new ConsistentReadConnectionManager(
wfGetLB() );
+ $connectionManager = new SessionConsistentConnectionManager(
wfGetLB() );
$detector = new RecentChangesDuplicateDetector(
$connectionManager );
$this->initRecentChanges();
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/Specials/SpecialPagesWithBadgesTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/Specials/SpecialPagesWithBadgesTest.php
index 1826cb7..be39484 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/Specials/SpecialPagesWithBadgesTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/Specials/SpecialPagesWithBadgesTest.php
@@ -69,9 +69,9 @@
public function testExecuteWithoutAnyParams() {
list( $result, ) = $this->executeSpecialPage( '' );
- $this->assertContains( '<select name="badge"', $result );
- $this->assertContains( '<option value="Q123"', $result );
- $this->assertContains( '<option value="Q456"', $result );
+ $this->assertContains( "<select tabindex='0'
aria-disabled='false' name='badge'", $result );
+ $this->assertContains( "<option value='Q123'", $result );
+ $this->assertContains( "<option value='Q456'", $result );
$this->assertContains( 'Label of Q123', $result );
$this->assertContains( 'Label of Q456', $result );
@@ -80,7 +80,7 @@
public function testExecuteWithValidParam() {
list( $result, ) = $this->executeSpecialPage( 'Q456' );
- $this->assertContains( '<option value="Q456" selected=""',
$result );
+ $this->assertContains( "<option value='Q456'
selected='selected'", $result );
}
public function testExecuteWithInvalidParam() {
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/BulkSubscriptionUpdaterTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/BulkSubscriptionUpdaterTest.php
index 9a12ba2..d0f3b1d 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/BulkSubscriptionUpdaterTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/BulkSubscriptionUpdaterTest.php
@@ -4,7 +4,7 @@
use PHPUnit_Framework_MockObject_Matcher_Invocation;
use Wikibase\Client\Store\Sql\BulkSubscriptionUpdater;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
use Wikibase\Client\Usage\Sql\EntityUsageTable;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\Lib\Reporting\ExceptionHandler;
@@ -43,8 +43,8 @@
$loadBalancer = wfGetLB();
return new BulkSubscriptionUpdater(
- new ConsistentReadConnectionManager( $loadBalancer,
false ),
- new ConsistentReadConnectionManager( $loadBalancer,
false ),
+ new SessionConsistentConnectionManager( $loadBalancer,
false ),
+ new SessionConsistentConnectionManager( $loadBalancer,
false ),
'testwiki',
false,
$batchSize
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/ConsistentReadConnectionManagerTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/ConsistentReadConnectionManagerTest.php
deleted file mode 100644
index 38050ff..0000000
---
a/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/ConsistentReadConnectionManagerTest.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-namespace Wikibase\Client\Tests\Store\Sql;
-
-use IDatabase;
-use LoadBalancer;
-use PHPUnit_Framework_MockObject_MockObject;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
-
-/**
- * @covers Wikibase\Client\Store\Sql\ConsistentReadConnectionManager
- *
- * @group Wikibase
- * @group WikibaseClient
- * @group WikibaseClientStore
- *
- * @license GPL-2.0+
- * @author DanielKinzler
- */
-class ConsistentReadConnectionManagerTest extends \PHPUnit_Framework_TestCase {
-
- /**
- * @return IDatabase|PHPUnit_Framework_MockObject_MockObject
- */
- private function getIDatabaseMock() {
- return $this->getMock( IDatabase::class );
- }
-
- /**
- * @return LoadBalancer|PHPUnit_Framework_MockObject_MockObject
- */
- private function getLoadBalancerMock() {
- $lb = $this->getMockBuilder( LoadBalancer::class )
- ->disableOriginalConstructor()
- ->getMock();
-
- return $lb;
- }
-
- public function testGetReadConnection() {
- $database = $this->getIDatabaseMock();
- $lb = $this->getLoadBalancerMock();
-
- $lb->expects( $this->once() )
- ->method( 'getConnection' )
- ->with( DB_SLAVE )
- ->will( $this->returnValue( $database ) );
-
- $manager = new ConsistentReadConnectionManager( $lb );
- $actual = $manager->getReadConnection();
-
- $this->assertSame( $database, $actual );
- }
-
- public function testGetWriteConnection() {
- $database = $this->getIDatabaseMock();
- $lb = $this->getLoadBalancerMock();
-
- $lb->expects( $this->once() )
- ->method( 'getConnection' )
- ->with( DB_MASTER )
- ->will( $this->returnValue( $database ) );
-
- $manager = new ConsistentReadConnectionManager( $lb );
- $actual = $manager->getWriteConnection();
-
- $this->assertSame( $database, $actual );
- }
-
- public function testForceMaster() {
- $database = $this->getIDatabaseMock();
- $lb = $this->getLoadBalancerMock();
-
- $lb->expects( $this->once() )
- ->method( 'getConnection' )
- ->with( DB_MASTER )
- ->will( $this->returnValue( $database ) );
-
- $manager = new ConsistentReadConnectionManager( $lb );
- $manager->forceMaster();
- $manager->getReadConnection();
- }
-
- public function testReleaseConnection() {
- $database = $this->getIDatabaseMock();
- $lb = $this->getLoadBalancerMock();
-
- $lb->expects( $this->once() )
- ->method( 'reuseConnection' )
- ->with( $database )
- ->will( $this->returnValue( null ) );
-
- $manager = new ConsistentReadConnectionManager( $lb );
- $manager->releaseConnection( $database );
- }
-
- public function testBeginAtomicSection() {
- $database = $this->getIDatabaseMock();
- $lb = $this->getLoadBalancerMock();
-
- $lb->expects( $this->exactly( 2 ) )
- ->method( 'getConnection' )
- ->with( DB_MASTER )
- ->will( $this->returnValue( $database ) );
-
- $database->expects( $this->once() )
- ->method( 'startAtomic' )
- ->will( $this->returnValue( null ) );
-
- $manager = new ConsistentReadConnectionManager( $lb );
- $manager->beginAtomicSection( 'TEST' );
-
- // Should also ask for a DB_MASTER connection.
- // This is asserted by the $lb mock.
- $manager->getReadConnection();
- }
-
- public function testCommitAtomicSection() {
- $database = $this->getIDatabaseMock();
- $lb = $this->getLoadBalancerMock();
-
- $lb->expects( $this->once() )
- ->method( 'reuseConnection' )
- ->with( $database )
- ->will( $this->returnValue( null ) );
-
- $database->expects( $this->once() )
- ->method( 'endAtomic' )
- ->will( $this->returnValue( null ) );
-
- $manager = new ConsistentReadConnectionManager( $lb );
- $manager->commitAtomicSection( $database, 'TEST' );
- }
-
- public function testRollbackAtomicSection() {
- $database = $this->getIDatabaseMock();
- $lb = $this->getLoadBalancerMock();
-
- $lb->expects( $this->once() )
- ->method( 'reuseConnection' )
- ->with( $database )
- ->will( $this->returnValue( null ) );
-
- $database->expects( $this->once() )
- ->method( 'rollback' )
- ->will( $this->returnValue( null ) );
-
- $manager = new ConsistentReadConnectionManager( $lb );
- $manager->rollbackAtomicSection( $database, 'TEST' );
- }
-
-}
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlSubscriptionManagerTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlSubscriptionManagerTest.php
index 5ed3fcd..5cd9471 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlSubscriptionManagerTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlSubscriptionManagerTest.php
@@ -2,7 +2,7 @@
namespace Wikibase\Client\Tests\Usage\Sql;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
use Wikibase\Client\Usage\Sql\SqlSubscriptionManager;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\DataModel\Entity\PropertyId;
@@ -36,7 +36,7 @@
*/
private function getSubscriptionManager() {
return new SqlSubscriptionManager(
- new ConsistentReadConnectionManager( wfGetLB() )
+ new SessionConsistentConnectionManager( wfGetLB() )
);
}
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlUsageTrackerTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlUsageTrackerTest.php
index 7ac9511..8d4a08f 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlUsageTrackerTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/SqlUsageTrackerTest.php
@@ -2,7 +2,7 @@
namespace Wikibase\Client\Tests\Usage\Sql;
-use Wikibase\Client\Store\Sql\ConsistentReadConnectionManager;
+use Wikimedia\Rdbms\SessionConsistentConnectionManager;
use Wikibase\Client\Tests\Usage\UsageLookupContractTester;
use Wikibase\Client\Tests\Usage\UsageTrackerContractTester;
use Wikibase\Client\Usage\Sql\EntityUsageTable;
@@ -45,7 +45,7 @@
$this->sqlUsageTracker = new SqlUsageTracker(
new BasicEntityIdParser(),
- new ConsistentReadConnectionManager( wfGetLB() )
+ new SessionConsistentConnectionManager( wfGetLB() )
);
$this->trackerTester = new UsageTrackerContractTester(
$this->sqlUsageTracker, array( $this, 'getUsages' ) );
diff --git a/extensions/Wikibase/lib/includes/Store/PropertyInfoLookup.php
b/extensions/Wikibase/lib/includes/Store/PropertyInfoLookup.php
new file mode 100644
index 0000000..ce81897
--- /dev/null
+++ b/extensions/Wikibase/lib/includes/Store/PropertyInfoLookup.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace Wikibase\Lib\Store;
+
+use Wikibase\DataModel\Entity\PropertyId;
+
+/**
+ * @license GPL-2.0+
+ */
+interface PropertyInfoLookup {
+
+ /**
+ * Returns the property info for the given property ID.
+ *
+ * @note: Even if the property is known to exist, this method may not
return
+ * an info array, or the info array may not contain all well
known fields.
+ *
+ * @param PropertyId $propertyId
+ *
+ * @return array|null
+ * @throws StorageException
+ * @throws DBError
+ */
+ public function getPropertyInfo( PropertyId $propertyId );
+
+ /**
+ * Returns the property info for all properties with the given data
type.
+ *
+ * @note: There is no guarantee that an info array is returned for all
existing properties.
+ * Also, it is not guaranteed that the info arrays will contain
all well known fields.
+ *
+ * @param string $dataType
+ *
+ * @return array[] An associative array mapping property IDs to info
arrays.
+ * @throws StorageException
+ * @throws DBError
+ */
+ public function getPropertyInfoForDataType( $dataType );
+
+ /**
+ * Returns the property info for all properties.
+ * The caller is responsible for avoiding calling this if there are too
many properties.
+ *
+ * @note: There is no guarantee that an info array is returned for all
existing properties.
+ * Also, it is not guaranteed that the info arrays will contain
all well known fields.
+ *
+ * @return array[] An associative array mapping property IDs to info
arrays.
+ * @throws StorageException
+ * @throws DBError
+ */
+ public function getAllPropertyInfo();
+
+}
diff --git a/extensions/Wikibase/lib/includes/Store/PropertyInfoStore.php
b/extensions/Wikibase/lib/includes/Store/PropertyInfoStore.php
index 8e66917..92353e7 100644
--- a/extensions/Wikibase/lib/includes/Store/PropertyInfoStore.php
+++ b/extensions/Wikibase/lib/includes/Store/PropertyInfoStore.php
@@ -4,6 +4,7 @@
use DBError;
use Wikibase\DataModel\Entity\PropertyId;
+use Wikibase\Lib\Store\PropertyInfoLookup;
use Wikibase\Lib\Store\StorageException;
/**
@@ -11,7 +12,7 @@
* @author Daniel Kinzler
* @author Bene* < [email protected] >
*/
-interface PropertyInfoStore {
+interface PropertyInfoStore extends PropertyInfoLookup {
/**
* Key to use in the info array for the property's data type ID.
@@ -22,47 +23,6 @@
* Key to use in the info array for the property's formatter URL
*/
const KEY_FORMATTER_URL = 'formatterURL';
-
- /**
- * Returns the property info for the given property ID.
- *
- * @note: Even if the property is known to exist, this method may not
return
- * an info array, or the info array may not contain all well
known fields.
- *
- * @param PropertyId $propertyId
- *
- * @return array|null
- * @throws StorageException
- * @throws DBError
- */
- public function getPropertyInfo( PropertyId $propertyId );
-
- /**
- * Returns the property info for all properties with the given data
type.
- *
- * @note: There is no guarantee that an info array is returned for all
existing properties.
- * Also, it is not guaranteed that the info arrays will contain
all well known fields.
- *
- * @param string $dataType
- *
- * @return array[] An associative array mapping property IDs to info
arrays.
- * @throws StorageException
- * @throws DBError
- */
- public function getPropertyInfoForDataType( $dataType );
-
- /**
- * Returns the property info for all properties.
- * The caller is responsible for avoiding calling this if there are too
many properties.
- *
- * @note: There is no guarantee that an info array is returned for all
existing properties.
- * Also, it is not guaranteed that the info arrays will contain
all well known fields.
- *
- * @return array[] An associative array mapping property IDs to info
arrays.
- * @throws StorageException
- * @throws DBError
- */
- public function getAllPropertyInfo();
/**
* Update the info for the given property.
diff --git a/extensions/Wikibase/repo/tests/browser
b/extensions/Wikibase/repo/tests/browser
deleted file mode 100644
index c377a0f..0000000
--- a/extensions/Wikibase/repo/tests/browser
+++ /dev/null
@@ -1 +0,0 @@
-../../tests/browser/
\ No newline at end of file
diff --git a/extensions/Wikibase/repo/tests/browser
b/extensions/Wikibase/repo/tests/browser
new file mode 120000
index 0000000..c377a0f
--- /dev/null
+++ b/extensions/Wikibase/repo/tests/browser
@@ -0,0 +1 @@
+../../tests/browser/
\ No newline at end of file
diff --git
a/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/jquery.wikibase.toolbar.js
b/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/jquery.wikibase.toolbar.js
old mode 100644
new mode 100755
diff --git
a/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbar.css
b/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbar.css
old mode 100644
new mode 100755
diff --git
a/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbarbutton.css
b/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbarbutton.css
old mode 100644
new mode 100755
diff --git
a/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbaritem.css
b/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/themes/default/jquery.wikibase.toolbaritem.css
old mode 100644
new mode 100755
diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE
index b0794ff..1a28124 100644
--- a/vendor/composer/LICENSE
+++ b/vendor/composer/LICENSE
@@ -1,3 +1,4 @@
+
Copyright (c) 2016 Nils Adermann, Jordi Boggiano
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -17,3 +18,4 @@
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+
diff --git a/vendor/composer/autoload_classmap.php
b/vendor/composer/autoload_classmap.php
index 531e661..44cda09 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -463,7 +463,6 @@
'Wikibase\\Client\\Specials\\SpecialUnconnectedPages' => $baseDir .
'/extensions/Wikibase/client/includes/Specials/SpecialUnconnectedPages.php',
'Wikibase\\Client\\Store\\AddUsagesForPageJob' => $baseDir .
'/extensions/Wikibase/client/includes/Store/AddUsagesForPageJob.php',
'Wikibase\\Client\\Store\\Sql\\BulkSubscriptionUpdater' => $baseDir .
'/extensions/Wikibase/client/includes/Store/Sql/BulkSubscriptionUpdater.php',
- 'Wikibase\\Client\\Store\\Sql\\ConsistentReadConnectionManager' =>
$baseDir .
'/extensions/Wikibase/client/includes/Store/Sql/ConsistentReadConnectionManager.php',
'Wikibase\\Client\\Store\\Sql\\PagePropsEntityIdLookup' => $baseDir .
'/extensions/Wikibase/client/includes/Store/Sql/PagePropsEntityIdLookup.php',
'Wikibase\\Client\\Store\\TitleFactory' => $baseDir .
'/extensions/Wikibase/client/includes/Store/TitleFactory.php',
'Wikibase\\Client\\Store\\UsageUpdater' => $baseDir .
'/extensions/Wikibase/client/includes/Store/UsageUpdater.php',
@@ -545,7 +544,6 @@
'Wikibase\\Client\\Tests\\Specials\\SpecialPagesWithBadgesTest' =>
$baseDir .
'/extensions/Wikibase/client/tests/phpunit/includes/Specials/SpecialPagesWithBadgesTest.php',
'Wikibase\\Client\\Tests\\Specials\\SpecialUnconnectedPagesTest' =>
$baseDir .
'/extensions/Wikibase/client/tests/phpunit/includes/Specials/SpecialUnconnectedPagesTest.php',
'Wikibase\\Client\\Tests\\Store\\Sql\\BulkSubscriptionUpdaterTest' =>
$baseDir .
'/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/BulkSubscriptionUpdaterTest.php',
- 'Wikibase\\Client\\Tests\\Store\\Sql\\ConsistentReadConnectionManagerTest'
=> $baseDir .
'/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/ConsistentReadConnectionManagerTest.php',
'Wikibase\\Client\\Tests\\Store\\Sql\\DirectSqlStoreTest' => $baseDir .
'/extensions/Wikibase/client/tests/phpunit/includes/Store/Sql/DirectSqlStoreTest.php',
'Wikibase\\Client\\Tests\\Store\\TitleFactoryTest' => $baseDir .
'/extensions/Wikibase/client/tests/phpunit/includes/Store/TitleFactoryTest.php',
'Wikibase\\Client\\Tests\\UpdateRepo\\UpdateRepoOnDeleteTest' => $baseDir
.
'/extensions/Wikibase/client/tests/phpunit/includes/UpdateRepo/UpdateRepoOnDeleteTest.php',
@@ -885,6 +883,7 @@
'Wikibase\\Lib\\Store\\LabelConflictFinder' => $baseDir .
'/extensions/Wikibase/lib/includes/Store/LabelConflictFinder.php',
'Wikibase\\Lib\\Store\\LanguageFallbackLabelDescriptionLookup' => $baseDir
.
'/extensions/Wikibase/lib/includes/Store/LanguageFallbackLabelDescriptionLookup.php',
'Wikibase\\Lib\\Store\\LanguageFallbackLabelDescriptionLookupFactory' =>
$baseDir .
'/extensions/Wikibase/lib/includes/Store/LanguageFallbackLabelDescriptionLookupFactory.php',
+ 'Wikibase\\Lib\\Store\\PropertyInfoLookup' => $baseDir .
'/extensions/Wikibase/lib/includes/Store/PropertyInfoLookup.php',
'Wikibase\\Lib\\Store\\PropertyOrderProvider' => $baseDir .
'/extensions/Wikibase/lib/includes/Store/PropertyOrderProvider.php',
'Wikibase\\Lib\\Store\\PropertyOrderProviderException' => $baseDir .
'/extensions/Wikibase/lib/includes/Store/PropertyOrderProviderException.php',
'Wikibase\\Lib\\Store\\RevisionBasedEntityLookup' => $baseDir .
'/extensions/Wikibase/lib/includes/Store/RevisionBasedEntityLookup.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index ecba7f1..e7e76d7 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -109,46 +109,6 @@
]
},
{
- "name": "mediawiki/article-placeholder",
- "version": "dev-master",
- "version_normalized": "9999999-dev",
- "source": {
- "type": "git",
- "url":
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git",
- "reference": "197aabc07ea2f998079b0268c6b56eb2947a0269"
- },
- "dist": {
- "type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/197aabc07ea2f998079b0268c6b56eb2947a0269",
- "reference": "197aabc07ea2f998079b0268c6b56eb2947a0269",
- "shasum": ""
- },
- "require-dev": {
- "jakub-onderka/php-parallel-lint": "0.9.2",
- "mediawiki/mediawiki-codesniffer": "0.7.2"
- },
- "time": "2016-11-30 14:30:13",
- "type": "mediawiki-extension",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "ArticlePlaceholder\\": "includes/",
- "ArticlePlaceholder\\Specials\\": "includes/specials/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "GPL-2.0+"
- ],
- "authors": [
- {
- "name": "Lucie-Aimée Kaffee"
- }
- ],
- "description": "Provides a special page with Wikibase information
about a certain topic, with invitation to create an article for the topic",
- "homepage":
"https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder"
- },
- {
"name": "wikimedia/purtle",
"version": "v1.0.4",
"version_normalized": "1.0.4.0",
@@ -1400,93 +1360,6 @@
]
},
{
- "name": "wikibase/wikibase",
- "version": "dev-master",
- "version_normalized": "9999999-dev",
- "source": {
- "type": "git",
- "url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "fac6549d01e069a7b86f8bc59d2e55bc61f6410a"
- },
- "dist": {
- "type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/fac6549d01e069a7b86f8bc59d2e55bc61f6410a",
- "reference": "fac6549d01e069a7b86f8bc59d2e55bc61f6410a",
- "shasum": ""
- },
- "require": {
- "data-values/common": "~0.3.0",
- "data-values/data-types": "~0.5.0",
- "data-values/data-values": "~1.0",
- "data-values/geo": "~1.0",
- "data-values/interfaces": "~0.2.0|~0.1.5",
- "data-values/javascript": "~0.8.3",
- "data-values/number": "~0.8.2",
- "data-values/serialization": "~1.1",
- "data-values/time": "~0.8.4",
- "data-values/validators": "~0.1.0",
- "data-values/value-view": "~0.18.0",
- "diff/diff": "~2.0",
- "php": ">=5.5.0",
- "wikibase/data-model": "^6.3.1",
- "wikibase/data-model-javascript": "~3.0.0",
- "wikibase/data-model-serialization": "~2.2",
- "wikibase/data-model-services": "~3.7",
- "wikibase/internal-serialization": "~2.3",
- "wikibase/javascript-api": "~2.2.0",
- "wikibase/serialization-javascript": "~2.0.6",
- "wikimedia/purtle": "~1.0"
- },
- "conflict": {
- "mediawiki/mediawiki": "<1.25"
- },
- "require-dev": {
- "jakub-onderka/php-parallel-lint": "0.9.2",
- "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
- },
- "time": "2016-11-30 21:22:39",
- "type": "mediawiki-extension",
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "client/includes/",
- "client/WikibaseClient.hooks.php",
- "client/tests/phpunit/MockClientStore.php",
- "lib/includes/",
- "lib/WikibaseLib.hooks.php",
- "lib/maintenance/",
- "repo/includes/",
- "repo/maintenance/",
- "repo/tests/phpunit/",
- "repo/Wikibase.hooks.php"
- ],
- "psr-4": {
- "Wikibase\\Client\\Tests\\": "client/tests/phpunit/includes",
- "Wikibase\\Lib\\Tests\\": "lib/tests/phpunit",
- "Wikibase\\View\\": "view/src",
- "Wikibase\\View\\Tests\\": "view/tests/phpunit"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "GPL-2.0+"
- ],
- "authors": [
- {
- "name": "The Wikidata team"
- }
- ],
- "description": "Structured data repository for MediaWiki",
- "homepage": "http://wikiba.se",
- "keywords": [
- "wikibase",
- "wikibaseclient",
- "wikibaselib",
- "wikibaserepo",
- "wikidata"
- ]
- },
- {
"name": "wikibase/wikimedia-badges",
"version": "dev-master",
"version_normalized": "9999999-dev",
@@ -1703,55 +1576,6 @@
}
},
{
- "name": "propertysuggester/property-suggester",
- "version": "3.1.4",
- "version_normalized": "3.1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Wikidata-lib/PropertySuggester.git",
- "reference": "793390f84e180097f0511aa2b09dacd50168dfa3"
- },
- "dist": {
- "type": "zip",
- "url":
"https://api.github.com/repos/Wikidata-lib/PropertySuggester/zipball/793390f84e180097f0511aa2b09dacd50168dfa3",
- "reference": "793390f84e180097f0511aa2b09dacd50168dfa3",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5.0",
- "wikibase/data-model": "~4.1|~5.0|~6.0",
- "wikibase/data-model-services": "~1.1|~2.0|~3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "3.7.*",
- "satooshi/php-coveralls": "dev-master"
- },
- "time": "2016-10-03 12:42:20",
- "type": "mediawiki-extension",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "PropertySuggester\\": "src/PropertySuggester/"
- },
- "files": [],
- "classmap": [
- "PropertySuggesterHooks.php",
- "maintenance/UpdateTable.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "GPL-2.0+"
- ],
- "description": "Extension for Wikibase to provide usefull suggestions
for new properties",
- "homepage": "https://github.com/Wikidata-lib/PropertySuggester",
- "keywords": [
- "propertysuggester",
- "wikibase",
- "wikidata"
- ]
- },
- {
"name": "wikibase/quality",
"version": "dev-master",
"version_normalized": "9999999-dev",
@@ -1862,5 +1686,181 @@
"support": {
"issues": "https://phabricator.wikimedia.org/project/profile/1202/"
}
+ },
+ {
+ "name": "propertysuggester/property-suggester",
+ "version": "3.1.5",
+ "version_normalized": "3.1.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Wikidata-lib/PropertySuggester.git",
+ "reference": "bb0e4afdaa5e8d472c61259d0d2d57688d1159a0"
+ },
+ "dist": {
+ "type": "zip",
+ "url":
"https://api.github.com/repos/Wikidata-lib/PropertySuggester/zipball/bb0e4afdaa5e8d472c61259d0d2d57688d1159a0",
+ "reference": "bb0e4afdaa5e8d472c61259d0d2d57688d1159a0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.0",
+ "wikibase/data-model": "~4.1|~5.0|~6.0",
+ "wikibase/data-model-services": "~1.1|~2.0|~3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "3.7.*",
+ "satooshi/php-coveralls": "dev-master"
+ },
+ "time": "2016-12-02 12:39:32",
+ "type": "mediawiki-extension",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "PropertySuggester\\": "src/PropertySuggester/"
+ },
+ "files": [],
+ "classmap": [
+ "PropertySuggesterHooks.php",
+ "maintenance/UpdateTable.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0+"
+ ],
+ "description": "Extension for Wikibase to provide usefull suggestions
for new properties",
+ "homepage": "https://github.com/Wikidata-lib/PropertySuggester",
+ "keywords": [
+ "propertysuggester",
+ "wikibase",
+ "wikidata"
+ ]
+ },
+ {
+ "name": "mediawiki/article-placeholder",
+ "version": "dev-master",
+ "version_normalized": "9999999-dev",
+ "source": {
+ "type": "git",
+ "url":
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git",
+ "reference": "a1885b4f47445d8a1b40d113b623f98c3005b08b"
+ },
+ "dist": {
+ "type": "zip",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/a1885b4f47445d8a1b40d113b623f98c3005b08b",
+ "reference": "a1885b4f47445d8a1b40d113b623f98c3005b08b",
+ "shasum": ""
+ },
+ "require-dev": {
+ "jakub-onderka/php-parallel-lint": "0.9.2",
+ "mediawiki/mediawiki-codesniffer": "0.7.2"
+ },
+ "time": "2016-12-02 10:49:13",
+ "type": "mediawiki-extension",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "ArticlePlaceholder\\": "includes/",
+ "ArticlePlaceholder\\Specials\\": "includes/specials/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0+"
+ ],
+ "authors": [
+ {
+ "name": "Lucie-Aimée Kaffee"
+ }
+ ],
+ "description": "Provides a special page with Wikibase information
about a certain topic, with invitation to create an article for the topic",
+ "homepage":
"https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder"
+ },
+ {
+ "name": "wikibase/wikibase",
+ "version": "dev-master",
+ "version_normalized": "9999999-dev",
+ "source": {
+ "type": "git",
+ "url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
+ "reference": "32deb99363d0c228f2d74400c71d117643dd0bad"
+ },
+ "dist": {
+ "type": "zip",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/32deb99363d0c228f2d74400c71d117643dd0bad",
+ "reference": "32deb99363d0c228f2d74400c71d117643dd0bad",
+ "shasum": ""
+ },
+ "require": {
+ "data-values/common": "~0.3.0",
+ "data-values/data-types": "~0.5.0",
+ "data-values/data-values": "~1.0",
+ "data-values/geo": "~1.0",
+ "data-values/interfaces": "~0.2.0|~0.1.5",
+ "data-values/javascript": "~0.8.3",
+ "data-values/number": "~0.8.2",
+ "data-values/serialization": "~1.1",
+ "data-values/time": "~0.8.4",
+ "data-values/validators": "~0.1.0",
+ "data-values/value-view": "~0.18.0",
+ "diff/diff": "~2.0",
+ "php": ">=5.5.0",
+ "wikibase/data-model": "^6.3.1",
+ "wikibase/data-model-javascript": "~3.0.0",
+ "wikibase/data-model-serialization": "~2.2",
+ "wikibase/data-model-services": "~3.7",
+ "wikibase/internal-serialization": "~2.3",
+ "wikibase/javascript-api": "~2.2.0",
+ "wikibase/serialization-javascript": "~2.0.6",
+ "wikimedia/purtle": "~1.0"
+ },
+ "conflict": {
+ "mediawiki/mediawiki": "<1.25"
+ },
+ "require-dev": {
+ "jakub-onderka/php-parallel-lint": "0.9.2",
+ "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
+ },
+ "time": "2016-12-02 10:49:32",
+ "type": "mediawiki-extension",
+ "installation-source": "dist",
+ "autoload": {
+ "classmap": [
+ "client/includes/",
+ "client/WikibaseClient.hooks.php",
+ "client/tests/phpunit/MockClientStore.php",
+ "lib/includes/",
+ "lib/WikibaseLib.hooks.php",
+ "lib/maintenance/",
+ "repo/includes/",
+ "repo/maintenance/",
+ "repo/tests/phpunit/",
+ "repo/Wikibase.hooks.php"
+ ],
+ "psr-4": {
+ "Wikibase\\Client\\Tests\\": "client/tests/phpunit/includes",
+ "Wikibase\\Lib\\Tests\\": "lib/tests/phpunit",
+ "Wikibase\\View\\": "view/src",
+ "Wikibase\\View\\Tests\\": "view/tests/phpunit"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0+"
+ ],
+ "authors": [
+ {
+ "name": "The Wikidata team"
+ }
+ ],
+ "description": "Structured data repository for MediaWiki",
+ "homepage": "http://wikiba.se",
+ "keywords": [
+ "wikibase",
+ "wikibaseclient",
+ "wikibaselib",
+ "wikibaserepo",
+ "wikidata"
+ ]
}
]
--
To view, visit https://gerrit.wikimedia.org/r/324896
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If8836322db04a10eabe73205240fdf3fcb345be1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: Aude <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits