当编辑/移动/删除页面或阻止/取消阻止用户时,我希望执行上述功能之一的每个页面中的摘要字段是必需的,以便可以更容易地了解其中一个操作背后的动机。
答案 0 :(得分:4)
众所周知,这可以吸引大量的贡献,但你可以通过自定义JavaScript强制执行它,或者通过在$wgDefaultUserOptions
中将forceeditsummary
设置为true来强制执行它:
// in LocalSettings.php:
$wgDefaultUserOptions = [
'forceeditsummary' => 1
];
启用此选项后,在没有编辑摘要的情况下点击保存页面后,您必须再次点击保存页面以保存编辑。填写编辑摘要的提示显示在页面顶部,但第二次保存仍在进行。
正如我上面所说,经验表明许多编辑都会因此设置而丢失。如果您认为人们忘记保存两次,而不是仅仅拒绝填写编辑摘要,您可以use MediaWiki stylesheets使警告更加明显,有一些华而不实的东西
#mw-missingsummary {
background-color: #FFFFCC;
color: #000000;
border: 3px double #CC0000;
margin: 0 0 1em;
padding: 0.5em 1em;
}
请注意,默认设置用于未注册的用户和仅未自定义其首选项的用户。注册用户可以随时覆盖该值:首选项→编辑→输入空白编辑摘要时提示我。
答案 1 :(得分:1)
我刚刚在我正在处理的项目中实现了这个功能。它运行良好,并且与所有内置功能配合使用,从早期的MediaWiki版本到现在的主分支(2015-12-13)。
我把它放在我的LocalSettings.php
:
function forceEditSummary($editor, $text, $section, &$error, $summary) {
// Override the setting so far based on wpIgnoreBlankSummary form
// variable, forceeditsummary user option and whether the page is the
// editor’s own user or talk page:
$editor->allowBlankSummary = false;
return true; // continue processing
}
$wgHooks['EditFilter'][] = 'forceEditSummary';
MediaWiki:Missingsummary和MediaWiki:Missingcommentheader 1 消息应该被编辑为真(第二次提交将不再进行)。
我使用EditFilter
hook来设置编辑器allowBlankSummary
成员(EditPage
对象),从而覆盖以前关于编辑是否应该通过空白摘要进行的决定。有关原始设置的详细信息,请参阅source code of EditPage
class。
有关更多选项(以及强调missingsummary
消息的辅助样式),请阅读Nemo’s answer。
1 使用missingcommentheader
消息在哪里?我在代码中看到它但我不知道何时$editor->section == 'new'
。可能是MediaWiki的一个功能,我从不使用......
答案 2 :(得分:0)
您可以尝试使用此扩展程序:https://www.mediawiki.org/wiki/Extension:SummaryRequired。
此扩展程序可以做什么?
此扩展程序强制用户输入评论。