web-dev-qa-db-ja.com

mediawikiで自分のカスタムグループを作成するにはどうすればよいですか?

私はmediawikiドキュメントを注意深く読みましたが、新しいグループを作成する方法を見つけることができませんでした。

Special:Userrightsを見ると、ボット、Sysops、Bureaycratsの3つのグループしか表示されません。

独自のカスタムグループを作成したいので、 http://www.mediawiki.org/wiki/Extension:Group_Based_Access_Control などの拡張機能を使用できます。

誰かがそれがどのように行われるかを教えてもらえますか、またはいくつかのドキュメントを私に指摘できますか?

38
jeph perro

LocalSettings.phpファイルに新しいグループの権限を追加すると、それらは自動的にSpecial:UserRightsページに表示されます。

たとえば、通常のユーザーによる編集を禁止し、編集を許可する「信頼できる」グループを作成したいと考えていました。次のコードは、「信頼できる」ユーザーは編集できるが「ユーザー」ユーザーは編集できないことを除いて、「ユーザー」グループと同じ「信頼できる」グループを作成します。

$wgGroupPermissions['Trusted'] = $wgGroupPermissions['user'];
$wgGroupPermissions['user'   ]['edit']          = false;
$wgGroupPermissions['Trusted']['edit']          = true;
$wgGroupPermissions['sysop'  ]['edit']          = true;

Special:UserRightsページで、[Trusted]チェックボックスをオンにして、ユーザーを信頼できるようにします。

57
richardkmiller

次のメッセージを作成して、グループ名の外観を変更できます:(忍者という名前のグループの場合:)

  • MediaWiki:Group-ninja(コンテンツ:忍者)
  • MediaWiki:Group-ninja-member(コンテンツ:忍者)
  • MediaWiki:Grouppage-ninja(コンテンツ:Project:Ninjas)

これにより、グループはインターフェイス全体で「忍者」と呼ばれ、メンバーは「忍者」と呼ばれ、概要ではグループ名がProject:Ninjasにリンクされます。

(ソース: http://www.mediawiki.org/wiki/Manual:User_rights#Examples

6
sir KitKat

ここにアクセス許可のリストがあります。 http://www.mediawiki.org/wiki/Manual:User_rights

2
nevi

私は最初の回答(拡張初期化ファイルに追加することもできます)に投票する評判はありませんが、ユーザーをグループに追加するときにデータベースを直接編集することを検討したい場合があります(つまり、 Wikiグループを外部情報と同期する必要があります)。データベース「wikidb」を開いた場合、「PREFIX_user_groups」*テーブルにはユーザーID(ug_user)とグループ名(ug_group)の間のマッピングが含まれます。このテーブルと「PREFIX_user」*テーブルの名前情報(user_name)およびID情報(user_id)を組み合わせると、グループに多数のユーザーを追加および削除するためのすべての情報が得られます。

* "PREFIX"を、wikiに使用したデータベースプレフィックスに置き換えます。

1
Compholio

私は答えを見つけたと思います。LocalSettings.phpファイルのwgGroupPermissions配列にUserGroupとパーミッションを追加する必要があるだけです。

$wgGroupPermissions['TomatoUsers']['read']  = true;
$wgGroupPermissions['TomatoUsers']['edit']  = false;
1
jeph perro