Open main menu
This page is a translated version of the page Extension:FlaggedRevs and the translation is 86% complete.

Other languages:
Deutsch • ‎English • ‎azərbaycanca • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎русский • ‎українська • ‎中文 • ‎日本語

要了解如何使用標記修訂,请阅读標記修訂的帮助页面。 (protection-based config )
MediaWiki扩展手册
OOjs UI icon advanced.svg
Flagged Revisions
发布状态: 稳定版
实现 User interface, Special page, User rights, Database, Ajax, API
描述 允許條目由「編輯者」和「審核員」進行內容管理。
作者 Aaron Schulz, Joerg Baach
兼容性方针 发行分支
MediaWiki 1.21+
数据更新
表格 flaggedpages
flaggedpage_pending
flaggedrevs
flaggedtemplates
flaggedimages
flaggedpage_config
flaggedrevs_tracking
flaggedrevs_promote
flaggedrevs_statisticsn
许可协议 GNU General Public License 2.0 or later
下载
添加的权限
review, autoreview, autoreviewrestore, validate, stablesettings, movestable
使用的钩子
UserGetRights
ArticleSaveComplete
LinksUpdateConstructed
ArticleUndelete
ArticleMergeComplete
ArticleRevisionUndeleted
ParserClearState
LocalFile::getHistory
BeforeParserFetchTemplateAndtitle
BeforeParserMakeImageLinkObj
ParserAfterTidy
OutputPageParserOutput
ArticleSaveComplete
NewRevisionFromEditComplete
userCan
LogLine
UserRights
GetAutoPromoteGroups
APIGetAllowedParams
APIQueryAfterExecute
MediaWikiPerformAction
BeforePageDisplay
ImagePageFindFile
CategoryPageView
SkinTemplateTabs
ArticleRollbackComplete
ArticleViewHeader
EditPage::showEditForm:initial
PageHistoryPager::getQueryInfo
PageHistoryLineEnding
ImagePageFileHistoryLine
ArticleUpdateBeforeRedirect
DiffViewHeader
EditPage::showEditForm:fields
PageHistoryBeforeList
InitializeArticleMaybeRedirect
HTMLCacheUpdate::doUpdate
ParserTestTables
ArticleDeleteComplete
SpecialPage_initList
UnitTestsList
SpecialNewpagesConditions
SpecialNewPagesFilters
SpecialRecentChangesFilters
SpecialWatchlistFilters
RecentChange_save
BeforeParserFetchFileAndTitle
ProtectionForm::buildForm
翻译FlaggedRevs扩展
检查使用和版本矩阵。
问题 开放的工作 · 报告错误

標記修訂擴展允許編輯者審核員用戶對條目的修訂版本進行評級,並將這些修訂設定為在普通查看頁面時的預設版本。 即使包含的模板或圖片被更改,這些修訂也將保持不變。 這讓MediaWiki更像是一個內容管理系統(CMS)。

Contents

下载

此扩展可直接从Git检索到 [?]:

  • 浏览代码
  • 部分扩展有稳定版本标签。
  • 每个分支与过去的MediaWiki发布版本相关联。 这里也有一个“主线”分支,包含最新alpha版本(可能需要MediaWiki的alpha版本)。

提取快照,并将它放置在您的MediaWiki安装副本的extensions/FlaggedRevs/目录中。

如果您对git熟悉,并且拥有您服务器的shell访问权,您也可以通过以下方法获得扩展:

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

配置

安装说明中的示例是针对现代类Unix操作系统(尤其是Linux和Mac OS X)编写的,并假设MediaWiki安装在/var/www/mediawiki目录中。 如果您正在使用不同系列的操作系统,则需要使用适合于操作系统的命令和文件路径。

请按照以下步骤安装Flagged Revs:

  1. 確保您所運行的是MediaWiki版本1.17或以上。否則,您必需要先升級以安裝FlaggedRevs。
  2. 下载FlaggedRevs。 选择与您正在使用的MediaWiki版本匹配的FlaggedRevs版本。例如:如果您正在运行MediaWiki 1.17,请下载FlaggedRevs 1.17。
  3. 将下载的文件解压缩到MediaWiki安装的extensions/FlaggedRevs目录。例如:
    tar -xzf FlaggedRevs-MW1.17-r75373.tar.gz -C /var/www/mediawiki/extensions
  4. 通过运行populateImageSha1.php 维护脚本确保图像的哈希值是最新的。[1]例如:
    php maintenance/populateImageSha1.php
  5. 确保extensions/FlaggedRevs/frontend/modules目录可由Web服务器读取(以便Web服务器可以提供FlaggedRevs CSS,图像和JavaScript。) 例如:假设Web服务器用户没有extensions/FlaggedRevs/frontend/modules目录,请运行:
    chmod o+r extensions/FlaggedRevs/frontend/modules
  6. 启用条目审阅统计信息的收集。
    1. 禁用按需统计信息生成。 参见LocalSettings.php 中的$wgFlaggedRevsStatsAge = false;。 这将阻止在访问条目时生成统计信息(当同时访问许多没有当前统计信息的文章时,这会导致性能不佳)
    2. 设置计划的统计信息生成。 创建一个cron作业以定期运行extensions/FlaggedRevs/maintenance/updateStats.php 运行time php updateStats.php以查看脚本运行所需的时间并适当地设置cron作业间隔。 例如,建立一個cron任務在每個小時以www-data的身分執行updateStats.php
      echo "@hourly php /var/www/mediawiki/extensions/FlaggedRevs/maintenance/updateStats.php" | crontab -u www-data -
  警告: 这将删除用户的所有现有cron作业。
  1. 通过将以下行添加到LocalSettings.php 来启用FlaggedRevs
    require_once("$IP/extensions/FlaggedRevs/FlaggedRevs.php");
    
  2. 透過執行php maintenance/update.php更新MediaWiki的資料庫結構。 This must be done after the above step is saved or you will receive a database error when accessing any page.
  3. 授權用户成为审阅者。 首次安装FlaggedRevs后,没有用户可以看到审阅者的工具集。 To fix this, login as a wiki bureaucrat and go to Special:UserRights, then grant review rights to one or more users. 審閱者將會在可編輯頁面的底部看到審閱者的工具集。

注释

  1. 如果哈希表是最新的,图像可以通过使用它们的哈希而不是名称/时间戳对来引用。 将来,MediaWiki可能会支持图像移动,这会破坏使用名称/时间戳对的引用。

维基媒体服务器安装

参见wikitech:Heterogeneous deployment#Install a new extension on a wikiwikitech:How to do a schema change

Instructions for Wikimedia projects community: m:Flagged Revisions#Enabling.

These notes are specific to the Wikimedia servers, and are probably not applicable to your setup.

cd /a/common/php-1.23wmf5
mwscript sql.php --wiki=metawiki extensions/FlaggedRevs/backend/schema/mysql/FlaggedRevs.sql
cd ..
sync-dir wmf-config
touch wmf-config/InitialiseSettings.php
sync-common-file flaggedrevs.dblist
sync-dir wmf-config

配置

用户权限和用户组

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

用户组 用户权限
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 – 設定可以進行審核的命名空間。 這是一個整數的陣列。 查閱includes/Defines.php的開頭,找到預設命名空間所對應的整數,並使用已定義的常數來提高可讀性。
  • $wgFlaggedRevsTags – 設定標籤及它們三個設定:「levels」、「quality」和「pristine」
    定义
    $wgFlaggedRevsTags是一個關聯陣列,鍵為所對應的標籤名稱,值為「levels」、「quality」和「pristine」設定的陣列。
    • 「levels」控制審核等級的數量。
    • 「quality」決定哪個標籤級別是「優良」的。
    • 「pristine」決定哪個標籤級別是「完美」的。
    標籤
    • 每個標記可以透過編輯頁面「MediaWiki:revreview-<tag-name>」來設定標籤。
    • 每個標記等級可以透過編輯頁面「MediaWiki:revreview-<tag-name>-<level-number>」來設定標籤。
    範例
    假設有人想要有「accuracy」、「depth」和「tone」標籤,每個標籤有3個等級。
    管理員還希望至少第二級的「accuracy」和「depth」才能是「優良」的。 以下設定將這麼運作:
    $wgFlaggedRevsTags = array(
    	'accuracy' => array( 'levels' => 3, 'quality' => 2, 'pristine' => 4 ),
    	'depth'    => array( 'levels' => 3, 'quality' => 2, 'pristine' => 4 ),
    	'tone'     => array( 'levels' => 3, 'quality' => 1, 'pristine' => 4 ),
    );
    
    預設情況下,標記的標籤在$wgFlaggedRevsTags陣列中設定。 在這個範例中表示標籤顯示為「accuracy」、「depth」和「tone」。
    To show tags for example as their capitalized name, the admins have to edit these pages with the shown content:
标签 標籤頁面 内容
accuracy MediaWiki:revreview-accuracy 准确性
depth MediaWiki:revreview-depth 深度
tone MediaWiki:revreview-tone 語調
要標籤標記級別,管理員必須建立這些頁面來顯示內容:
标签 等級 標籤頁面 内容
accuracy 0 MediaWiki:revreview-accuracy-0 不充分
1 MediaWiki:revreview-accuracy-1 可接受
2 MediaWiki:revreview-accuracy-2 准确
depth 0 MediaWiki:revreview-depth-0 不充分
1 MediaWiki:revreview-depth-1 基本
2 MediaWiki:revreview-depth-2 普通
tone 0 MediaWiki:revreview-tone-0
1 MediaWiki:revreview-tone-1
2 MediaWiki:revreview-tone-2 優良
設定結果將會是:
標籤名稱 等級名稱
准确性 不充分 可接受 准确
深度 不充分 基本 普通
語調 優良
  • $wgFlaggedRevsOverride – 穩定版本是否是頁面的預設內容。
    各個頁面皆可以由管理員設定預設內容為穩定版本還是草稿版本。
  • $wgFlaggedRevsTagsRestrictions – 關聯陣列,鍵為每個標籤的類型,值為可以設定最高標籤等級的對應權限陣列(整數的標籤等級)。
    範例
    $wgFlaggedRevsTagsRestrictions = array(
    	'accuracy' => array( 'review' => 1 ),
    	'depth'	   => array( 'review' => 2 ),
    	'style'	   => array( 'review' => 3 ),
    );
    
  • $wgFlaggedRevsWhitelist – 標題的字串陣列 這些標題的頁面將被標記修訂豁免。 它們不能被審核,不顯示標記UI。 在標題中用'_'替換' '(例如:「Main page」->「Main_page」)


用戶介面

  • $wgSimpleFlaggedRevsUI – 啟用後將使用更簡單基於圖示的UI。 Does not affect the tags shown in edit mode.
  • $wgFlaggedRevsLowProfile – This setting hides the review status box/bar for pages that are reviewed in their latest version. Explanatory text is also removed from some places.

工作流

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

自動授權用戶

  • $wgFlaggedRevsAutopromote – 為一個包含鍵的陣列,鍵可以為年齡、編輯數、編輯時間間隔、benchmarks、是否確認電子郵件、最近內容頁面編輯數、總內容頁面編輯數、編輯內容頁面的數量、使用編輯摘要的數量、IP uniqueness和是否存在用戶頁。 這些值對應為用戶帳戶被自動授予「編輯者」狀態所需的天數/編輯數,以及是否通過電子郵件確認和擁有用戶頁。 用戶必須至少在Y或更多天分別有至少X次編輯,其中X是benchmarks,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; # 如果需要用戶頁,則最少的大小為?
    

進階

有關配置選項的完整列表,請參閱FlaggedRevs.php(帶有一些解釋性註釋)。 請務必確認僅更改localsettings.php以設定配置選項,而不是編輯此文件。

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

使用

参见: Help:FlaggedRevs

通过页面

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

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

 

Special:StableVersions中,你可以列出特定頁面已審核的修訂或檢視已審核的修訂版本。

 

維護

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

 

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

 

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

為主要審核級別的已審核頁面列表可以在Special:ReviewedPages找到。

 

日誌

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

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

备注

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

API

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 documenation is at Extension:FlaggedRevs/API.

action = review

審核一個頁面。

參數
  • revid: The revision ID for which to set the flags
  • token: 通过prop=info取得的編輯權杖
  • comment: 审阅意见(可选)
  • flag_accuracy: Set the flag named "accuracy" to the specified value; (replace "accuracy" with the flag name to set another flag)
範例

审阅修订版本12345

action = stabilize

更改页面稳定版本设置。

參數
  • title: 稳定版本的页面标题
  • reason: 稳定版本的原因
  • expiry: (已弃用?)稳定期限到期。 默认值:无限期
  • review: 是否自动审核页面
  • watch: 是否监视页面
  • token: 通过prop=info取得的編輯權杖
  • 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: 权限的名称
  • 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: 过滤重定向
  • rpfilterlevel: 按质量过滤 (0=sighted,1=quality)
  • rplimit: 要返回的总页数
範例

List "sighted" pages in main namespace

list = unreviewedpages

列出从未审核过的页面。

參數
  • urstart: 从这一页面标题开始列出。
  • urend: 从这一页面标题停止列出。
  • urnamespace: 要枚举的命名空间。
  • urfilterredir: 过滤重定向
  • urfilterlevel: 按质量过滤 (0=sighted,1=quality)
  • urlimit: 要返回的总页数
範例

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: 从此时间戳开始列出
  • orend: 从此时间戳停止列出
  • ordir: In which direction to list.
  • ornamespace: The namespaces to enumerate.
  • orfilterredir: 过滤重定向
  • orlimit: 要返回的总页数。
範例

列出主命名空间中最近未审阅的修订的页面


限制

  • 跨維基的嵌入引用不是穩定版本
  • 外部圖片(除了來自維基共享資源的)不是穩定版本
  • 有條件地引用其他模板的元模板,可能會在審核者載入頁面和審核頁面之間的時間內,條件發生變化。 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. 移除在LocalSettings.php中包含的行
  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