Extension:FlaggedRevs

This page is a translated version of the page Extension:FlaggedRevs and the translation is 80% complete.
警告 警告: Flagged Revisions は、"stable" タグが付いているにもかかわらず、非常に不格好で、複雑で、プロダクションでの使用は推奨されません。 phab:T185664 を参照してください。 This extension has not been installed on any new WMF wikis since 2014.
MediaWiki 拡張機能マニュアル
Flagged Revisions
リリースの状態: 安定
実装 ユーザー インターフェイス, 特別ページ , 利用者権限 , データベース , Ajax, API
説明 「編集者」(editor)と「査読者」(reviewer)の利用者が記事の本文を管理できるようにする。
作者 Aaron Schulz, Joerg Baach
互換性の方針 MediaWiki とともにリリースされるスナップショット。 master には後方互換性がありません。
MediaWiki 1.21+
データベースの変更 はい
テーブル flaggedpages
flaggedpage_pending
flaggedrevs
flaggedtemplates
flaggedimages
flaggedpage_config
flaggedrevs_tracking
flaggedrevs_promote
flaggedrevs_statistics
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
ヘルプ Help:Extension:FlaggedRevs/ja
  • $wgFlaggedRevsRestrictionLevels
  • $wgSimpleFlaggedRevsUI
  • $wgFlaggedRevsTagsAuto
  • $wgFlaggedRevsAutoReview
  • $wgFlaggedRevsHandleIncludes
  • $wgFlaggedRevsTagsRestrictions
  • $wgFlaggedRevsTags
  • $wgFlaggedRevsLowProfile
  • $wgFlaggedRevsAutoconfirm
  • $wgFlaggedRevsOverride
  • $wgFlaggedRevsProtection
  • $wgFlaggedRevsAutopromote
  • $wgFlaggedRevsNamespaces

  • review
  • validate
  • autoreview
  • autoreviewrestore
  • unreviewedpages
  • stablesettings
  • movestable
Quarterly downloads 41 (Ranked 108th)
FlaggedRevs 拡張機能の翻訳にご協力ください
問題点 未解決のタスク · バグを報告

FlaggedRevisions拡張機能を使うと、編集者(Editor)および査読者(Reviewer)は記事の各版を格付けし、どの特定の版を既定として通常のページ表示に用いるか設定できます。 これはつまり、MediaWikiをよりコンテンツマネージメントシステムらしくするものです。

インストール

  • ダウンロードして、ファイルをextensions/フォルダー内のFlaggedRevsという名前のディレクトリ内に配置します。
    開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/FlaggedRevs
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'FlaggedRevs' );
    
  • 更新スクリプトを実行します。このスクリプトは、この拡張機能が必要とするデータベーステーブルを自動的に作成します。
  • 必要に応じて設定します。
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

導入

サンプルでは /var/www/mediawiki ディレクトリに MediaWiki があることを前提に、また 最新のUnix 系 OS (特に Linux および Mac OS X) 向けに説明しています。 違うOS で動作させている場合は、コマンドとファイルパスをそれぞれの環境に合わせて適当なものに置き換えてください。

AllowEncodedSlashes

If you are using Apache 2.3.12 or later, you should set AllowEncodedSlashes to "NoDecode". Add the following line to your ‎<VirtualHost> or, if you don't have one, at the end of your httpd.conf file:

AllowEncodedSlashes NoDecode

After you edited httpd.conf, Apache needs to be restarted.

Alter your .htaccess (if needed)

If you are shortening your URLs , you need to add an exception to .htaccess to allow the use of the REST API .

FlaggedRevs calls on rest.php . For example:

[domain]/w/rest.php/flaggedrevs/internal/review/Main_Page

If the .htaccess conditions are not properly set when the above url is called, FlaggedRevs will literally try to access an article named "W/rest.php/flaggedrevs/internal/review/Main Page".

Here is one way to add an exception to .htaccess, emphasis added:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/w/rest\.php
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d

RewriteRule ^(.*)$ w/index.php?title=$1 [L,QSA]
RewriteRule ^$ w/index.php [L,QSA]

Promote users to reviewers

FlaggedRevs の初回インストール後は、査読者のウィジェットは利用者からは不可視になります。 これを修正するにはウィキのビューロクラットとしてログイン後、Special:UserRights を開き 1 人以上の利用者に査読者の権限を付与します。 査読者には、編集可能なページ末に査読者用ウィジェットが表示されます。

Article review statistics (optional)

For a scheduled collection of article review statistics, create a cron job to run extensions/FlaggedRevs/maintenance/updateStats.php at a regular interval. スクリプトの実行に要する時間を確認し、あなたの指定した間隔でcronジョブを設定するためにtime php updateStats.phpを実行します。 例:ユーザーwww-dataとして毎時updateStats.phpを実行するcronジョブを作成する場合。

echo "@hourly php /var/www/mediawiki/extensions/FlaggedRevs/maintenance/updateStats.php" | crontab -u www-data -
  警告: これにより当該の利用者の既存の cron ジョブはすべて除去されます。

設定

利用者権限と利用者グループ

何も設定していない場合は、誰も何も査読することができないため、最初に利用者権限を設定する必要があります。

利用者グループ 利用者権限
reviewer validate
review
editor
autoreview
unreviewedpages

利用者権限

FlaggedRevsは、以下の利用者権限を新しく追加します。

  • review – この権限を有する利用者は、各版を査読することができます。
  • validate – この権限を有する利用者は、各版を査読し、すべてのタグを任意のレベルに設定出来ます。
  • autoreview – この権限を有する利用者によって作成されたすべての版は、自動的に査読済みとなります。
  • autoreviewrestore – 当該の利用者による差し戻しの自動巡回。
  • unreviewedpagesSpecial:UnreviewedPages (未査読ページ一覧) を閲覧できます
  • stablesettings – 利用者は安定版のいずれのページも設定を変更できます
  • movestable – 利用者は安定版のいずれのページも移動できます

利用者グループ

FlaggedRevsは、以下の利用者グループを新しく追加します。

  • editorMediaWiki 標準の利用者権限 autoconfirmed, editsemiprotected に加えて、autoreview, review, unreviewedpages の権限を持ちます
  • reviewerautoreview, review, unreviewedpages, validate の権限に加えて、MediaWiki の標準的な利用者権限 autoconfirmed, editsemiprotected を持ちます
  • autoreviewautoreviewの権限を持ちます。

利用者権限の割り当て

利用者権限は以下の2つの方法で各利用者に割り当てることができます。

  • 既存の利用者グループへの割り当て
    LocalSettings.php で既に設定されている利用者グループへ、これらの権限を割り当てる方法です。
$wgGroupPermissions['sysop']['review'] = true; //allow administrators to review revisions
  • 特定の利用者への割り当て
    Special:UserRights (特別:利用者権限) を使用して、利用者アカウントを手動で特定のグループに追加します。
既定の設定では:
  • ビューロクラットは、査読者(Reviewer)を追加・除去できます。
  • 管理者は、自動査読者(Autoreviewer)および編集者(Editor)を追加・除去できます。

基本的な設定

FlaggedRevs.php は多くの設定可能な変数を追加します。 これらの変数は LocalSettings.php 内で設定してください。

  • $wgFlaggedRevsNamespaces – どの名前空間で査読が可能になるかを設定します。 整数配列で、 既定の名前空間がどのような整数にマッピングされるかは Manual:名前空間の定数 を参照してください。また、読みやすさのために定義された定数を使用してください。
  • $wgFlaggedRevsTags – タグとその'levels'設定を設定します。
    定義
    $wgFlaggedRevsTags は、各タグ名に対応するキーを持つ連想配列です。 配列の唯一の意味のある値は、レビューレベルの数を制御する'levels'であり、配列は1つの要素のみを持つことができます。
    ラベル付け
    • 各タグは 「MediaWiki:revreview-<タグ名>」ページを編集することで、ラベルを名付けることができます。
    • 各タグの各レベルは、「MediaWiki:revreview-<タグ名>-<レベル番号>」を編集することで、ラベルを名付けることができます。
    既定では、各タグは $wgFlaggedRevsTags 配列で設定された名称でラベル付けされています。 これを上書きして、例えばタグを大文字の名前で表示するには、管理者がこれらのページを編集して、表示されている内容を変更する必要があります。例えば、MediaWiki:revreview-accuracy
タグのレベル名を設定するには、以下のページを編集することで設定できます。
タグ レベル ラベル名ページ 内容
accuracy 0 MediaWiki:revreview-accuracy-0 不十分
1 MediaWiki:revreview-accuracy-1 一覧済み
2 MediaWiki:revreview-accuracy-2 的確
これらの設定のまとめは次のようになります。
タグ名 レベル名
内容の正確さ 不十分 一覧済み 的確
  • $wgFlaggedRevsOverride – 安定版を既定のページ表示にするかどうか
    個々のページは、特別:固定を使って安定版か下書き板のどちらを既定の表示内容にするかを設定できます。
  • $wgFlaggedRevsTagsRestrictions – 各フラグをキーに、各利用者権限を持った人が設定できるレベルの最高値を値に設定した連想配列
    $wgFlaggedRevsTagsRestrictions = [
    	'accuracy' => [ 'review' => 1 ],
    ];
    

ユーザー インターフェイス

  • $wgSimpleFlaggedRevsUI – 有効化されると、アイコン表示されたUIが使用されます。 編集モードでのタグは変更されません。
  • $wgFlaggedRevsLowProfile – 最新版が査読されている場合、査読状況を示すボックス・バーを隠すかどうかを設定できます。 これらに関する説明文も除去されます。

ワークフロー

  • $wgFlaggedRevsAutoReview – 有効化された場合、'autoreview' 権限を持つ利用者によるすべての編集は、保存と同時に自動的に査読済みになります。 「査読を送信」ボタンを押す必要はありません。 ただし、自動査読が実行されるためには、それより前の版が査読されている必要があり、未査読の版がある場合は発動しません。
  • $wgFlaggedRevsTagsAutowgFlaggedRevsAutoReview が有効化されている場合に、自動査読された場合にどのタグがどのレベルとして評価されるのかを設定します。 許可されていると、以前の版のタグレベルと同じレベルに設定されます。 これは連想配列で、各キーがタグで、各値がタグのレベルです。
    $wgFlaggedRevsTagsAuto = [
    	'accuracy' => 1
    ];
    
テンプレートや画像の変更も(各ページごとに)自動査読されます。 これはつまり、良くない版も査読済みにされる場合があるということです。 利用者は、必ずプレビューを確認したり、保存後に手動で査読をすることが推奨されます。 $wgNamespaceProtection[NS_TEMPLATE][ 'editor' ][ 'autoconfirmed' ] のいずれかに設定することもできます

利用者の自動昇格

  • $wgFlaggedRevsAutopromote – 配列のキーとして次の項目を使用します。日付、編集回数、時間の頻度、ベンチマーク、メール確認、コンテンツページの最近の更新、コンテンツ編集の合計回数、編集したコンテンツ ページ総数、編集要約欄の使用状況、IP の独自性、利用者ページの有無。 値は右記の項目を表します。特定の利用者アカウントが編集者資格に自動で昇格される条件となる日数/編集回数、さらにメール確認と利用者ページの有無が必須条件かどうか。 当該の利用者はX 件以上の編集を Y 日以上の間隔を挟んで実施するものと規定され、ベンチマーク数を X、日数を Y にそれぞれ充当します。 すべて無効にするには、この変数を false に設定。
    • 編集者グループから除去された利用者が、再度、自動昇格することはありません(変更記録が確認されます)
    • いくつかの回数は過去遡及しません。そのため、自動昇格が遅れることもあります。
    $wgFlaggedRevsAutopromote は例えば以下のように設定できます:
    $wgFlaggedRevsAutopromote['days'] = 60; # 登録からの経過時間
    $wgFlaggedRevsAutopromote['edits'] = 150; # 合計編集回数
    $wgFlaggedRevsAutopromote['excludeDeleted'] = true; # 先の 'edits' 回数に削除された編集を含めるかどうか
    $wgFlaggedRevsAutopromote['spacing'] = 3; # 編集回数の間隔
    $wgFlaggedRevsAutopromote['benchmarks'] = 15; # 編集間隔の編集数
    $wgFlaggedRevsAutopromote['recentContentEdits'] = 10; # $wgContentNamespaces 内での最近の編集数
    $wgFlaggedRevsAutopromote['totalContentEdits'] = 30; # $wgContentNamespaces 内での編集数
    $wgFlaggedRevsAutopromote['uniqueContentPages'] = 10; # $wgContentNamespaces 内での編集したページ数
    $wgFlaggedRevsAutopromote['editComments'] = 5; # 編集要約を使用した回数
    $wgFlaggedRevsAutopromote['email'] = true; # メールアドレスの確認(emailconfirmed)をすべきかどうか
    $wgFlaggedRevsAutopromote['userpageBytes'] = 0; # 利用者ページが必要な場合、その必要な最小サイズ
    

高度な設定

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

利用者以外は記事の安定版のみを閲覧できるようにするには、Extension:FlaggedRevs/Restricting unapproved revisions を参照してください。

使用法

関連項目: Help:FlaggedRevs

ページの承認

査読権限を持つ利用者には、ページ表示の際 (ページの下部) や差分表示の際 (ページの上部) に小さな格付けフォームが表示され、それを使用して版の査読をすることができます。 各タグは、少なくとも承認できる最低レベルを満たしている必要があります。 査読前に、利用者はテンプレートや画像を含むページ全体を確認する必要があります。 「(安定版との差分)」を使えばこの作業をより早く実行できるでしょう。

利用者は、編集できないページを査読することはできません。 また、設定できないレベルより下に、レベルを下げることもできません。 もちろん、ブロックされた利用者はなにもできません。

 

保存

Special:UnreviewedPages (特別:未査読ページ一覧) では、未査読なページの一覧が表示されます (編集者のみが使用できます)。 表示する名前空間を指定する必要があり、カテゴリを指定することもできます。

 

Special:OldReviewedPages (特別:保留中の変更) では、査読済みだが編集が保留されているページの一覧が表示されます (編集者のみが使用できます)。 表示するカテゴリを指定することもできます。

 

査読できないページも、編集者によって(主に荒らし対策の目的で)引き続き巡回することもでき、巡回された一覧も表示できます。

記録

すべての関連操作は永久的に記録されるため、すべて後から追跡したり確認することができます。

  • 編集者など各グループへの追加・除去の記録は'Special:Log/userrights'(特別:記録/<グループ名>)で確認できます。
  • 版の承認・非承認の記録は'Special:Log/review'(特別:記録/review)に保存されています。
  • 安定版の設定変更記録は'Special:Log/stable'(特別:記録/stable)に表示されます。

注記

  • この拡張機能によって$wgUseRCPatrol が有効化されます が、査読済み版は最近の更新において巡回済みとされます。 つまり、査読可能な版を巡回するには、査読するしかないということです。 査読不可能なページは引き続き、そのサイトの巡回設定にしたがって巡回されます。
  • 管理者は特定のページに対して、安定版を既定で表示するページとするかどうかを変更できます。 これを無効化するには、LocalSettings.php 内で $wgGroupPermissions['sysop']['stablesettings'] = false; と指定してください。
  • ページヘのリンク、カテゴリ、画像、テンプレート、言語間リンクおよび外部リンクは、最新版に基づきます。
  • 査読できないページを移動することはできません。 これは意図的なもので、タスク T15994を参照してください。 これを回避するには、$wgGroupPermissions['autoconfirmed']['movestable'] = true; を LocalSettings.php に追加
  • 編集者権限を剥奪するには、一時的にはブロックを、永久的には Special:UserRights (特別:利用者権限) を使用してください。 降格の記録は、追跡のために追加で表示されます。

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

ページをレビューします。

パラメーター
  • revid: フラグを設定するリビジョンID
  • token: A csrf token retrieved through action=query&meta=tokens
  • comment: レビューへのコメント(任意)
  • 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

レビュー改訂版 12345

結果
<api>
  <review revid="12345" />
</api>

action=stabilize

ページ安定化の設定を変更します。

パラメーター
  • title: 安定化させるページのタイトル
  • reason: 安定化の理由
  • expiry: 安定化の有効期限。既定値: 無期限
  • review: Whether to auto-review the page
  • watch: ページを見るかどうか
  • 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

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

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

Retrieve flag configuration

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

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"

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

パラメーター
  • orstart: Start listing from this timestamp
  • orend: Stop listing at this timestamp.
  • ordir: In which direction to list.
  • ornamespace: 列挙する対象の名前空間。
  • orfilterredir: フィルタでリダイレクトを抽出する
  • orlimit: 返すページの合計。

メインの名前空間にあり、最近の査読が済んでいない版のページを一覧にする

結果
<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

特定のページからフラッグの状況の情報を得るには、action=query&prop=flagged を使用。

制限

  • ウィキを横断した読み込みは対象外になります。
  • 査読者が閲覧した時間と査読した時間で条件が変化し、他のテンプレートを読み込むような上位テンプレートがあるかもしれません。 ゆえに、この異なったテンプレートが読み込まれる版のIDへのポインターは存在しません。もしこのようなことになった場合は、査読中に通知されます。

アンインストール

  1. LocalSettings.php から行のrequire_once または wfLoadExtension を除去
  2. テーブルに FlaggedRevs.sql を当てる
  3. page テーブルから列のpage_ext_reviewedpage_ext_qualitypage_ext_stableさらに索引 ext_namespace_reviewed を除去(この拡張機能の古いバージョンが使用したので存在する場合のみ)
  4. コマンドラインからmaintenance/refreshLinks.php を走らせ、安定版のリンクを一掃する
  5. $wgFileCacheを利用する場合はコマンドラインから maintenance/rebuildFileCache.php 0 overwrite を走らせる

試験プラットフォーム

関連項目


外部リンク

ライセンス

© GPL, Aaron Schulz, Joerg Baach, 2007