在MediaWiki中强制要求摘要?

时间:2013-04-23 00:22:51

标签: mediawiki

当编辑/移动/删除页面或阻止/取消阻止用户时,我希望执行上述功能之一的每个页面中的摘要字段是必需的,以便可以更容易地了解其中一个操作背后的动机。

3 个答案:

答案 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

  

此扩展程序可以做什么?

     

此扩展程序强制用户输入评论。