Page MenuHomePhabricator

Split PoolCounter extension into MediaWiki core and a service repository
Closed, ResolvedPublic

Description

The 2 PHP classes in the PoolCounter extension should be moved into MediaWiki core (along with the existing PoolCounter stuff), and the daemon should be put into a mediawiki/services/poolcounter repository.

Today there's an established pattern of having PHP code in core that depends upon a MediaWiki service (parsoid/restbase/etc.), and we also have a pattern for maintaining external services intended for use by MediaWiki.

Event Timeline

Legoktm triaged this task as Medium priority.Aug 4 2018, 5:18 AM
Legoktm created this task.

Change 455079 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[mediawiki/extensions/PoolCounter@master] Remove daemon, moved into a separate repository

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

Change 455079 merged by jenkins-bot:
[mediawiki/extensions/PoolCounter@master] Remove daemon, moved into a separate repository

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

Not currently working on this.

Change 834401 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/core@master] poolcounter: Merge Client and ConnectionManager from extension repo

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

Change 865206 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/extensions/PoolCounter@master] Replace with a stub that extends the MediaWiki core class

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

I'm curious what's the migration guide for e.g. translatewiki.net?

I'm curious what's the migration guide for e.g. translatewiki.net?

Do you mean for the localisation files or for twn as a consumer? As consumer, the change is backwards-compatible since the same config vars are being used, and the extension class is retained for compatibility.

  1. At some point after the above two changes land, at your own convenience, update LocalSettings to have class in $wgPoolCounterConf point to the new core PoolCounter Client class, instead of the extension's PoolCounter Client class which is just an empty subclass of the core one now.
  2. After change 1, at your own convenience, remove the PoolCounter extension from your install.

I meant as a consumer. Thanks for clarifying!

Change 834401 merged by jenkins-bot:

[mediawiki/core@master] poolcounter: Merge Client and ConnectionManager from extension repo

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

Change 868178 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/core@master] poolcounter: Create PoolCounterFactory service class

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

Change 865206 merged by jenkins-bot:

[mediawiki/extensions/PoolCounter@master] Replace with a stub that extends the MediaWiki core class

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

Change 868178 merged by jenkins-bot:

[mediawiki/core@master] poolcounter: Create PoolCounterFactory service class

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