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 を作ってみましょう。
今回は、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
- サイト制作全般
- 技術情報
コメントを投稿する