Wikipedia‐ノート:井戸端/subj/半保護に可変設定機能を追加することについて

ページのコンテンツが他言語でサポートされていません。

lowprotect設定例[編集]

  • 以下にlowprotect を設定する場合の、MediaWiki設定例を書いておきます。
  • "lowprotect"が編集可能になる利用者権限グループ名は一応"lowprotect" としておきます。この権限名・権限グループ名は変更できます。
WMF向け/ InitialiseSettings.php
  • 行の一番先頭にある "-"は既存設定の除去(古い設定) , "+"は追加 です。それ以外の+や-は設定項目によるものです。
  • "..." は既にある他ウィキの設定記述を省略、という意味です
  • [1] より設定項目名を抜き出しています。以下は設定項目の順番を意識していません。
  • コメント文(灰色斜体)が多く使用されていますが、わかる人むけの解説のためです。既存のコメント文は省略しています。
//保護レベル自体の追加や変更
'wgRestrictionLevels' => array(
...
-    'jawiki' => array( '', 'autoconfirmed', 'sysop' ), // (既存コメント文省略)
+    'jawiki' => array( '', 'lowprotect', 'autoconfirmed', 'sysop' ), // (コメント文)
...
),

//利用者権限グループ "lowprotect" の作成と 権限グループ autoconfirmed のlowprotect 編集許可など
'groupOverrides' => array(
...
-    'jawiki' => array( 'autoconfirmed' => array( 'patrol' => true ) ), //(既存コメント文省略)
+    'jawiki' => array( 
+        'lowprotect' => array( 'lowprotect' => true ), // lowprotect グループ作成
+        'autoconfirmed' => array( 'patrol' => true, 'lowprotect' => true ), //autoconfirmed が lowprotect 編集可能に(必要でない)
+        'sysop' => array( 'lowprotect' => true ), // sysop にもlowprotect編集を可能に(必要でない)
+        'confirmed' => array( 'lowprotect' => true ), //"承認された利用者"が lowprotect を編集可能に。
+    ),
...
),

//WMF独自の「自動承認」系設定
'wmgAutopromoteExtraGroups' => array(
...
+    'jawiki' => array(
// lowprotect 利用者権限グループの自動承認設定 (編集回数10回以上、かつ登録より4日経過したとき、lowprotect グループへ属す)
+        'lowprotect' => array( '&',
+                array( APCOND_EDITCOUNT, 10 ),
+                array( APCOND_AGE, 4*86400 ),
+        ),
/* ここより[1]まではwmgAutopromoteExtraGroupsでの対応が可能か、不明です。wmgAutopromoteExtraGroupsでの対応が不可能な場合は,
 * CommonSettings.php にある$wgAutopromote関連の行を InitialiseSettings.php へ移し変える必要性があるかもしれません。
 * 以下は「初編集より7日」を実現するためのものであり、通常の「登録日より7日間」である場合、この設定ではなく、別の設定になります。
 * 以下は「 50編集 + 初編集より 7 日経過したとき」、 自動承認された利用者 グループに属します。設定上書きとなるはずなので、これで大丈夫だと思いますが。
 */
+        'autoconfirmed' => array( '&',
+                array( APCOND_EDITCOUNT, 50 ),
+                array( APCOND_AGE_FROM_EDIT, 7*86400 ),
+        ),
/* [1] */
+    ),
...
),

// lowprotect 利用者権限グループを "autoconfirmed" グループ同様の扱いとする。(必要ではない)
// 意味:
'wmgExtraImplicitGroups' => array(
...
    'jawiki'  => array( 'lowprotect' ),
...
),

//管理者が利用者権限グループ「承認された利用者」の追加を可能にする。
'wgAddGroups' => array(
...
    '+jawiki' => array(
-        'sysop' => array( 'abusefilter' ),
+        'sysop' => array( 'abusefilter', 'confirmed' ),
    ),
...
),

//管理者が利用者権限グループ「承認された利用者」の除去を可能にする。
'wgRemoveGroups' => array(
...
    '+jawiki' => array( 
-       'sysop' => array( 'abusefilter' ),
+       'sysop' => array( 'abusefilter', 'confirmed' ),
    ),
...
),
一般ウィキ向け / LocalSettings.php
  • 自分のMediaWikiで試したい人はLocalSettings.php へ以下の行を追加してください。
  • 初期セットアップ状態(MediaWiki 1.17.0「すでに飽きてしまった、ウィキをインストールするだけです」を選択した場合)を想定して書いています。
  • 他の設定が用いられたり、既に一部設定が変更されている場合、適宜修正してください。
  • コメント文(灰色斜体)は除去されても問題ありません。
$wgRestrictionLevels = array( '', 'lowprotect', 'autoconfirmed', 'sysop' ); // 保護レベル追加
$wgImplicitGroups = array( '*', 'user', 'autoconfirmed', 'lowprotect' ); // autoconfirmed と同様の扱い
//以下権限グループ設定
$wgGroupPermissions['lowprotect']['lowprotect'] = true;
$wgGroupPermissions['autoconfirmed']['lowprotect'] = true;
$wgGroupPermissions['sysop']['lowprotect'] = true;
$wgGroupPermissions['confirmed']['lowprotect'] = true; // 承認された利用者の設定 (lowconfirmed)
$wgGroupPermissions['confirmed']['autoconfirmed'] = true; // 同上 (autoconfirmed)
// 以下自動承認等条件設定 ([1] か [2] のみ設定してください)
$wgAutopromote = array(
// [1:Start]$wgAutoConfirmCount, $wgAutoConfirmAge 設定を残す場合
	'autoconfirmed' => array( '&',
		array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
		array( APCOND_AGE, &$wgAutoConfirmAge ),
	),
// [1:END]
// [2:Start]この設定にて直接 autoconfirmed 期間を設定する場合。
	'autoconfirmed' => array( '&',
		array( APCOND_EDITCOUNT, 50 ),
		array( APCOND_AGE_FROM_EDIT, 7*86400 ),
	),
// [2:END]
        'lowprotect' => array( '&',
                array( APCOND_EDITCOUNT, 10 ),
                array( APCOND_AGE, 4*86400 ),
        ),
);
// 管理者(sysop)が 承認された利用者 (confirmed) の付与(Add)と剥奪(Remove)を可能にする。
$wgAddGroups['sysop'] = array( 'confirmed' );
$wgRemoveGroups['sysop'] = array( 'confirmed' );
  • 上記の設定例では、既存の自動承認された利用者(autoconfirmed)を「初編集から7日、50編集」、lowprotect(新設) を「登録から4日、10編集」としてあります。
  • また、上記では「承認された利用者」のグループを管理者が追加できるようにしてあります。
  • 試したい方は 上記のLocalSettings.php向け設定例の自動承認条件部分のみを、作動確認用に短期間設定にしているテスト用ウィキを公開しています(議論終了後削除します)。--Hosiryuhosi 2011年7月3日 (日) 06:00 (UTC)[返信]