MediaWiki にサンドボックスを追加する方法

MediaWiki Enterprise Linux 9
このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
スポンサーリンク

社内 Wiki として MediaWiki を設置していますが、使い方に不安があるユーザーが多いようでイマイチ活性化していない。

入力に慣れてもらえるように練習用ページを設置したので、MediaWiki でのサンドボックスの設定方法を記録しておきます。

環境

  • OS:AlmaLinux 9
  • PHP:8.3.31
  • MediaWiki:1.43.8

設定方法

MediaWiki に管理者ユーザーでログインして「サンドボックスの注意」テンプレートを作成します。

{{Mbox
| type = notice
| text = '''ここは練習用のサンドボックスです。'''<br>
このページの内容は bot により定期的にクリアされます。<br>
保存すべき内容は書き込まないでください。
}}

このテンプレートのページは編集しないように、編集をロックしておきます。

サンドボックスページの作成

次にサンドボックスのページを作成します。

テンプレート参照で「サンドボックスの注意」をページ内に表示します。

{{サンドボックスの注意}}
<!-- この行より下を編集してください -->
プロジェクト名の確認方法

特別:ページ一覧(Special:AllPages)にアクセスし、名前空間のプルダウンからプロジェクト名を確認する事ができます。

VisualEditor の有効化

デフォルトではプロジェクトの名前空間で VisualEditor は有効化されていないため、LocalSettings.php を修正します。

wfLoadExtension( 'VisualEditor' );
$wgVisualEditorAvailableNamespaces = [
    'Project' => true
];

サンドボックスのページでビジュアルエディターが使えるか確認してください。

サイドメニューに追加

MediaWiki:Sidebar を開き、メニューにサンドボックスを追加します。

* サンドボックス
** Project:サンドボックス|入力練習用ページ

サンドボックスの定期クリア

サンドボックスのページを cron.weekly で週に一度作り直します。

MW のパスと、PAGE のプロジェクト名は、自分の環境に合ったものに置き換えてください。

#!/bin/bash
set -euo pipefail
MW=/usr/share/mediawiki
PAGE="プロジェクト名:サンドボックス"

cat <<'EOF' | runuser -u apache -- /usr/bin/php "$MW/maintenance/run.php" edit \
  --bot \
  --no-rc \
  --summary "サンドボックスの定期クリア" \
  "$PAGE"
{{サンドボックスの注意}}
<!-- この行より下を編集してください -->
EOF

スクリプトのパーミッションを修正します。

chmod 755 /etc/cron.weekly/mediawiki-clean-sandbox
chown root:root /etc/cron.weekly/mediawiki-clean-sandbox

確認

ユーザーアカウントに切り替え、サンドボックスに書き込みます。

スクリプトを手動で実行して、サンドボックスが初期化されることを確認します。

/etc/cron.weekly/mediawiki-clean-sandbox
(out) Saving...done

サンドボックスが初期状態で実行すると下記の Warning が出ますが、正常な挙動でエラーではありません。

/etc/cron.weekly/mediawiki-clean-sandbox
(out) Saving...done
(out) Warning: Your edit was ignored because no change was made to the text.

コメント

タイトルとURLをコピーしました