PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > PowerCMS 4 > 開発者だけが知っている PowerCMS の隠し機能 その4 〜らくらくプラグイン設定インポート〜

2017年07月07日

開発者だけが知っている PowerCMS の隠し機能 その4 〜らくらくプラグイン設定インポート〜

PowerCMS で構築するサイトは規模が大きいことが多く、必然的にウェブサイト/ブログは多くなりがちです。テーマを適用してウェブサイト/ブログを作成する際にプラグイン設定も初期設定が投入されればらくちんなのですが、テーマにはその機能がなく、たくさんのウェブサイト/ブログを作成したら、その分だけプラグイン設定を行わなければなりません。あとで設定変更するのも大変です。

今回は、大量のウェブサイトやブログに対して、プラグイン設定を一括で投入することができるツールをご紹介します。

プラグイン設定をインポートする import-plugin-setting

またしてもコマンドラインツールを使います。今回は「import-plugin-setting」です。まずはヘルプを見てみましょう。

$ cd $MT_HOME
$ perl ./tools/import-plugin-setting -help

usage:  ./tools/import-plugin-setting $ ./tools/import-plugin-setting [--dryrun] [--file_path] [--sample]
  --dryrun         Without executing any changes.
  --file_path      CSV file path.
  --sample         Show CSV sample.

「--sample」オプションでサンプルを確認することができます。


$ cd $MT_HOME
$ perl ./tools/import-plugin-setting --sample

CSV SAMPLE:

[*plugin_id],[*blog_id],[setting_key1],[setting_value1],[setting_key2],[setting_value2]...
[*plugin_id],[*blog_id],[setting_key1],[setting_value1],[setting_key2],[setting_value2]...
[*plugin_id],[*blog_id],[setting_key1],[setting_value1],[setting_key2],[setting_value2]...

In case of system level, set 0 to blog_id column.

CSV の作成

表示されたサンプルをベースに、CSV を作ってみましょう。

プラグイン設定をインポートするためのCSVを作成する

今回は、AdvancedEditor プラグインの、「既定のアップロード先」を「files」に、「ポップアップウィンドウで元の大きさの画像にリンクする設定を非表示にする」にチェックを入れる、という設定を、ID が 1?8 のウェブサイト/ブログにまとめて投入することにしました。「[setting_key*]」に指定する値は、プラグイン設定の入力欄の name 属性や id 属性から取得することができます。
便宜上一行目にサンプルの既述を入れていますが、実際には不要です(「[*plugin_id]」というプラグインはない、ということでインポート時に無視されます)。

※ システムレベルのプラグイン設定をインポートする場合は、ブログ ID を指定する列に「0」を指定します。

CSV のインポート

この CSV をサーバ内の任意のディレクトリに設置して、そのファイルを指定してツールを実行します。いきなり実行するのは怖いですから、「--dryrun」オプションをつけておきましょう。こうすることで、結果をプレビューすることができます。

$ cd $MT_HOME
$ perl ./tools/import-plugin-setting --dryrun --file_path=/tmp/import.csv

==================================================
AdvancedEditor(First Website)
==================================================

--------------------
adv_editor_default_upload_path
--------------------
files


--------------------
adv_editor_hide_popup
--------------------
1

問題がなければ「--dryrun」オプションを外して再度実行しましょう。完了したら管理画面にログインし、念のため正しくプラグイン設定が投入されていることを確認してください。

一括投入はもちろん、ウェブサイト/ブログごとに設定が少しずつ異なる場合でも、CSV 上で編集する方が、一つずつ管理画面で手作業で設定するよりも効率的で、また作業のベースとなった CSV が手元に残るので、再利用したり、ミスがあったときに原因を調査しやすくなりますね。


カテゴリー
PowerCMS 4
サイト制作全般
技術情報

Recent Entries