Erweiterung:Flagged Revisions

From mediawiki.org
This page is a translated version of the page Extension:FlaggedRevs and the translation is 31% complete.
Warnung Warnung: Flagged Revisions ist sehr klobig, komplex und wird für den Produktionseinsatz nicht empfohlen trotz des „stable“-Tags. Siehe phab:T185664.
MediaWiki-Erweiterungen
OOjs UI icon advanced-invert.svg
Flagged Revisions
Freigabestatus: stabil
Einbindung Benutzer-Schnittstelle, Spezialseite , Benutzerrechte , Datenbank , Ajax, API
Beschreibung Flagged Revisions lässt Artikelinhaltsverwaltung für "Bearbeiter" und "Sichter"-Klassen zu.
Autor(en) Aaron Schulz, Joerg Baach
Kompatibilitätspolitik Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.21+
Datenbankänderungen Ja
Tabellen flaggedpages
flaggedpage_pending
flaggedrevs
flaggedtemplates
flaggedpage_config
flaggedrevs_tracking
flaggedrevs_promote
flaggedrevs_statistics
Lizenz GNU General Public License 2.0 oder neuer
Herunterladen
Help Help:Extension:FlaggedRevs/de
  • $wgFlaggedRevsRestrictionLevels
  • $wgSimpleFlaggedRevsUI
  • $wgFlaggedRevsTagsAuto
  • $wgFlaggedRevsAutoReview
  • $wgFlaggedRevsHandleIncludes
  • $wgFlaggedRevsTagsRestrictions
  • $wgFlaggedRevsTags
  • $wgFlaggedRevsLowProfile
  • $wgFlaggedRevsAutoconfirm
  • $wgFlaggedRevsOverride
  • $wgFlaggedRevsProtection
  • $wgFlaggedRevsAutopromote
  • $wgFlaggedRevsNamespaces
  • review
  • validate
  • autoreview
  • autoreviewrestore
  • unreviewedpages
  • movestable
  • stablesettings
Übersetze die FlaggedRevs-Erweiterung

Prüfe die Benutzungs- und Versionsmatrix.

Probleme Offene Aufgaben · Einen Fehler melden

Die Erweiterung Flagged Revisions, zu deutsch auch "Markierte Versionen", ermöglicht es Benutzern der Gruppe Editor (also Bearbeiter) und Reviewer (also Sichter), Versionen von Artikeln zu bewerten und diese Versionen als Standardversion auf eine normale Ansicht zu setzen. Dies ermöglicht MediaWiki, sich mehr wie ein Content Management System zu verhalten.

Download

Die Erweiterung kann direkt von Git bezogen werden [?]:

  • Den Code ansehen
  • Einige Erweiterungen haben Tags für stabile Versionen.
  • Jeder Zweig ist mit einer früheren MediaWiki-Freigabe verknüpft. Es gibt auch einen „Master“-Zweig, der die aktuellste Alpha-Version enthält (möglicherweise ist dafür eine Alpha-Version von MediaWiki erforderlich).

Extrahiere den Snapshot und kopiere ihn in das extensions/FlaggedRevs/-Verzeichnis der MediaWiki-Installation.

Falls man sich mit git auskennt und einen Konsolen-Zugang zum Server hat, kann man die Erweiterung auch so bekommen:

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

Einrichtung

Die Beispiele in dieser Installationsanleitung sind für moderne Unix-ähnliche Betriebssysteme (speziell Linux und Mac OS X) geschrieben und setzen voraus, dass MediaWiki in dem Ordner /var/www/mediawiki installiert ist. Wenn du auf einer anderen Familie von Betriebssystemen arbeitest, wirst du Befehle und Dateipfade entsprechend dem Betriebssystem gebrauchen müssen.

Befolge diese Schritte, um FlaggedRevs zu installieren:

  • Ensure that image hashes are up-to-date by running the populateImageSha1.php maintenance script.[1] Zum Beispiel:
    php maintenance/populateImageSha1.php
  • Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens FlaggedRevs im Ordner extensions/ ablegen.
  • Folgenden Code am Ende der LocalSettings.php hinzufügen:
    wfLoadExtension( 'FlaggedRevs' );
    
  • Führe das Aktualisierungsskript aus, welches automatisch die notwendigen Datenbanktabellen erstellt, die diese Erweiterung braucht.
  • Configure as required.
  • Yes Erledigt – Zu Special:Version in dem Wiki (bei Einstellung auf deutsch nach Spezial:Version) navigieren, um die erfolgreiche Installierung der Erweiterung zu überprüfen.

Für Benutzer, die MediaWiki in der Version 1.33 und früher betreiben:

Die oben stehenden Anweisungen beschreiben die neue Installationsanweisung für diese Erweiterung unter der Verwendung von wfLoadExtension(). Wird diese Erweiterung in einer dieser früheren Versionen (MediaWiki 1.33 und früher)  – an Stelle von wfLoadExtension( 'FlaggedRevs' ); – installiert, benutze:

require_once "$IP/extensions/FlaggedRevs/FlaggedRevs.php";
  • Erlaube das Sammeln von Statistiken über das Sichten von Artikeln.
    • Konfiguration der zeitplangesteuerten Erstellung von Statistiken. Erstelle einen cron-Job, der extensions/FlaggedRevs/maintenance/updateStats.php in einem regelmäßigen Intervall ausführt. Führe time php updateStats.php aus um herauszufinden, wie lange die Skriptausführung dauert und stelle das Intervall des cronjobs entsprechend ein. Um beispielsweise einen cronjob zu erstellen, der updateStats.php als Benutzer www-data jede Stunde ausführt:
      echo "@hourly php /var/www/mediawiki/extensions/FlaggedRevs/maintenance/updateStats.php" | crontab -u www-data -
    Warnung Warnung: Dadurch werden alle vorhandenen cronjobs für den Benutzer gelöscht.
  • Weise Benutzern Sichter-Rechte zu. Nach der Erstinstallation von FlaggedRevs ist das Sichter-Widget zunächst bei keinem Benutzer angezeigt. Um dies zu ändern, melde Dich als Wiki-Bürokrat an und öffne Special:UserRights und erteile Sichter-Rechte an einen oder mehrere Benutzer. Sichter werden nun das Sichter-Widget am Ende einer editierbaren Seite sehen.

Aufzeichnungen

  1. If the hash table is up-to-date, images can be referenced by using their hashes rather than by a name/timestamp pair. Zukünftig kann möglicherweise das Verschieben von Bildern durch MediaWiki unterstützt werden, wodurch aus Namen und Datum bestehende Referenzen ungültig würden.

Konfiguration

Benutzerrechte und Benutzergruppen

Standardmäßig kann niemand etwas überprüfen. Der erste Schritt ist es also Benutzerrechte einzurichten.

Benutzergruppen Benutzerrechte
reviewer validate
review
editor
autoreview
unreviewedpages

Benutzerrechte

FlaggedRevs erstellt die folgenden neuen Benutzerrechte:

  • reviewuser can review revisions
  • validateuser can review revisions and can set all tags to all levels
  • autoreviewany new revisions made by the user are automatically marked as sighted
  • autoreviewrestoreautoreview of the rollbacks made by the user.
  • unreviewedpages – der Benutzer kann Special:UnreviewedPages anzeigen
  • stablesettingsuser can changes the settings of stable revisions of any page
  • movestableuser can move pages with stable revisions

Benutzergruppen

FlaggedRevs erstellt die folgenden neuen Benutzergruppen:

  • editorreceive autoreview, review, unreviewedpages, plus the standard MediaWiki user rights autoconfirmed, editsemiprotected
  • reviewerreceive autoreview, review, unreviewedpages, validate, plus the standard MediaWiki user rights autoconfirmed, editsemiprotected
  • autoreviewreceive autoreview

Benutzerrechte zuweisen

User rights can be assigned in two ways:

  • Assigning rights to user groups


Assign these user rights to existing user groups in LocalSettings.php :

$wgGroupPermissions['sysop']['review'] = true; //allow administrators to review revisions
  • Assigning rights to specific users


Manually add user accounts to the appropriate groups via Special:UserRights.

By default:
  • Bureaucrats can add/remove Reviewers
  • Administrators can add/remove both Autoreviewers and Editors.

Grundeinstellungen

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. See Manual:Namespace constants to see what integer the default namespaces map to and use the defined constants for readability.
  • $wgFlaggedRevsTagsSets the tags and their 'levels' setting.
    Definition
    $wgFlaggedRevsTags is an associative array with keys corresponding to each tag name. The only meaningful value of the array is 'levels', which controls the number of review levels, and the array can only have one element.
    Labeling
    • 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>.
    By default, the tag is labeled as it appears in the $wgFlaggedRevsTags array. To override this, and show tags for example as their capitalized name, the admins have to edit these pages with the shown content, for example changing the content of MediaWiki:revreview-accuracy
To label the tag levels, the admins have to create these pages with the shown content:
Tag level labeling page Inhalt
accuracy 0 MediaWiki:revreview-accuracy-0 unzureichend
1 MediaWiki:revreview-accuracy-1 Überprüft
2 MediaWiki:revreview-accuracy-2 geprüft
The resulting setup will be:
Tag-Namen level names
Status unzureichend Überprüft geprüft
  • $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).
    Beispiel
    $wgFlaggedRevsTagsRestrictions = [
    	'accuracy' => [ 'review' => 1 ],
    ];
    


Benutzeroberfläche

  • $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.

Ablauf

  • $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.
    Beispiel
    $wgFlaggedRevsTagsAuto = [
    	'accuracy' => 1
    ];
    
Changes in templates 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_TEMPLATE] as [ 'editor' ] or [ 'autoconfirmed' ]

Automatische Benutzerbeförderung

  • $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.
    Beispiel
    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?
    

Erweitert

  • $wgFlaggedRevsRestrictionLevels - Restriction levels for autoreview/review rights. When a level is selected for a page, an edit made by a user will not be auto-reviewed if the user lacks the specified permission. Levels are set at Special:Stabilization.
  • $wgFlaggedRevsProtection - Set this to use FlaggedRevs only as a protection-like mechanism (Help:Pending changes), rather than the standard configuration.
  • $wgFlaggedRevsAutoConfirm - Define when users get to have their own edits auto-reviewed. Set to false to disable.
  • $wgFlaggedRevsHandleIncludes - Whether to use stable versions of templates when rendering the stable version of a page.

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

Verwendung

Siehe auch: Help:FlaggedRevs

Seiten genehmigen

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

Pflege

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.

Protokollierung

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.

Hinweise

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 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.

API

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

action=review

Reviews a page.

Parameter
  • 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)
  • unapprove: If set, revision will be unapproved rather than approved
Beispiel

Review revision 12345

Ergebnis
<api>
  <review revid="12345" />
</api>

action=stabilize

Changes page stabilization settings.

Parameter
  • title: Title of page to be stabilized
  • reason: Reason for stabilization
  • expiry: 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)
    autoreview: Restriction level for the 'autoreview' right (sysop | none). Default: none
Beispiel

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

Ergebnis
<api>
  <stabilize title="Foo" default="stable" autoreview="none" expiry="infinite" />
</api>

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)

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.

Beispiel

Retrieve flag configuration

Ergebnis
<api>
  <flagconfig>
    <tag name="value" levels="3" tier1="1" />
  </flagconfig>
</api>

list=unreviewedpages

Lists pages which have never been reviewed.

Parameter
  • 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.
Beispiel

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

Ergebnis
<api>
  <query-continue>
    <unreviewedpages urstart="Arbeitgeberverband_Chemie_und_verwandte_Industrien_für_das_Land_Hessen" />
  </query-continue>
  <query>
    <unreviewedpages>
      <p pageid="4762806" ns="0" title="Aaftink" revid="65175047" />
      <p pageid="4747500" ns="0" title="Abt RS6" revid="64976429" />
      <p pageid="4749877" ns="0" title="Acht Vorlesungen über den Konstruktiven Realismus" revid="65089962" />
      <p pageid="4758156" ns="0" title="Alkylglycerole" revid="65169004" />
      <p pageid="4719044" ns="0" title="All Riot" revid="64767732" />
      <p pageid="4745418" ns="0" title="Allgäu-Panorama-Marathon" revid="64974783" />
      <p pageid="4729976" ns="0" title="An- und Einpressen" revid="64742640" />
      <p pageid="4742559" ns="0" title="Anjara I. Bartz" revid="64925772" />
      <p pageid="4740681" ns="0" title="Anthony Norris Groves" revid="65064712" />
      <p pageid="4759964" ns="0" title="Antonino Asta" revid="65169073" />
    </unreviewedpages>
  </query>
</api>

list=oldreviewedpages

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

Parameter
  • 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.
Beispiel

List pages in the main namespace with recent unreviewed revisions

Ergebnis
<api>
  <query-continue>
    <oldreviewedpages orstart="2009-09-15T20:23:05Z" />
  </query-continue>
  <query>
    <oldreviewedpages>
      <p pageid="144735" ns="0" title="Two International Finance Centre" revid="64562654" stable_revid="62769201" pending_since="2009-09-15T16:16:33Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="1629949" ns="0" title="Porta San Sebastiano" revid="64791898" stable_revid="61610797" pending_since="2009-09-15T16:19:32Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="2157354" ns="0" title="Entwicklungspolitik der Europäischen Union" revid="64640078" stable_revid="59929751" pending_since="2009-09-15T16:38:33Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="971904" ns="0" title="Federpendel" revid="65142775" stable_revid="59587441" pending_since="2009-09-15T17:37:29Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="3106812" ns="0" title="Soultzbach-les-Bains" revid="64552516" stable_revid="60455707" pending_since="2009-09-15T19:04:07Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="1223029" ns="0" title="VfR Bürstadt" revid="65150048" stable_revid="62925935" pending_since="2009-09-15T19:35:30Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="829158" ns="0" title="GSP" revid="64553869" stable_revid="62913440" pending_since="2009-09-15T19:38:46Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="3453867" ns="0" title="Agios Dimitrios" revid="65103799" stable_revid="64544222" pending_since="2009-09-15T19:47:10Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="2583263" ns="0" title="Jörg Kudlich" revid="64554475" stable_revid="62429967" pending_since="2009-09-15T20:03:24Z" flagged_level="0" flagged_level_text="stable" />
      <p pageid="325478" ns="0" title="Liste deutscher Komponisten klassischer Musik" revid="65089571" stable_revid="63582610" pending_since="2009-09-15T20:21:55Z" flagged_level="0" flagged_level_text="stable" />
    </oldreviewedpages>
  </query>
</api>

prop=flagged

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

Begrenzungen

  • Transclusions across wikis 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.

Deinstallieren

  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

Testplattformen

Siehe auch

Weblinks

Lizenzierung

© GPL, Aaron Schulz, Joerg Baach, 2007