CMS

a-blog cmsの、強力なインポート機能を使いこなそう(1)

共有する?

このエントリーをはてなブックマークに追加
follow us in feedly

a-blog cmsは、多彩なデータインポート機能を持っています。
特にブログ単位のインポートは便利なのですが、範囲が広いので変更したくない設定も上書きされてしまいます。

ブラウザから毎回入力すると手間がかかる情報だけ、案件に応じてインポートできれば便利です。また、差分インポートができれば、既存のa-blog cmsサイトのリニューアルも楽になりそうです。

検証してみたところ、いろいろ面白いことがわかってきました。
まだあまり知られていない、a-blog cmsのインポート機能について、数回に分けてまとめます。一回目は「コンフィグ単位のインポート」についてです。

「コンフィグ単位」のインポートとは

a-blog cmsは、以下のようなインポートが可能です。今回利用するのは、このうちの「ブログのコンフィグ単位」のインポートです。

  • システム全体(SQL)
  • ブログ単位 (YAML)
  • ブログのコンフィグ単位(YAML)
  • ブログのモジュールID単位(YAML)
  • エントリー・ユニット・カテゴリー・カスタムフィールド(CSV)
  • エントリー・カテゴリー(Movable Type形式・WordPress形式)

管理ページの「コンフィグ管理」のページへ移動すると、右上に「インポート」「エクスポート」「リセット」というメニューがあります。

インポート
「コンフィグ設定」が、インポートしたYAMLデータの設定で上書きされます。YAMLデータが一部のみの場合は、記載されているデータのみ上書きします。
エクスポート
「コンフィグ設定」の配下にある全ページの設定を、YAML形式でエクスポートします。
リセット
「コンフィグ設定」を初期化します。private/config.system.yaml の内容を読み込みますが、ここに書いていない情報は同ディレクトリの config.system.default.yaml を参照します。


リセット後の特殊な挙動

通常は「エクスポート」を選ぶと、コンフィグの全データが書き出されます。

ところが、コンフィグをリセットすると挙動が変わり、「保存」ボタンを押したことがあるページのデータだけがエクスポートされるようになります。

つまり、リセット後、何も保存をしていない状態でエクスポートをするとYAMLファイルは空になるのです。

これは不具合ではなく、a-blog cms公式の仕様です。また、インストール直後は何も保存をしていなくてもすべてのデータが書き出されます。上のような挙動にするには、必ず一旦リセットする必要があります。

リセットを利用した、簡単な差分インポート

この挙動を利用すると、プログラミングの知識がなくても、コンフィグの必要な機能だけをエクスポート・インポートすることが可能です。

  1. a-blog cmsを新規インストールするか、子ブログを増やします(以降、サイトA)。エクスポートしたいa-blog cms(以降、サイトB)と同じバージョンが望ましいです。
  2. インストールしたらコンフィグをリセットし、ブラウザで別タブを開いて、サイトBに同時ログインします。
  3. タブを切り替えながら、サイトAのコンフィグを、サイトBのコンフィグのエクスポートしたいページと同じ内容にして「保存」します。エクスポートしたくないページは保存しないでください。ここでは「編集設定」のページだけ変更してみます。


  1. 変更後、サイトAのコンフィグを「エクスポート」します。
  2. できたYAMLファイルを任意のサイトにインポートすると、編集設定だけがサイトBの内容に変更されます。

お手軽だけど…

この方法はお手軽ですが、新規のブログを別途用意しなければなりませんし、インポートしたいのが「編集設定」だった場合は1ページの情報がとても多いので、あまり楽になった気がしません。

次回は、YAMLデータを自作して、さらに細かいインポートをしてみます。

共有する?

このエントリーをはてなブックマークに追加
follow us in feedly

permalink

http://webbingstudio.com/weblog/cms/entry-801.html

publish