コンフィグ・ルール・モジュールのインポート

Ver. 2.7.0 より、コンフィグ・ルール・モジュールのみのエクスポート・インポートに対応しました。この機能を使うことにより、開発環境で設定したコンフィグやモジュールを、すでに運用されている本番環境にエントリーなどに影響を与えることなく、インポートすることができるようになりました。

エクスポート

ブログ単位でエクスポートを行います。エクスポートは 管理ページ > コンフィグ > エクスポート(コンフィグ / ルール / モジュール) からエクスポートできます。

エクスポートデータは YAML形式 で書き出されます。


エクスポート画面

エクスポート画面


インポート

ブログ単位でインポートを行います。インポートは 管理ページ > コンフィグ > インポート (コンフィグ / ルール / モジュール) からエクスポートしたYAMLファイルを指定することでインポートできます。

既存のコンフィグ / ルール / モジュールを削除してインポートを行いますので、ご注意ください。


インポート画面

インポート画面


仕様

以下の手順でインポートを行います。

  • 対象ブログのコンフィグ・ルール・モジュールの削除
  • エントリーID, カテゴリーIDなどの新しいIDを発行
  • インポートデータのIDと新しいIDをコードベースで比較を行い、置き換え
  • データのインポート

IDのずれ対応

開発環境と本番環境でエントリーIDやカテゴリーIDが違う可能性があります。 そこで、エントリーコードやカテゴリーコードなどのコードベースで比較を行い、IDを変換してインポートを行います。

例えば開発環境で、お知らせ(CID: 11)で絞り込んでいるEntry_SummaryモジュールIDを作ったとします。 しかし本番環境ではお知らせカテゴリーがCID: 13 だったとします。このままだとデータベースのデータをそのままインポートしてしまうと、IDがずれ、「お知らせ」で絞りこめなくなってしまいます。

そこで、インポート時にモジュールIDで参照されているCIDをコードベースで比較を行い 11 から 13 に自動的に変換することにより、インポートしてもデータのずれを防ぐことができます。

エラーレポート

インポートを行った結果、以下のような理由によりインポートに失敗する項目が出てきます。インポートに失敗した項目についてはレポートが出ますので、問題のあるモジュールなどを修正ください。

IDの変換に失敗

モジュールIDやルールに設定してある、ID類(エントリーID, カテゴリーIDなど)がコードベースで見つからない場合は、モジュール自体はインポートされますが、ID設定は空に設定されます。

IDの重複によりインポートに失敗

親ブログに同名のグローバル設定のモジュールIDが存在する場合は、重複によりそのモジュールIDはインポートされません。


エラーレポート画面

エラーレポート画面