2013-04-23 57 views
3

當編輯/移動/刪除頁面或阻止/取消阻止用戶時,我希望每個頁面中的摘要字段執行上述功能之一是強制性的,以便可以更輕鬆地瞭解其中一項操作背後的動機。在MediaWiki中強制彙總摘要?

回答

3

這是非常有名的畫了很多貢獻了,但你可以通過自定義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; 
} 

注意默認設置用於未註冊用戶以及尚未自定義其偏好的用戶。註冊用戶可以隨時覆蓋該值:首選項→編輯→輸入空白編輯摘要時提示我。

+0

如果我閱讀了文檔的權利,將forceeditsummary設置爲true僅適用於用戶不更改其偏好設置。它不會像這個設置是永久性的,不可改變的。 – 2014-01-09 23:35:18

+0

@LarrySilverman,對,這就是爲什麼我說「軟力量」。請注意,未註冊的用戶無法更改默認首選項,因此對他們來說很難。 – Nemo 2015-05-03 21:24:50

0

你可以試試這個擴展:https://www.mediawiki.org/wiki/Extension:SummaryRequired

這個擴展可以做什麼?

此擴展強制用戶輸入評論。

+0

擴展是微不足道的。它只是加載自己的縮小jQuery(這是一個過度殺傷力!)和它自己的JS文件。有一個長期的(截至2015年11月的9個月)[問題](https://github.com/solomonkinard/MediaWikiExtensionSummaryRequired/issues/1)JS未包含在GitHub回購中。迄今爲止,作者沒有迴應。 – Palec 2015-11-17 16:14:03

0

我剛剛在我工作的一個項目中實現了這個功能。它運行良好,並且可以很好地與所有內置功能配合使用,從早期的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 消息應編輯爲真(第二次提交將無法通過了去)。

我用EditFilter hook將編輯器設置的allowBlankSummary成員(EditPage對象),從而覆蓋在編輯是否應通過去甚至空白總結,或者沒有以前的決定。有關原始設置的詳細信息,請參閱source code of EditPage class

有關更多選項(以及強調missingsummary消息的補充樣式),請閱讀Nemo’s answer

missingcommentheader信息在哪裏使用?我在代碼中看到它,但我不知道何時$editor->section == 'new'。可能是我從未使用過的MediaWiki的一項功能...