The
WikimediaEditorTasks
extension supports the
Suggested Edits
project of the
Wikimedia Apps
team. It provides an interface for defining specialized counters that tally edits per user with the desired characteristics. For example, a counter may be defined to count a user's edits via the
wbsetdescription
API module where the User-Agent begins with
WikipediaApp
.
If
$wgWikimediaEditorTasksEnableEditStreaks
is
true
, the extension will also keep track of "streaks" for each counter, i.e., consecutive days in which the contributor has made a qualifying edit.
These counts are exposed through the
wikimediaeditortaskscounts
API module.
Config
[
edit
]
$wgWikimediaEditorTasksUserCountsCluster
: The database cluster in which the tables can be found. If
false
, use the cluster of the current wiki. At Wikimedia, this is set to
extension1
. (Default:
false
)
$wgWikimediaEditorTasksUserCountsDatabase
: The database in which the tables can be found. If
false
, use the current wiki database. At Wikimedia, this is set to
wikishared
. (Default:
false
)
$wgWikimediaEditorTasksEnabledCounters
: List of enabled counter definitions, instantiated on demand by
ObjectFactory
. (Default:
[]
)
- Wikimedia's current configuration, for example:
[
[
'class' => 'MediaWiki\\Extension\\WikimediaEditorTasks\\WikipediaAppDescriptionEditCounter',
'counter_key' => 'app_description_edits',
],
[
'class' => 'MediaWiki\\Extension\\WikimediaEditorTasks\\WikipediaAppCaptionEditCounter',
'counter_key' => 'app_caption_edits',
],
[
'class' => 'MediaWiki\\Extension\\WikimediaEditorTasks\\WikipediaAppImageDepictsEditCounter',
'counter_key' => 'app_depicts_edits',
],
],
$wgWikimediaEditorTasksEnableEditStreaks
: Feature flag for edit streak counting. (Default:
false
)
$wgWikimediaEditorTasksEnableRevertCounts
: Feature flag for revert counting. (Default:
false
)
Development
[
edit
]
The recommended development environment for WikimediaEditorTasks is
MediaWiki-Vagrant
(see "Installation" below). The
wikimediaeditortasks
role pulls in the
centralauth
and
wikidata
roles, thereby automating a considerable amount of setup. (Note: A full development environment for Wikimedia requires setting up CentralAuth, WikibaseMediaInfo (Vagrant role
mediainfo
), and Wikidata. This requires either setting up the full environment manually, following the instructions for each extension, or hacking around conflicts between the
wikidata
and
mediainfo
Vagrant roles.)
Conceptually, the extension is very simple: it provides an abstract
Counter
base class that developers can subclass to implement logic defining whether to keep count of a given revision (and reverts to such revisions) per user. Counters may be registered in
$wgWikimediaEditorTasksEnabledCounters
. On
PageSaveComplete
, WikimediaEditorTasks iterates through each registered counter and determines whether the user's count should be iterated. If the new revision undoes another revision, the undone revision is examined to see if the undone revision author's count should be decremented. Revisions are also evaluated for possible decrementing for each registered counter on
RollbackComplete
.
The extension provides a few
WikipediaApp-
counters implementing the specific logic required by Android Suggested Edits. Each is a subclass of the abstract
WikipediaAppCounter
class, which in turn subclasses
Counter
.
WikipediaAppDescriptionEditCounter
: Counts Wikidata description edits from the Wikipedia app per user. In technical terms, it counts revisions created through the
wbsetdescription
API module where the User-Agent begins with
WikipediaApp
.
WikipediaAppCaptionEditCounter
: Counts structured image caption edits from the Wikipedia app per user. In technical terms, it counts revisions created through the
wbsetlabel
API module where the User-Agent begins with
WikipediaApp
.
WikipediaAppImageDepictsEditCounter
: Counts Wikidata Depicts (
P180
) statements added from the Wikipedia app per user. In technical terms, it counts revisions where the User-Agent begins with
WikipediaApp
and the revision results from either a
wbsetclaim
request concerning P180 or a
wbeditentity
request adding a Depicts statement.
Installation
[
edit
]
- Download
and move the extracted
WikimediaEditorTasks
folder to your
extensions/
directory.
Developers and code contributors should install the extension
from Git
instead, using:
cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikimediaEditorTasks
- Add the following code at the bottom of your
LocalSettings.php
file:
wfLoadExtension
(
'WikimediaEditorTasks'
);
- Run the
update script
which will automatically create the necessary database tables that this extension needs.
-
Done
? Navigate to
Special:Version
on your wiki to verify that the extension is successfully installed.
Vagrant installation:
- If using
Vagrant
, install with
vagrant roles enable wikimediaeditortasks --provision
See also
[
edit
]
| This extension is being used on one or more
Wikimedia projects
. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's
CommonSettings.php
and
InitialiseSettings.php
configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's
Special:Version
page.
|