Extension:FlaggedRevs

This page is a translated version of the page Extension:FlaggedRevs and the translation is 98% complete.
Outdated translations are marked like this.
警告 警告: 标记修订功能非常笨拙、复杂,尽管標記為「稳定」,仍不建议大量使用。 請参见phab:T185664。 该扩展自2014年以来未曾安装在維基媒體的任何新的维基上。
MediaWiki扩展手册
Flagged Revisions
发行状态: 稳定版
实现 用户界面, 特殊页面 , 用户权限 , 数据库 , Ajax, API
描述 可以由「編輯者」和「審核員」進行條目內容的管理。
作者 Aaron Schulz, Joerg Baach
兼容性政策 快照跟随MediaWiki发布。 master分支不向后兼容。
MediaWiki >= 1.43
数据库更改
flaggedpages
flaggedpage_pending
flaggedrevs
flaggedpage_config
flaggedrevs_tracking
flaggedrevs_promote
flaggedrevs_statistics
许可协议 GNU通用公眾授權條款2.0或更新版本
下載
帮助 Help:Extension:FlaggedRevs/zh
  • $wgFlaggedRevsRestrictionLevels
  • $wgSimpleFlaggedRevsUI
  • $wgFlaggedRevsTagsAuto
  • $wgFlaggedRevsAutoReview
  • $wgFlaggedRevsHandleIncludes
  • $wgFlaggedRevsTagsRestrictions
  • $wgFlaggedRevsTags
  • $wgFlaggedRevsLowProfile
  • $wgFlaggedRevsAutoconfirm
  • $wgFlaggedRevsOverride
  • $wgFlaggedRevsProtection
  • $wgFlaggedRevsAutopromote
  • $wgFlaggedRevsNamespaces

  • review
  • validate
  • autoreview
  • autoreviewrestore
  • unreviewedpages
  • stablesettings
  • movestable
季度下載量 75 (Ranked 65th)
翻译FlaggedRevs扩展
問題 开启的任务 · 报告错误

標記修訂擴展允許編輯者審核員用户對條目的修訂版本進行評級,並將這些修訂設定為在普通查看頁面時的預設版本。 這讓MediaWiki更像是一個內容管理系統(CMS)。

安裝

  • 下载文件,并将解压后的FlaggedRevs文件夹移动到extensions/目录中。
    开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/FlaggedRevs
  • 将下列代码放置在您的LocalSettings.php 的底部:
    wfLoadExtension( 'FlaggedRevs' );
    
  • 运行更新脚本,它将自动创建此扩展必须依赖的数据库表。
  • 按需求配置。
  •   完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。

设置

AllowEncodedSlashes

如果使用的是Apache 2.3.12或更高版本,则应将AllowEncodedSlashes设置为"NoDecode"。 将下面一行添加到你的‎<VirtualHost>文件中,如果没有,则添加到httpd.conf文件的末尾:

AllowEncodedSlashes NoDecode

你编辑完httpd.conf后,需要重新启动Apache。

Alter your .htaccess (if needed)

如果您正在缩短URL ,则需要在 .htaccess 中添加一个例外,以便使用 REST API

rest.php 中标记修订的调用。例如:

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

如果在调用上述url時没有正确设置.htaccess条件,FlaggedRevs将"照字面地"尝试访问名为"W/rest.php/flaggedrevs/internal/review/Main Page"的條目。

以下是在 .htaccess 中添加例外的一种方法,已加入強調:

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]

将用户晋升为审阅者

首次安装FlaggedRevs后,不會有用户可以看到审阅者的工具集。 要解决这个问题,请以维基官員的身份登录并转到Special:UserRights,然后授予一个或多个用户审查权。 審閱者將會在可編輯頁面的底部看到審閱者的工具集。

文章審閱统计(可选)

这适用于類Unix的系统,并假定MediaWiki已安装在/var/www/mediawiki中。

對於按计划收集文章審閱的统计数据,請创建一个cron作业以定期运行extensions/FlaggedRevs/maintenance/updateStats.php 运行time php updateStats.php以查看脚本运行所需的时间并适当地设置cron作业间隔。 例如,建立一個cron任務在每個小時以www-data的身分執行updateStats.php

@hourly php /var/www/mediawiki/extensions/FlaggedRevs/maintenance/updateStats.php

配置

用户权限和用户组

預設情況下,沒有人可以進行審核,因此第一步是設定用户權限。

用户组 用户权限
reviewer validate
review
editor
autoreview
unreviewedpages

用户权限

標記修訂新增以下用户權限:

  • review – 用戶可以審核修訂
  • validate – 用戶可以審核修訂,並能夠設定任何標記為任何級別
  • autoreview – 用戶所做的任何新修訂都會被自動標記為已審核
  • autoreviewrestore – 用戶進行的回退被自動標記為審核。
  • unreviewedpages – 用戶可以查看Special:UnreviewedPages
  • stablesettings – 用戶可以更改任何頁面的穩定版本設定
  • movestable – 用戶可以移動有穩定版本的頁面

用户组

標記修訂新增以下用戶組:

  • editor – 擁有autoreview, review, unreviewedpages,以及MediaWiki標準用戶權限autoconfirmed, editsemiprotected
  • reviewer – 擁有autoreview, review, unreviewedpages, validate,以及MediaWiki標準用戶權限autoconfirmed, editsemiprotected
  • autoreview – 擁有autoreview

如何分配用户权限

用戶權限可以透過兩種方式授予:

  • 授予權限到用戶組
    將這些用戶權限授予給LocalSettings.php 中已存在的用戶組:
$wgGroupPermissions['sysop']['review'] = true; //allow administrators to review revisions
  • 授予權限給特定用戶
    透過Special:UserRights手動將用戶帳號添加到對應的用戶組。
默认值:
  • 行政员可以添加/移除复核者
  • 管理員可以添加/移除自動審核員和編輯者。

基本設定

FlaggedRevs.php附帶了許多可設定的變數。 這些應該在LocalSettings.php中進行設定。

  • $wgFlaggedRevsNamespaces – 設定可以進行審核的命名空間。 這是一個整數的陣列。 查閱Manual:命名空间常量 ,找到預設命名空間所對應的整數,並使用已定義的常數來提高可讀性。
  • $wgFlaggedRevsTags – 設定標籤及它們三個'levels'设置。
    定义
    $wgFlaggedRevsTags是一個關聯陣列,鍵為所對應的標籤名稱。 数组中唯一有意义的值是'levels',它控制审查级别的数量,而且数组只能有一个元素。
    標籤
    • 每個標記可以透過編輯頁面「MediaWiki:revreview-<tag-name>」來設定標籤。
    • 每個標記等級可以透過編輯頁面「MediaWiki:revreview-<tag-name>-<level-number>」來設定標籤。
    預設情況下,標記的標籤在$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 – 啟用後將使用更簡單、基於圖示的用户介面。 不影响编辑模式下显示的标记。
  • $wgFlaggedRevsLowProfile – 此设置可隐藏最新版本中已审核页面的审核状态框/栏。 某些地方的解释性文字也一併被移除了。

工作流

  • $wgFlaggedRevsAutoReview – 如果啟用,則具有'autoreview'權限的用戶的每次編輯都會在儲存時被自動審核。 無需點擊「送出審核」按鈕。 此功能要求前一次修訂版本也必需已被審核,否則,自動審核將不會發生。
  • $wgFlaggedRevsTagsAuto – 如果wgFlaggedRevsAutoReview啟用,此設定控制著每個標籤的自動審核的層級。 如果允許,標籤將被自動審核為與前一次修訂相同的級別。 這是一個關聯陣列。每個鍵都是一個標記,每個值都是一個標記等級。
    示例
    $wgFlaggedRevsTagsAuto = [
    	'accuracy' => 1
    ];
    
模板的更改會被自動審核(根據頁面)。 這可能會導致糟的版本通過審核, 應鼓勵用戶們使用預覽或是在儲存後查看頁面。 也許您會想要設定$wgNamespaceProtection[NS_TEMPLATE][ 'editor' ][ 'autoconfirmed' ]

自動的用戶晉級

  • $wgFlaggedRevsAutopromote – 為一個包含鍵的陣列,鍵可以為年齡、編輯數、編輯時間間隔、benchmarks、是否確認電子郵件、最近內容頁面編輯數、總內容頁面編輯數、編輯內容頁面的數量、使用編輯摘要的數量、IP uniqueness和是否存在用戶頁。 這些值對應為用戶帳戶被自動授予「編輯者」狀態所需的天數/編輯數,以及是否通過電子郵件確認和擁有用戶頁。 用戶必須至少在相隔Y天以上至少有過X次的編輯,其中X是基準,而Y是時間間隔。 將此變數設定為false可將這些完全停用。
    • 如果某個用戶移除了他們的編輯者權限,則他們不會被重新自動授予(檢查編者的狀態日誌以確認是否撤銷)。
    • 其中一些計數不具有追溯性,因此您可能會在晉級時發現它有延遲。
    示例
    對於$wgFlaggedRevsAutopromote,可能的情形是:
    $wgFlaggedRevsAutopromote['days'] = 60; # 自註冊以來的天數
    $wgFlaggedRevsAutopromote['edits'] = 150; # 總編輯次數
    $wgFlaggedRevsAutopromote['excludeDeleted'] = true; # 上面的總編輯次數是否不包含已刪除的編輯?
    $wgFlaggedRevsAutopromote['spacing'] = 3; # 编辑间隔的間距
    $wgFlaggedRevsAutopromote['benchmarks'] = 15; # 需要多少这样的编辑间隔?
    $wgFlaggedRevsAutopromote['recentContentEdits'] = 10; # 在最近更改中$wgContentNamespaces的編輯次數
    $wgFlaggedRevsAutopromote['totalContentEdits'] = 30; # $wgContentNamespaces的編輯次數
    $wgFlaggedRevsAutopromote['uniqueContentPages'] = 10; # $wgContentNamespaces中相異頁面的編輯次數
    $wgFlaggedRevsAutopromote['editComments'] = 5; # 已使用編輯摘要的次數?
    $wgFlaggedRevsAutopromote['email'] = true; # 用戶是否需要進行電子郵件確認?
    $wgFlaggedRevsAutopromote['userpageBytes'] = 0; # 如果需要用戶頁,則最少的大小為?
    

高级

  • $wgFlaggedRevsRestrictionLevels - autoreviewreview权限的限制级别。 当为页面选择了一个级别时,如果用户没有指定权限,其编辑将不会被自动审阅。 级别在Special:Stabilization中设置。
  • $wgFlaggedRevsProtection - 将此设置为使用 FlaggedRevs 只是作为类似保护机制(Help:Pending changes),而不是标准配置。
  • $wgFlaggedRevsAutoConfirm - 定义用户何时可以对自己的编辑内容进行自动审核。 设置为false可禁用。
  • $wgFlaggedRevsHandleIncludes - 在渲染页面的稳定版本时,是否使用稳定版本的模板。

要讓維基的未註冊用戶只能看到條目的穩定版本,請參閱Extension:FlaggedRevs/Restricting unapproved revisions

使用

参见: Help:FlaggedRevs

批准页面

擁有某些審核狀態級別的用戶將在檢視頁面(位於頁面底部)和差異(位於頁面頂部)時有小的評級表單,供他們審核修訂版本。 每個標記必須至少達到最低的批准級別。 在審核之前用戶應該查看整個頁面,包括模板和圖片。 與穩定版本間差異的連結對於加速此過程非常有用。

用戶無法審核他們無法編輯的頁面。 他們不能降低修訂級別為他們無法設定的級別。 被封鎖的用戶不能做任何事情。

 

維護

Special:UnreviewedPages中,有從未被審核過的頁面列表,僅對編輯者可見。 必須選擇命名空間,也有一個分類過濾器可供選擇。

 

Special:OldReviewedPages中,有已審核頁面但包含待定更改的頁面列表。 僅對編輯者可見。 也有一個分類過濾器可供選擇。

 

无法审查的页面仍可由编辑者出于反破坏目的进行巡查,查看哪些内容已被审核。

日誌

所有相关操作都会被永久记录,因此可以正确跟踪和监督所有操作。

备注

  • $wgUseRCPatrol 被此擴展啟用。 對於可審核的頁面,巡查被停用,但已標記的版本在最近更改中被標示為已巡查。 這表示巡查可審核修訂的唯一方法是標記它。 不可審核的頁面仍然表現正常(取決於站點巡查設定)。
  • 管理員可以對特定頁面更改預設,是否要优先显示穩定版本。 要禁用此功能,在LocalSettings.php添加$wgGroupPermissions['sysop']['stablesettings'] = false;
  • 頁面連結、分類、圖片、模板、語言和外部連結仍然基於當前版本的頁面。
  • 用戶無法移動他們無法審核的頁面。 這是故意的,見工單T15994。 要解決這個問題,在LocalSettings.php中添加$wgGroupPermissions['autoconfirmed']['movestable'] = true;
  • 要除去編輯者權限,你可以暫時封鎖他們,或透過Special:UserRights來永久除權。 為了跟踪目的將出現額外的除權日誌項目。

API

FlaggedRevs 增加了用于审核修订版和配置页面"稳定化"的API模块、一个用于检索标记配置的模块,以及两个列表模块,分别对应于未审核页面和已审核"旧"页面的特殊页面。

action=review

審核一個頁面。

参数
  • revid: 要设置标记的修订版 ID
  • token: 通过action=query&meta=tokens 取得的csrf權杖
  • comment: 审阅的意见(可选)
  • flag_accuracy: 将名为 "accuracy "的标记设置为指定值;(用标记名称替换 "accuracy",以设置另一个标记)
  • unapprove: 如果將它设置,修订将是未批准的,而不是批准的
示例
审阅修订版本12345
结果
<api>
  <review revid="12345" />
</api>

action=stabilize

更改页面稳定版本设置。

参数
  • title: 稳定版本的页面标题
  • reason: 稳定版本的原因
  • expiry: 稳定期限到期。默认值:无限期
  • review: 是否自动审核页面
  • watch: 是否监视页面
  • token: 通过action=query&meta=tokens 取得的編輯權杖
  • 用于类保护的配置($wgFlaggedRevsProtection=true):
    protectlevel: 用户为使其编辑「不」需要审核而必须拥有的权利。
  • 否则 ($wgFlaggedRevsProtection=false):
    default: 默认显示版本(最新版 | 稳定版)
    autoreview: "自动预览"权限的限制级别(系统管理员 | 无)。默认值:无
示例
配置页面"Foo",默认情况下只显示已审核的修订版本
结果
<api>
  <stabilize title="Foo" default="stable" autoreview="none" expiry="infinite" />
</api>

action=flagconfig

显示审查标记配置信息。

每个标签都会返回以下参数:

  • name: 权限的名称
  • levels: 标记的可能级别数(不包括"未审查"级别)

每个标志的显示名称和每个标志的不同级别名称都是MediaWiki訊息,因此可以通过相应页面进行设置和检索;例如,"准确性"标志的第一级名称位于MediaWiki:revreview-accuracy-1

示例
读取旗帜配置
结果
<api>
  <flagconfig>
    <tag name="value" levels="3" tier1="1" />
  </flagconfig>
</api>

list=unreviewedpages

列出从未审核过的页面。

参数
  • urstart: 从这一页面标题开始列出。
  • urend: 从这一页面标题停止列出。
  • urnamespace: 要枚举的命名空间。
  • urfilterredir: 过滤重定向
  • urfilterlevel: 按质量过滤 (0=sighted,1=quality)
  • urlimit: 要返回的总页数
示例
列出主命名空间中尚未被"看到"的页面
结果
<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

列出曾在某一阶段接受过审查,但最新修订版未接受审查的页面。

参数
  • orstart: 从此时间戳开始列出
  • orend: 从此时间戳停止列出
  • ordir: 朝哪个方向列举。
  • 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 获取给定页面的标记状态信息。

限制

  • 跨維基的嵌入引用不是穩定版本

解除安裝

  1. 移除在LocalSettings.php中包含的require_oncewfLoadExtension
  2. 刪除表格在的FlaggedRevs.sql
  3. 刪除欄位page_ext_reviewedpage_ext_qualitypage_ext_stablepage表的ext_namespace_reviewed索引(如果存在;只有舊版本的標記修訂使用他們)
  4. 在命令列執行maintenance/refreshLinks.php以清除穩定版本連結
  5. 如果你使用$wgFileCache,在命令列執行maintenance/rebuildFileCache.php 0 overwrite

測試平台

參閱

外部連結

許可證

© GPL, Aaron Schulz, Joerg Baach, 2007