華夏公益教科書:標記修訂擴充套件/不穩定
提案
[編輯原始碼]華夏公益教科書使用標記修訂擴充套件(也稱為標記修訂或待定更改),以便審閱者可以審閱頁面修訂。隨著提出的變更
讀者不會受到審閱的影響,除非管理員被書籍貢獻者要求向讀者展示特定質量的最新審閱修訂版。
貢獻者可以透過兩種方式之一成為審閱者:滿足自動晉升標準或在華夏公益教科書:許可權請求中直接請求。自動晉升將考慮在主名稱空間、食譜和維基少年名稱空間中完成的工作。
審閱者可以將頁面修訂的質量分類為最低限度、平均或良好。審閱的頁面被稱為穩定。所有質量分類均不附帶任何型別的評論。審閱者建立的任何新頁面都將自動獲得最低限度的質量分類。
審閱者還將被授予回退能力(能夠撤銷單個使用者的大量更改)。
標記修訂擴充套件下完成的所有先前工作都不會丟失,因為開發人員將確保對構成的先前審閱將應用於質量。
- 質量標準級別
- 最低限度 - 校對拼寫、標點、語法、段落結構和段落一致性。
- 平均 - 檢查排版和語言是否與書籍的本地風格手冊一致。
- 良好 - 經過徹底檢查,以確保想法/概念一致、中立、準確且有引文。
- 審閱者自動晉升標準
- 主名稱空間、食譜和維基少年名稱空間中的頁面被視為內容頁面,而不僅僅是主名稱空間中的頁面。作為副作用,更多編輯將計入審閱者的自動晉升,統計資料將更加準確。
- 擁有一個註冊帳戶,該帳戶至少有 30 天的有效期,並且在Special:Preferences中設定並確認了電子郵件。
- 從未被封禁,也從未被移除審閱者工具(在這種情況下,您可以請求工具)。
- 至少有 100 次註冊後的編輯(不包括已刪除的編輯),其中
- 現在可以自動晉升共享同一 IP 地址的人員。
提議採納此擴充套件將允許任何人對頁面進行評分,而無需成為審閱者,甚至無需登入。要檢視其在使用中的情況,請訪問en.labs.wikimedia.org,您將在頁面底部看到該擴充套件的介面。此介面使用菜單系統,但維基新聞已實現使用星形圖形的菜單系統。
將為主名稱空間、食譜和維基少年名稱空間中的頁面啟用讀者反饋,任何人都可以(即使是未註冊的使用者)在可靠性、完整性、中立性和展示方面提供五個級別的反饋。
提交反饋後,反饋總數將顯示給讀者,但頁面在收到至少五人的反饋之前,不會成為整體讀者評分頁面的成員。將為每個頁面生成圖表,顯示過去 180 天的反饋。
標記修訂在它被實施的任何名稱空間中都取代了新的頁面巡查系統。由於它在所有使用新頁面巡查的名稱空間中啟用,因此不再需要巡查員組。
使用標記修訂系統的人員通常需要處理破壞行為,因此,無論是自動晉升還是指定,審閱者都將有能力回退頁面上最後編輯者的所有編輯。如果此功能被濫用,工具將被移除,並且必須在華夏公益教科書:許可權請求中請求審閱者組成員資格。這將消除對專門的回退者組的需求。為了避免混淆,以前的編輯者組將成為迄今為止被稱為審閱者的組,管理員將能夠繼續新增或刪除該組的成員。
將提供迄今為止未使用的其他使用者組以供使用。將啟用一個匯入者組,允許社群需要此功能的成員從其他維基媒體網站(例如維基百科)匯入頁面,前提是管理員在華夏公益教科書:許可權請求中進行討論後將他們新增到該組。對於需要執行短期高容量非爭議性工作的社群中值得信賴的成員,官僚可以為他們分配偽機器人標記,以將他們的編輯從最近更改中隱藏。對於長期工作,需要一個單獨的帳戶,以及在WB:RFP中進行全面的討論,以獲得機器人標記。為了簡化操作,以前的轉維基匯入者組將變為前面提到的匯入者組。
由於標記修訂擴充套件刪除了新頁面巡查,並且此提案允許預設情況下向讀者顯示最新的修訂版(無論是否經過審閱),因此需要一種替代方法來限制向讀者顯示的破壞行為數量。採納編輯過濾器擴充套件將允許在一定程度上自動化保護專案免受明顯的破壞行為。
管理員設定的特定情況將決定是否執行一項行動來防止對專案的損害,這被稱為過濾器。過濾器可能會導致以下結果之一:在WB:PH/最近更改中標記編輯,降低使用者在一段時間內可以編輯的速度,向用戶顯示警告訊息,表明他們的編輯不受歡迎,或阻止使用者在一段時間內自動晉升為審閱者。此係統不應阻礙善意貢獻者,並且已註冊使用者(擁有 4 天以上帳戶)將能夠透明地檢視過濾器,以防止潛在的破壞者繞過系統。
配置
[編輯原始碼]建議
[編輯原始碼]############## Flaggedrevs.php ###############
// Sets the recent version as shown
$wgFlaggedRevsOverride = false;
// Main, Template, File, Cookbook, Wikijunior
$wgFlaggedRevsNamespaces = array(
NS_MAIN, NS_FILE, NS_TEMPLATE, 102, 110);
// Three levels: minimal (checked), average (quality)
// good (pristine)
$wgFlaggedRevTags = array(
'quality' => array('levels' => 3, 'quality' => 2, 'pristine' => 3) );
$wgSimpleFlaggedRevsUI = false; // unchanged
$wgFlaggedRevComments = false;
// Edit intervals dropped from 10 to 8; RC edits from 10 to 5; uniqueIP false
$wgFlaggedRevsAutopromote = array(
'days' => 30, # days since registration
'edits' => 100, # total edit count
'excludeDeleted' => true, # exclude deleted edits from 'edits' count above?
'spacing' => 2, # spacing of edit intervals
'benchmarks' => 8, # how many edit intervals are needed?
'recentContentEdits' => 5, # $wgContentNamespaces edits in recent changes
'totalContentEdits' => 50, # $wgContentNamespaces edits
'uniqueContentPages' => 10, # $wgContentNamespaces unique pages edited
'editComments' => 50, # how many edit comments used?
'email' => true, # user must be emailconfirmed?
'userpage' => false, # user must have a userpage?
'uniqueIPAddress' => false, # If $wgPutIPinRC is true, users sharing IPs won't be promoted
'neverBlocked' => true, # Can users that were blocked be promoted?
) + $wgFlaggedRevsAutopromote;
$wgGroupPermissions['editor']['rollback'] = true;
$wgGroupPermissions['sysop']['review'] = true;
$wgGroupPermissions['sysop']['stablesettings'] = true;
$wgGroupPermissions['sysop']['validate'] = true;
// Restrict viewing of edit filter settings/logs to autoconfirmed users
// to discourage lazy vandals from gaming the system
$wgGroupPermissions['*']['abusefilter-view'] = false;
$wgGroupPermissions['*']['abusefilter-log'] = false;
$wgGroupPermissions['autoconfirmed']['abusefilter-view'] = true;
$wgGroupPermissions['autoconfirmed']['abusefilter-log'] = true;
// Remove 'reviewer' group
// (Rename editor to "reviewer" in interface)
unset($wgGroupPermissions['reviewer']);
// Remove distinction between unused 'importer' group
// and rename 'transwiki importer' to 'importer
unset($wgGroupPermissions['importupload']);
// Namespaces for reader feedback
$wgFeedbackNamespaces = array(NS_MAIN, 102, 110);
// Calculate rating based on past 180 days
$wgFeedbackAge = 180 * 24 * 3600;
// 5 ratings are needed before average calculated
$wgFeedbackSizeThreshhold = 5;
############# InitialiseSettings.php ################
'wmgUseReaderFeedback' => array(
'enwikibooks' => true )
'wmgUseAbuseFilter' => array(
'enwikibooks' => true,)
$wgAbuseFilterAvailableActions = array(
'flag', 'throttle', 'warn', 'disallow', 'blockautopromote', 'tag');
// Wikibooks has 3 content namespaces
$wgContentNamespaces = array(NS_MAIN, 102, 110);
// Eliminate rollback group and patroller group
// Rollback no different than reviewer
// Page patrol replaced by flagged revisions
'groupOverrides' => array(
enwikibooks' => array(
# 'rollbacker' => array( 'rollback' => true ),
# 'patroller' => array( 'patrol' => true, 'autopatrol' => true),
'flood' => array( 'bot' => true ),
'uploader' => array( 'upload' => true, 'reupload' => true),
'autoconfirmed' => array( 'upload' => false, 'reupload' => false),
) )
// Remove rollback/patrol groups from grant list; add transwiki importer
'wgAddGroups' => array(
'+enwikibooks' => array(
# 'sysop' => array('rollbacker', 'patroller', 'uploader'),
'sysop' => array('transwiki', 'uploader'),
'bureaucrat' => array('flood'),
) )
// Remove rollback/patrol groups from remove list; add transwiki importer
'wgRemoveGroups' => array(
'+enwikibooks' => array(
# 'sysop' => array('rollbacker', 'patroller', 'ipblock-exempt', 'uploader'),
'sysop' => array('ipblock-exempt', 'transwiki', 'uploader'),
) )
當前
[編輯原始碼]- 這是 bugzilla:14618(共識如下)、bugzilla:18421(共識此處)和 bugzilla:20034(共識此處)的累積效應。
$wgFlaggedRevsNamespaces = array(NS_MAIN, NS_IMAGE, NS_TEMPLATE, 102, 110); // Cookbook, WikiJunior
// what can pages be flagged with, and what minimal rating for each flag makes for a quality page?
$wgFlaggedRevTags = array('composition' => 3, 'accuracy' => 2, 'coverage' => 2 );
// what is the maximum flag level that can be set by users with certain permissions?
$wgFlagRestrictions = array(
'composition' => array( 'review' => 3 ),
'accuracy' => array( 'review' => 3 ),
'coverage' => array( 'review' => 3 ),
);
$wgSimpleFlaggedRevsUI = false; // show a small icon to distinguish between "sighted", "quality", and unflagged pages?
$wgFlaggedRevTabs = false; // add stable/draft revision tabs
$wgFlaggedRevComments = true; // can users make comments that will show up below flagged revisions?
$wgFlaggedRevsAutoReviewNew = false; // automatically review new pages by editors to the basic minimal level?
// Requirements for auto-promoting users to editor status
$wgFlaggedRevsAutopromote = array(
'days' => 30, # days since registration
'edits' => 100, # total edit count
'excludeDeleted' => true, # exclude deleted edits from 'edits' count above?
'spacing' => 2, # spacing of edit intervals
'benchmarks' => 10, # how many edit intervals are needed?
'recentContentEdits' => 10, # $wgContentNamespaces edits in recent changes
'totalContentEdits' => 50, # $wgContentNamespaces edits
'uniqueContentPages' => 10, # $wgContentNamespaces unique pages edited
'editComments' => 50, # how many edit comments used?
'email' => true, # user must be emailconfirmed?
'userpage' => false, # user must have a userpage?
'userpageBytes' => 1 # if userpage is needed, what is the min size?
'uniqueIPAddress' => false, # If $wgPutIPinRC is true, users sharing IPs won't be promoted
'neverBlocked' => true, # Can users that were blocked be promoted?
'noSorbsMatches' => false, # If $wgSorbsUrl is set, do not promote users that match
);
// So that administrators/bureaucrats have same permissions as editors by default
$wgGroupPermissions['sysop']['review'] = true;
$wgGroupPermissions['sysop']['autoreview'] = true;
$wgGroupPermissions['sysop']['autoconfirmed'] = true;
$wgGroupPermissions['sysop']['patrolmarks'] = true;
$wgGroupPermissions['sysop']['autopatrolother'] = true;
$wgGroupPermissions['sysop']['unreviewedpages'] = true;
$wgGroupPermissions['sysop']['validate'] = true;