概要
前回: 機能: MediaWikiの名前空間とカスタム名前空間の追加 | GNU social JP Web。
前回カスタム名前空間の追加方法を紹介しました。これは今回のLockdown拡張を用いた非公開ページの前準備でした。今回は本丸のLockdown拡張による非公開ページの実現方法を紹介します。
「Manual:Preventing access – MediaWiki」でMediaWikiの標準機能でのアクセス制御の説明があります。こちらでは、ユーザー・グループ属性単位が中心で、ページ単位の制御というのが難しいです。
いろいろ調査した結果、Lockdown拡張を使えば名前空間単位でアクセス制御・非公開ページを作成でき、これで通常は十分に感じたので紹介します (Extension:Lockdown – MediaWiki)。
// 追加の名前空間の定数を定義する。
define("NS_PRIVATE", 3000); // これは必ず偶数でなければならない。
define("NS_PRIVATE_TALK", 3001); // これは、その次の奇数の整数でなければならない。
// 名前空間を追加する。
$wgExtraNamespaces[NS_PRIVATE] = "Private";
$wgExtraNamespaces[NS_PRIVATE_TALK] = "Private_talk"; // 名前空間名に含まれるアンダースコアに注意。
$wgVisualEditorAvailableNamespaces = [NS_PRIVATE => true];
前回記事の内容で、上記のようなPrivateカスタム名前空間をLocalSettings.phpに記述済みとします。
方法
Lockdown拡張のページに記載の手順で設置・設定します。MediaWiki v1.39.5で確認しました。
まず以下のコマンド相当で拡張機能をインストールします。
詳細プロフィール。SNS: X Twitter/GS=gnusocialjp@gnusocial.jp/WP=gnusocialjp@web.gnusocial.jp。2022-07-17からgnusocial.jpとweb.gnusocial.jpのサイトを運営しています。WordPressで分散SNSに参加しています。このアカウントの投稿に返信すると、サイトのコメント欄にも反映されます。
Comments