4

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

4

3 回答 3

6

众所周知,这会吸引很多贡献,但您可以通过自定义 JavaScript 强制执行它,或者通过在以下位置设置forceeditsummary为 true 来软强制它$wgDefaultUserOptions

// in LocalSettings.php:
$wgDefaultUserOptions = [
    'forceeditsummary' => 1
];

启用此选项后,在Save page没有编辑摘要的情况下点击后,您必须Save page再次点击才能保存编辑。页面顶部会显示填写编辑摘要的提醒,但无论如何都会进行第二次保存。

正如我上面所说,经验表明许多编辑在此设置下会丢失。如果您认为人们忘记保存两次,而不仅仅是拒绝填写编辑摘要,您可以使用 MediaWiki 样式表使警告更加明显,例如

#mw-missingsummary {
    background-color: #FFFFCC;
    color: #000000;
    border: 3px double #CC0000;
    margin: 0 0 1em;
    padding: 0.5em 1em;
}

请注意,默认设置仅用于未注册用户和未自定义首选项的用户。注册用户可以随时覆盖该值:首选项 → 编辑 → 输入空白编辑摘要时提示我。

于 2013-05-26T19:29:57.963 回答
1

我刚刚在我从事的一个项目中实现了这个功能。它工作正常,并且与所有内置功能配合得很好,从非常早期的 MediaWiki 版本到 master 分支 (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钩子来设置allowBlankSummary编辑器(EditPage对象)的成员,从而覆盖之前关于编辑是否应该通过空白摘要的决定,或者不。有关原始设置的详细信息,请参见类的源代码。EditPage

有关更多选项(以及强调信息的补充样式missingsummary),请阅读Nemo 的回答

1消息在哪里missingcommentheader使用?我在代码中看到它,但我不知道什么时候$editor->section == 'new'。可能是我从未使用过的 MediaWiki 的一个功能……</sub>

于 2015-12-13T17:54:13.297 回答
0

你可以试试这个扩展:https ://www.mediawiki.org/wiki/Extension:SummaryRequired 。

这个扩展能做什么?

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

于 2014-01-09T23:36:26.087 回答