维基教科书:标记修订扩展/不稳定
提案
[编辑源代码]维基教科书使用标记修订扩展(也称为标记修订或待定更改),以便审阅者可以审阅页面修订。随着提出的变更
读者不会受到审阅的影响,除非管理员被书籍贡献者要求向读者展示特定质量的最新审阅修订版。
贡献者可以通过两种方式之一成为审阅者:满足自动晋升标准或在维基教科书:权限请求中直接请求。自动晋升将考虑在主命名空间、食谱和维基少年命名空间中完成的工作。
审阅者可以将页面修订的质量分类为最低限度、平均或良好。审阅的页面被称为稳定。所有质量分类均不附带任何类型的评论。审阅者创建的任何新页面都将自动获得最低限度的质量分类。
审阅者还将被授予回退能力(能够撤销单个用户的大量更改)。
标记修订扩展下完成的所有先前工作都不会丢失,因为开发人员将确保对构成的先前审阅将应用于质量。
- 质量标准级别
- 最低限度 - 校对拼写、标点、语法、段落结构和段落一致性。
- 平均 - 检查排版和语言是否与书籍的本地风格手册一致。
- 良好 - 经过彻底检查,以确保想法/概念一致、中立、准确且有引文。
- 审阅者自动晋升标准
- 主命名空间、食谱和维基少年命名空间中的页面被视为内容页面,而不仅仅是主命名空间中的页面。作为副作用,更多编辑将计入审阅者的自动晋升,统计数据将更加准确。
- 拥有一个注册帐户,该帐户至少有 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;