Extension:FlaggedRevs/zh

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

配置
Follow these steps to install FlaggedRevs:


 * 1) 確保您所運行的是MediaWiki版本1.17或以上. 否則，您必需要先升級以安裝FlaggedRevs.
 * 2) 下载FlaggedRevs.  Choose a version of FlaggedRevs that matches the version of MediaWiki that you are using. For example: If you are running MediaWiki 1.17, download FlaggedRevs 1.17.
 * 3) Extract the downloaded file to the   directory of your MediaWiki installation. For example:
 * 4) Ensure that image hashes are up-to-date by running the populateImageSha1.php maintenance script. For example:
 * 5) Make sure that the   directory is readable by the web server (so that the web server can serve the FlaggedRevs CSS, images and JavaScript.) For example: Assuming that the web server user does not own the   directory, run:
 * 6) Enable collection of article review statistics.
 * 7) Disable on-demand statistic generation. 参见中的 .  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).
 * 8) Set up scheduled statistics generation. Create a cron job to run   at a regular interval. Run   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   as user   every hour:
 * 1) Enable collection of article review statistics.
 * 2) Disable on-demand statistic generation. 参见中的 .  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).
 * 3) Set up scheduled statistics generation. Create a cron job to run   at a regular interval. Run   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   as user   every hour:


 * 1) Enable FlaggedRevs by adding the following line to :
 * 2) Update MediaWiki's database schemas by running  . This must be done after the above step is saved or you will receive a database error when accessing any page.
 * 3) 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) 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.

用户权限和用户组
預設情況下，沒有人可以進行審核，因此第一步是設定用戶權限.

用户权限
標記修訂新增以下用戶權限：
 * – 用戶可以審核修訂
 * – 用戶可以審核修訂，並能夠設定任何標記為任何級別
 * – 用戶所做的任何新修訂都會被自動標記為已審核
 * – 用戶進行的回退被自動標記為審核.
 * – 用戶可以查看Special:UnreviewedPages
 * – 用戶可以更改任何頁面的穩定版本設定
 * – 用戶可以移動有穩定版本的頁面

用户组
標記修訂新增以下用戶組：


 * – 擁有 ，以及MediaWiki標準用戶權限
 * – 擁有 ，以及MediaWiki標準用戶權限
 * – 擁有

如何分配用户权限
用戶權限可以透過兩種方式授予：

將這些用戶權限授予給 中已存在的用戶組：
 * 授予權限到用戶組

透過Special:UserRights手動將用戶帳號添加到對應的用戶組.
 * 授予權限給特定用戶
 * 默认值：
 * 行政员可以添加/移除复核者
 * 管理員可以添加/移除自動審核員和編輯者.

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


 * – Sets 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.
 * – Sets the tags and their three settings: 'levels', 'quality', and 'pristine'
 * 定义
 * 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 'quality'
 * 'pristine' decides what level the tag must be for a revision to be 'pristine'
 * Labeling
 * Each tag can be labeled editing the page MediaWiki:revreview-.
 * Each tag level can be labeled editing the page MediaWiki:revreview--.
 * Example
 * 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:
 * 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:
 * {|class="wikitable"
 * {|class="wikitable"

!标签 !labeling page !content
 * accuracy
 * MediaWiki:revreview-accuracy
 * depth
 * MediaWiki:revreview-depth
 * tone
 * MediaWiki:revreview-tone
 * Tone
 * }
 * tone
 * MediaWiki:revreview-tone
 * Tone
 * }
 * }


 * To label the tag levels, the admins have to create these pages with the shown content:


 * {|class="wikitable"

!标签 !level !labeling page !内容
 * rowspan=3|accuracy
 * 0
 * MediaWiki:revreview-accuracy-0
 * 1
 * MediaWiki:revreview-accuracy-1
 * 2
 * MediaWiki:revreview-accuracy-2
 * rowspan=3|depth
 * 0
 * MediaWiki:revreview-depth-0
 * 1
 * MediaWiki:revreview-depth-1
 * 2
 * MediaWiki:revreview-depth-2
 * rowspan=3|tone
 * 0
 * MediaWiki:revreview-tone-0
 * Weak
 * 1
 * MediaWiki:revreview-tone-1
 * Good
 * 2
 * MediaWiki:revreview-tone-2
 * Excellent
 * }
 * rowspan=3|tone
 * 0
 * MediaWiki:revreview-tone-0
 * Weak
 * 1
 * MediaWiki:revreview-tone-1
 * Good
 * 2
 * MediaWiki:revreview-tone-2
 * Excellent
 * }
 * 2
 * MediaWiki:revreview-tone-2
 * Excellent
 * }


 * The resulting setup will be:


 * {|class="wikitable"

!tag names !colspan=3|level names
 * Tone
 * Weak
 * Good
 * Excellent
 * }
 * Tone
 * Weak
 * Good
 * Excellent
 * }
 * Tone
 * Weak
 * Good
 * Excellent
 * }
 * }


 * – Whether the stable version is the default content for pages.
 * – An 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).
 * Example
 * – Array 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").
 * – Array 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").
 * – Array 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

 * – When enabled, a simpler, icon based UI is used. Does not affect the tags shown in edit mode.
 * – 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.

工作流

 * – Makes users in these groups see the current/draft revision by default.
 * – If 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.
 * – If  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.
 * 例子

Automatic user promotion

 * – An 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.
 * 例子
 * For $wgFlaggedRevsAutopromote, one might have:
 * 例子
 * For $wgFlaggedRevsAutopromote, one might have:

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

使用

 * 参见： 

通过页面
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.



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



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



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.



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.



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


 * A log of promotion/demotion of editors and the reasons is kept at Special:Log/userrights.
 * A log of the approval/unapproval of revisions is kept at Special:Log/review.
 * 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".

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
Reviews a page.


 * Parameters
 * : The revision ID for which to set the flags
 * : An edit token retrieved through prop=info
 * : Comment for the review (optional)
 * : Set the flag named "accuracy" to the specified value; (replace "accuracy" with the flag name to set another flag)


 * Example

action = stabilize
Changes page stabilization settings.


 * Parameters
 * : Title of page to be stabilized
 * : Reason for stabilization
 * : (Deprecated?) Stabilization expiry. Default: infinite
 * : Whether to auto-review the page
 * : Whether to watch the page
 * : An edit token retrieved through prop=info
 * For protection-like configurations :
 * : The right users must have in order for their edits to not require review.
 * Otherwise :
 * : Default revision to show (latest | stable)
 * : Which stable revision should be shown (pristine | quality | latest). Default: quality
 * : Restriction level for the 'autoreview' right (sysop | none). Default: none


 * Example

action = flagconfig
Shows information about review flag configuration.

The following parameters are returned for each tag:
 * : the name of the flag
 * : the number of possible levels the flag has (not counting the "unreviewed" level)
 * : level the flag must be for the revision to be considered "quality"
 * : 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.


 * Example

list = reviewedpages
Lists pages that have been reviewed.


 * Parameters
 * : Start listing at this page id.
 * : Stop listing at this page id.
 * : In which direction to list.
 * : The namespaces to enumerate.
 * : How to filter for redirects
 * : How to filter by quality (0=sighted,1=quality)
 * : How many total pages to return.


 * Example

list = unreviewedpages
Lists pages which have never been reviewed.


 * Parameters
 * : Start listing at this page title.
 * : Stop listing at this page title.
 * : The namespaces to enumerate.
 * : How to filter for redirects
 * : How to filter by quality (0=sighted,1=quality)
 * : How many total pages to return.


 * Example

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


 * Parameters
 * : Start listing from this timestamp
 * : Stop listing at this timestamp.
 * : In which direction to list.
 * : The namespaces to enumerate.
 * : How to filter for redirects
 * : How many total pages to return.


 * Example

Limitations

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

Uninstalling

 * 1) Remove the include line from
 * 2) Drop the tables in.
 * 3) Drop the columns ,  , and  , and the index   from the   table (if they exist; only older versions of FlaggedRevs used these)
 * 4) Run   from the command line to flush out the stable version links
 * 5) Run   from the command line if you use

Testing platforms

 * 
 * 
 * 

Licensing
© GPL, Aaron Schulz, Joerg Baach, 2007