Extension:WikimediaEditorTasks
WikimediaEditorTasks Release status: beta |
|
---|---|
Implementation | API , Database |
Description | Supports the Suggested Edits project of the Wikimedia Apps team. |
Author(s) | Michael Holloway |
Latest version | 0.1.0 |
Compatibility policy | Snapshots releases along with MediaWiki. Master is not backward compatible. |
MediaWiki | 1.33+ |
Database changes | Yes |
Tables | wikimedia_editor_tasks_counts wikimedia_editor_tasks_edit_streak wikimedia_editor_tasks_keys |
License | GNU General Public License 2.0 or later |
Download | README.md |
|
|
Quarterly downloads | 1 (Ranked 139th) |
Translate the WikimediaEditorTasks extension if it is available at translatewiki.net | |
Vagrant role | wikimediaeditortasks |
Issues | Open tasks · Report a bug |
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. Iffalse
, use the cluster of the current wiki. At Wikimedia, this is set toextension1
. (Default:false
)$wgWikimediaEditorTasksUserCountsDatabase
: The database in which the tables can be found. Iffalse
, use the current wiki database. At Wikimedia, this is set towikishared
. (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
editThe 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 withWikipediaApp
.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 withWikipediaApp
.WikipediaAppImageDepictsEditCounter
: Counts Wikidata Depicts (P180) statements added from the Wikipedia app per user. In technical terms, it counts revisions where the User-Agent begins withWikipediaApp
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 yourextensions/
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
editThis 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. |