From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:FlaggedRevs and the translation is 13% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎azərbaycanca • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎svenska • ‎русский • ‎українська • ‎中文 • ‎日本語
Attenzione Attenzione: Flagged Revisions is unmaintained. See phab:T185664.

Manuale sulle Estensioni MediaWiki
OOjs UI icon advanced.svg
Flagged Revisions
Stato della release: stabile
Implementazione User interface, Special page , User rights , Database , Ajax, API
Descrizione Allows for article content management by "editor" and "reviewer" classes.
Autore(i) Aaron Schulz, Joerg Baach
Politica di compatibilità Snapshots releases along with MediaWiki. Master is not backwards compatible.
MediaWiki 1.21+
Cambi della base di dati
Tabelle flaggedpages
Licenza GNU General Public License 2.0 or later
  • $wgFlaggedRevsRestrictionLevels
  • $wgFlaggedRevsHandleIncludes
  • $wgSimpleFlaggedRevsUI
  • $wgFlaggedRevsTagsAuto
  • $wgFlaggedRevsStats
  • $wgFlaggedRevsAutoReview
  • $wgFlaggedRevsAutopromote
  • $wgFlaggedRevsOversightAge
  • $wgFlaggedRevsTagsRestrictions
  • $wgFlaggedRevsTags
  • $wgFlaggedRevsLowProfile
  • $wgFlaggedRevsAutoconfirm
  • $wgFlaggedRevsOverride
  • $wgFlaggedRevsProtection
  • $wgFlaggedRevsStatsAge
  • $wgFlaggedRevsNamespaces
  • review
  • validate
  • autoreview
  • autoreviewrestore
  • unreviewedpages
  • movestable
  • stablesettings
Traducete l'estensione FlaggedRevs

Verificare uso e versione della matrice.

Problemi Compiti aperti · Riportare un bug

La validazione degli articoli permette agli utenti Editor (Editore) e Reviewer (Recensore) di valutare gli articoli e definire la versione che dev'essere visualizzata all'utente. Queste revisioni resteranno invariate anche se i template usati subiscono delle variazioni o le immagini vengono sovrascritte. Il testo dell'articolo, compresa ogni inclusione completamente espansa, viene memorizzato nella base dei dati. Questo permette a MediaWiki di funzionare un po' di più come un CMS (Content Management System).


The extension can be retrieved directly from Git [?]:

  • Browse code
  • Some extensions have tags for stable releases.
  • Each branch is associated with a past MediaWiki release. There is also a "master" branch containing the latest alpha version (might require an alpha version of MediaWiki).

Extract the snapshot and place it in the extensions/FlaggedRevs/ directory of your MediaWiki installation.

If you are familiar with git and have shell access to your server, you can also obtain the extension as follows:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/FlaggedRevs.git


Gli esempi delle istruzioni di installazione sono scritti per sistemi operativi recenti Unix-Like (soprattutto Linux e Mac VI X) e presuppongono che MediaWiki sia installato nella cartella /var/www/mediawiki. Se stai lavorando su una famiglia differente di sistemi operativi, dovrai utilizzare i comandi ed i percorsi dei file appropriati al tuo sistema operativo.

Segui questi passi per installare FlaggedRevs:

  • Ensure that image hashes are up-to-date by running the populateImageSha1.php maintenance script.[1] For example:
    php maintenance/populateImageSha1.php
  • Scarica e sposta il/i file in una directory chiamata FlaggedRevs nella tua cartella extensions/.
  • Aggiungi il seguente codice al tuo LocalSettings.php (preferibilmente alla fine):
    wfLoadExtension( 'FlaggedRevs' );
  • Esegui lo script di aggiornamento, che creerà automaticamente nel database le tavole necessarie a questa estensione.
  • Configure as required.
  • Yes Done – Naviga in Special:Version nella tua wiki per verificare che l'estensione sia stata installata correttamente.

Per gli utenti che eseguono MediaWiki 1.33 o versioni precedenti:

Le istruzioni sottostanti descrivono il nuovo metodo per installare questa estensione usando wfLoadExtension(). Se è necessario installare questa estensione su queste versioni precedenti (MediaWiki 1.33 e successive), al posto di wfLoadExtension( 'FlaggedRevs' );, devi usare:

require_once "$IP/extensions/FlaggedRevs/FlaggedRevs.php";
  • Enable collection of article review statistics.
    • Disable on-demand statistic generation. Set $wgFlaggedRevsStatsAge = false; in LocalSettings.php . This will prevent statistics from being generated when articles are accessed (which can lead to poor performance when many articles without current statistics are accessed concurrently).
    • Set up scheduled statistics generation. Create a cron job to run extensions/FlaggedRevs/maintenance/updateStats.php at a regular interval. Run time php updateStats.php to see how long the script takes to run and set your cron jobs interval appropriately. For example, to create a cron job that runs updateStats.php as user www-data every hour:
      echo "@hourly php /var/www/mediawiki/extensions/FlaggedRevs/maintenance/updateStats.php" | crontab -u www-data -
    Attenzione Attenzione: This will delete all existing cron jobs for the user.

  • Promote users to be reviewers. After FlaggedRevs is first installed, no user can see the reviewer's widget. To fix this, login as a wiki bureaucrat and go to Special:UserRights, then grant review rights to one or more users. Reviewers will see the reviewer's widget on the bottom of an editable page.


  1. If the hash table is up-to-date, images can be referenced by using their hashes rather than by a name/timestamp pair. In the future, image moves may be supported by MediaWiki, which will break references that used name/timestamp pairs.


Diritti e gruppi di utente

Di default, nessuno può revisionare niente, quindi il primo passo è settare i diritti utente.

Gruppi utente Diritti utente
reviewer validate

Diritti utente

FlaggedRevs crea i seguenti nuovi diritti di utente:

  • review – L'utente può revisionare le revisioni
  • validate – L'utente può revisionare le revisioni e può mettere tutte le etichette a tutti i livelli
  • autoreview – ogni nuova revisione fatta dall'utente è automaticamente segnata come revisioanata
  • autoreviewrestore – autorevisione dei rollback fatti dall'utente.
  • unreviewedpages – l'utente può visionare Special:UnreviewedPages
  • stablesettings – l'utente può cambiare le impostazioni delle versioni stabili di ogni pagina
  • movestable – l'utente può spostare pagine con versioni stabili

Gruppi utente

FlaggedRevs crea i seguenti nuovi gruppi utente:

  • editor – Riceve autoreview, review, unreviewedpages, più il diritti standard di MediaWiki autoconfirmed, editsemiprotected
  • reviewer – riceve autoreview, review, unreviewedpages, validate, più il diritti standard di MediaWiki autoconfirmed, editsemiprotected
  • autoreview – Riceve autoreview

Come assegnare diritti utente

I diritti utente possono essere assegnati in due modi:

  • Assegnando i diritti al gruppo utente
    Assegnare questi diritti utente ad un gruppo utente esistente in LocalSettings.php
$wgGroupPermissions['sysop']['review'] = true; //allow administrators to review revisions
  • Assegnare i diritti ad utenti specifici
    Aggiungere manualmente utenti nel gruppo appropriato mediante Special:UserRights.
Di default:
  • I burocrati possono aggiungere/rimuovere Revisori
  • Gli amministratori possono aggiungere/rimuovere sia Autocontrollati che Redattori.

Configurazione base

FlaggedRevs.php comes with a number of configurable variables. These should be configured in LocalSettings.php.

  • $wgFlaggedRevsNamespacesSets what namespaces may be subject to the review process. This is an array of integers. Look at the beginning of includes/Defines.php to see what integer the default namespaces map to and use the defined constants for readability.
  • $wgFlaggedRevsTagsSets the tags and their three settings: 'levels', 'quality', and 'pristine'
    $wgFlaggedRevsTags is an associative array with keys corresponding to each tag name and values that are arrays of the three settings 'levels', 'quality', and 'pristine':
    • 'levels' controls the number of review levels,
    • 'quality' decides what level the tag must be for a revision to be "qualità"
    • 'pristine' decides what level the tag must be for a revision to be "⧼revreview-lev-pristine⧽"
    • Each tag can be labeled editing the page MediaWiki:revreview-<tag-name>.
    • Each tag level can be labeled editing the page MediaWiki:revreview-<tag-name>-<level-number>.
    Suppose one wants to have 'accuracy', 'depth', and 'tone' tags, with 3 levels each.
    The admins also want revisions with at least 'accuracy' and 'depth' of the 2nd levels to count as 'quality'. The following settings will do that:
    $wgFlaggedRevsTags = [
    	'accuracy' => [ 'levels' => 3, 'quality' => 2, 'pristine' => 4 ],
    	'depth'    => [ 'levels' => 3, 'quality' => 2, 'pristine' => 4 ],
    	'tone'     => [ 'levels' => 3, 'quality' => 1, 'pristine' => 4 ],
    By default, the tags are labeled as they are set in the $wgFlaggedRevsTags array. In this example this means the tags appear exactly as 'accuracy', 'depth' and 'tone'.
    To show tags for example as their capitalized name, the admins have to edit these pages with the shown content:
tag labeling page content
accuracy MediaWiki:revreview-accuracy Accuratezza
depth MediaWiki:revreview-depth ⧼revreview-depth⧽
tone MediaWiki:revreview-tone Tone
To label the tag levels, the admins have to create these pages with the shown content:
tag level labeling page content
accuracy 0 MediaWiki:revreview-accuracy-0 Inadeguata
1 MediaWiki:revreview-accuracy-1 Superficialmente a posto
2 MediaWiki:revreview-accuracy-2 Preciso
depth 0 MediaWiki:revreview-depth-0 ⧼revreview-depth-0⧽
1 MediaWiki:revreview-depth-1 ⧼revreview-depth-1⧽
2 MediaWiki:revreview-depth-2 ⧼revreview-depth-2⧽
tone 0 MediaWiki:revreview-tone-0 Weak
1 MediaWiki:revreview-tone-1 Good
2 MediaWiki:revreview-tone-2 Excellent
The resulting setup will be:
tag names level names
Accuratezza Inadeguata Superficialmente a posto Preciso
⧼revreview-depth⧽ ⧼revreview-depth-0⧽ ⧼revreview-depth-1⧽ ⧼revreview-depth-2⧽
Tone Weak Good Excellent
  • $wgFlaggedRevsOverrideWhether the stable version is the default content for pages.
    Individual pages can be configured to have the stable or draft version as the default content by administrators.
  • $wgFlaggedRevsTagsRestrictionsAn array with keys corresponding to each flag type, and values that are arrays of rights and how high users with it can rate the flags (integral tag level).
    $wgFlaggedRevsTagsRestrictions = [
    	'accuracy' => [ 'review' => 1 ],
    	'depth'	   => [ 'review' => 2 ],
    	'style'	   => [ 'review' => 3 ],
  • $wgFlaggedRevsWhitelistArray of string titles. These titles are pages that are exempt from FlaggedRevs. They are unreviewable and have no flagging UI. Replace ' ' with '_' in titles (e.g. "Main page" -> "Main_page").

User interface

  • $wgSimpleFlaggedRevsUIWhen enabled, a simpler, icon based UI is used. Does not affect the tags shown in edit mode.
  • $wgFlaggedRevsLowProfileThis setting hides the review status box/bar for pages that are reviewed in their latest version. Explanatory text is also removed from some places.


  • $wgFlaggedRevsExceptionsMakes users in these groups see the current/draft revision by default.
  • $wgFlaggedRevsAutoReviewIf enabled, every edit by a user with 'autoreview' rights is automatically reviewed upon save. There is no need to hit the "submit review" button. This feature requires that the previous revision was also reviewed; otherwise, auto-review will not occur.
  • $wgFlaggedRevsTagsAutoIf wgFlaggedRevsAutoReview is enabled, this settings controls how high each tag can be auto-reviewed. If allowed, tags will be auto-reviewed to the same level the previous revision tags were. This is an associative array; each key is a tag and each value is a tag level.
    $wgFlaggedRevsTagsAuto = [
    	'accuracy' => 1, 'depth' => 1, 'style' => 1
Changes in templates and images are auto-reviewed (per-page). This could possibly cause bad versions to be reviewed. Users should be encouraged to use preview or review the page after saving. You may want to set $wgNamespaceProtection[NS_IMAGE] and $wgNamespaceProtection[NS_TEMPLATE] as [ 'editor' ] or [ 'autoconfirmed' ]

Automatic user promotion

  • $wgFlaggedRevsAutopromoteAn array with keys for days, edits, time spacing, benchmarks, emailconfirmed, recent content page edits, total content edits, content pages edited, edit summaries used, IP uniqueness, and userpage existence as keys. The values correspond to how many days/edits are needed for a user account to be autopromoted to Editor status and whether they must be emailconfirmed and have a user page do so. The user must have at least X edits that are Y or more days apart, where X is the number of benchmarks and Y is the time spacing. Set this variable to false to disable this entirely.
    • If a user has their Editor rights removed, they will not automatically be re-granted (the editor status log is checked for revocations).
    • Some of these counts are not retroactive, so you may notice a delay in promotions.
    For $wgFlaggedRevsAutopromote, one might have:
    $wgFlaggedRevsAutopromote['days'] = 60; # days since registration
    $wgFlaggedRevsAutopromote['edits'] = 150; # total edit count
    $wgFlaggedRevsAutopromote['excludeDeleted'] = true; # exclude deleted edits from 'edits' count above?
    $wgFlaggedRevsAutopromote['spacing'] = 3; # spacing of edit intervals
    $wgFlaggedRevsAutopromote['benchmarks'] = 15; # how many edit intervals are needed?
    $wgFlaggedRevsAutopromote['recentContentEdits'] = 10; # $wgContentNamespaces edits in recent changes
    $wgFlaggedRevsAutopromote['totalContentEdits'] = 30; # $wgContentNamespaces edits
    $wgFlaggedRevsAutopromote['uniqueContentPages'] = 10; # $wgContentNamespaces unique pages edited
    $wgFlaggedRevsAutopromote['editComments'] = 5; # how many edit comments used?
    $wgFlaggedRevsAutopromote['email'] = true; # user must be emailconfirmed?
    $wgFlaggedRevsAutopromote['userpageBytes'] = 0; # if userpage is needed, what is the min size?


See FlaggedRevs.php for a complete list of configuration options (with some explanatory comments). Be sure to change only LocalSettings.php to set configuration options rather than editing this file.

To have a wiki where non-users can only see the stable version of articles, see Extension:FlaggedRevs/Restricting unapproved revisions .


See also: Help:FlaggedRevs

Approving pages

Users with some level of review status will have a small rating form on page view (at the bottom of the page) and diffs (at the top of the page) that lets them review revisions. Each tag must at least meet the minimal level of approval. Users should look at the whole page, included templates and images, before reviewing. The (diff to stable) link is very useful for speeding up this process.

Users cannot review a page which they cannot edit. They cannot lower the level of a revision from a level they cannot set. Blocked users cannot do anything.

FlaggedRevs - Review2.png

At Special:StableVersions, you can list out all of the reviewed revisions for a certain page or view reviewed revisions.

FlaggedRevs - Stable Versions.png


At Special:UnreviewedPages, there is a list of pages that have not yet been reviewed, for Editors only. A namespace must be selected and an optional category filter is also present.

FlaggedRevs - UnreviewedPages.png

At Special:OldReviewedPages, there is a list of pages that have been reviewed, but have edits pending. This is for Editors only. An optional category filter is also present.

FlaggedRevs - OldReviewedPages.png

Pages that cannot be reviewed can still be patrolled for anti-vandalism purposes by Editors to see what has been checked already.

A list of reviewed pages at the main review levels can be found at Special:ReviewedPages.



All relevant actions are permanently logged, so everything can be tracked and overseen properly.

  • A log of changes to the stable versioning configuration to pages is logged at Special:Log/stable.

Also, a new page, Special:QualityOversight shows only flaggings log entries related to quality revisions. This is useful if the main log is too flooded with page "sightings".


Patrolling of reviewable pages is disabled, but flagged revisions are marked as patrolled in Recent Changes. This will mean that the only way to patrol a reviewable revision is to flag it. Non-reviewable pages still behave as normal (depending on site patrol settings).

  • Sysops can change whether quality revision have precedence or whether the stable version is shown by default for specific pages.

To disable this, add $wgGroupPermissions['sysop']['stablesettings'] = false; to LocalSettings.php.

  • Page links, category, image, template, language, and external links are still based on the current version of pages.
  • Users cannot move pages they cannot review.

This is deliberate; see task T15994. To work around this, add $wgGroupPermissions['autoconfirmed']['movestable'] = true; to LocalSettings.php

  • You can demote Editors either temporarily by blocking them or permanently via Special:UserRights.

An extra demotion log item will appear for tracking purposes.


FlaggedRevs adds API modules for reviewing revisions and configuring "stabilization" of pages, a module for retrieving flag configuration, and three list modules corresponding to the special pages for reviewed pages, unreviewed pages and "old" reviewed pages.

Some more API documentation is at Extension:FlaggedRevs/API .

action = review

Reviews a page.

  • revid: The revision ID for which to set the flags
  • token: A csrf token retrieved through action=query&meta=tokens
  • comment: Comment for the review (optional)
  • flag_accuracy: Set the flag named "accuracy" to the specified value; (replace "accuracy" with the flag name to set another flag)

Review revision 12345

action = stabilize

Changes page stabilization settings.

  • title: Title of page to be stabilized
  • reason: Reason for stabilization
  • expiry: (Deprecated?) Stabilization expiry. Default: infinite
  • review: Whether to auto-review the page
  • watch: Whether to watch the page
  • token: An edit token retrieved through action=query&meta=tokens
  • For protection-like configurations ($wgFlaggedRevsProtection=true):
  • protectlevel: The right users must have in order for their edits to not require review.
  • Otherwise ($wgFlaggedRevsProtection=false):
  • default: Default revision to show (latest | stable)
    precedence: Which stable revision should be shown (pristine | quality | latest). Default: quality
    autoreview: Restriction level for the 'autoreview' right (sysop | none). Default: none

Configure the page "Foo" such that only quality revisions are shown by default

action = flagconfig

Shows information about review flag configuration.

The following parameters are returned for each tag:

  • name: the name of the flag
  • levels: the number of possible levels the flag has (not counting the "unreviewed" level)
  • tier2: level the flag must be for the revision to be considered "quality"
  • tier3: level the flag must be for the revision to be considered "pristine"

The displayed name for each flag and the different level names for each flag are MediaWiki messages, so can be set and retrieved through the appropriate page; for example the name for the first level of the "accuracy" flag is located at MediaWiki:revreview-accuracy-1.


Retrieve flag configuration

list = reviewedpages

Lists pages that have been reviewed.

  • rpstart: Start listing at this page id.
  • rpend: Stop listing at this page id.
  • rpdir: In which direction to list.
  • rpnamespace: The namespaces to enumerate.
  • rpfilterredir: How to filter for redirects
  • rpfilterlevel: How to filter by quality (0=sighted,1=quality)
  • rplimit: How many total pages to return.

List "sighted" pages in main namespace

list = unreviewedpages

Lists pages which have never been reviewed.

  • urstart: Start listing at this page title.
  • urend: Stop listing at this page title.
  • urnamespace: The namespaces to enumerate.
  • urfilterredir: How to filter for redirects
  • urfilterlevel: How to filter by quality (0=sighted,1=quality)
  • urlimit: How many total pages to return.

List pages in the main namespace that have not been "sighted"

list = oldreviewedpages

Lists pages that have at some point been reviewed, but for which the most recent revision is not reviewed.

  • orstart: Start listing from this timestamp
  • orend: Stop listing at this timestamp.
  • ordir: In which direction to list.
  • ornamespace: The namespaces to enumerate.
  • orfilterredir: How to filter for redirects
  • orlimit: How many total pages to return.

List pages in the main namespace with recent unreviewed revisions


Use action=query&prop=flagged to get information about the flagging status of the given pages.


  • Transclusions across wikis are not stabilized
  • External images (aside from Commons) are not stabilized
  • Metatemplates that conditionally include other templates may have the condition change between the time a reviewer loaded a page and when they reviewed it.

Therefore, there would be no pointers to the revision id for this different template to load from, making it blue linked. You will be notified if this happens during review.


  1. Remove the require_once or wfLoadExtension line from LocalSettings.php
  1. Drop the tables in FlaggedRevs.sql
  1. Drop the columns page_ext_reviewed, page_ext_quality, and page_ext_stable, and the index ext_namespace_reviewed from the page table (if they exist; only older versions of FlaggedRevs used these)
  1. Run maintenance/refreshLinks.php from the command line to flush out the stable version links
  1. Run maintenance/rebuildFileCache.php 0 overwrite from the command line if you use $wgFileCache

Testing platforms

See also

External links


© GPL, Aaron Schulz, Joerg Baach, 2007