データ管理

目次

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

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はインポートされません。


エラーレポート画面

エラーレポート画面

コンフィグの部分エクスポート・インポート

部分的なコンフィグのエクスポート・インポートが可能です。例えば、コンフィグの編集設定は設定項目も多く、通常のインポートで対応したいが、テーマなどの設定も変わってしまいます。そこで、この部分インポートを使うと、他のコンフィグに影響なく、部分的にインポート出来ます。

エクスポート方法

エクスポートしたい、各コンフィグのページに移動します。例えば、編集設定ページなど。移動すると右上にエクスポートボタンがあるので、ここをクリックするとyamlデータとしてエクスポートされます。


コンフィグの部分エクスポート

コンフィグの部分エクスポート


また、ルール適応状態のコンフィグもエクスポート・インポートできます。

インポート方法

コンフィグの部分インポートは、エクスポートと同じく、コンフィグの各ページの右上の「インポート」ボタンから移動するか、管理ページ > コンフィグ > 「コンフィグの部分インポート」から移動できます。

ここでインポートすることにより、yamlにはない情報は削除せずに、yamlにある情報だけ上書きして部分的に書き換えます。


コンフィグの部分インポートコンフィグの部分インポート

コンフィグの部分インポート

コンフィグの部分インポート

新規ブログ追加時のコンフィグ(デフォルト)の設定

コンフィグのエクスポート

コンフィグのエクスポート


新規ブログ作成直後に使われるコンフィグのデフォルト値は、 private/config.system.default.yamlprivate/config.system.yaml の値が設定されます。(config.system.yaml が上書き用のカスタマイズ用)

運用時にブログを作成していく設計の場合に、このコンフィグのデフォルト値を設定することにより運用が楽になります。しかし手作業でコンフィグの値を打ち込むのは時間がかかります。そこで、コンフィグのエクスポート機能を使うことで簡単に設定できるようになります。

エクスポート方法

任意のブログ管理画面でデフォルトに設定したいコンフィグを保存します。

コンフィグが設定し終わったら、そのブログで 「管理画面 > コンフィグ > エクスポート(コンフィグ/ルール/モジュール)」 のページに移動して「デフォルトコンフィグのエクスポート」の「エクスポート」ボタンを押します。

yamlファイル がダウンロードできますので、この中身を private/config.system.yaml に設定することで、設定したコンフィグが最初から反映された状態でブログが作成できます。

a-blog cmsのデータをブログ単位でエクスポートする

ブログのエクスポート機能を使うことで、a-blog cmsのブログ毎のデータ、画像をzip形式で書き出すことができます。この機能で書き出したファイルは、他のa-blog cmsに取り込むことが可能です。

インポート対象

  • カテゴリー
  • エントリー
  • タグ
  • モジュールID
  • コンフィグ
  • レイアウト
  • ルール
  • ダッシュボード
  • カスタムフィールド
  • 画像、ファイルデータ

データ数が多い状況ではエクスポート処理におけるサーバーへの負荷が高くなります。そのため、作業時間・タイミングに注意しておこなってください。

エクスポート手順

管理ページ > ブログ の 「エクスポート・インポート」タブに移動します。「エクスポート」ボタンを押すことで、データがエクスポートされzipファイルがダウンロードされます。


ブログのエクスポート画面を修正

ブログのエクスポート画面を修正

a-blog cmsのデータをブログ単位でインポートする

ブログのエクスポート機能を使うことで、a-blog cmsのブログ毎のデータ、画像、ファイルを取り込むことが可能です。取り込むためには前述のエクスポート機能にてダウンロードしたzipファイルを利用します。

インポート対象データ

  • カテゴリー
  • エントリー
  • タグ
  • モジュールID
  • コンフィグ
  • レイアウト
  • ルール
  • ダッシュボード
  • カスタムフィールド
  • 画像、ファイルデータ

インポート方法

インポートを実行するには管理者によるログインが必要です

前述のブログエクスポート機能でエクスポートしたzipファイルを下記の場所に設置します。ご使用のバージョンによって設置する場所が異なるので、よく確認してください。CMSのバージョン情報は管理画面内のダッシュボードで確認できます。

  • private/import/(Ver.2.10以前)
  • storage/backup_blog/(Ver.2.11以降)

設置後、管理者でログインして インポートしたいブログの管理ページ > ブログ の 「エクスポート・インポート」タブ に移動します。 zipファイルが正しく設置されていれば、zipファイルをセレクトボックスで選択できるようになっていますので、インポートしたいzipファイルを選択します。

zipファイルを選択後、「インポート」ボタンを押すことで、インポートが実行されます。

データ数が多いインポート処理はサーバーへの負荷が高くなります。そのため、作業時間・タイミングに注意しておこなってください。


インポート画面

インポート画面

CSVファイルからのインポート

管理ページからカンマ区切りデータ(csv形式)をエントリー・カスタムフィールド、ユニットに変換してインポートすることができます。

実行は慎重に

データ数が多いインポート処理はサーバーへの負荷が高くなります。そのため、作業時間・タイミングに注意しておこなってください。

カテゴリーコードとエントリーコードの重複

既存のコンテンツとインポートされるコンテンツとの間で同じコードをもつエントリーやカテゴリーが存在する場合はコードの重複が発生します。その場合はコンテンツが正しく表示されない可能性がありますので、インポート後に管理ページから個別に修正してください。

インポートの仕様

CSVファイルの内容によって、以下のような仕様があります。

  • CSVファイルに、カスタムフィールドの情報のみが含まれる場合は、エントリー情報は自動で作成されます。
  • CSVに entry_category_id を指定することで、優先してそのカテゴリーにインポートされます。
  • CSVに entry_id (エントリーID)フィールドを用意すると、同じエントリーIDのエントリーを上書きするようになります。 すべて、新規追加する場合は、 entry_id を指定しないでください。
  • データとして改行を含みたい場合は、値をダブルクウォートで囲みます。
  • 値の先頭を str-data_ にしたデータは、表計算ソフトで文字列として扱い、値の自動変換を防止します。取り込み時はこの先頭の文字は無視してインポートされます。数値や日付のデータにお使いください。

プロフェッショナル版以上

プロフェッショナルライセンス以上限定になりますが、 CSVの項目に entry_id がなく「*(アスタリスク)」から始まる項目名(1つ)がある場合、その項目をキーにして一意(unique)になるエントリーをアップデートします。

CSVに指定できるフィールド


フィールド名 フォーマット 説明 指定なしの場合
entry_id 数値 エントリーIDを指定。 123 新規eid
entry_code 文字列 コード(ファイル名)を指定。 entry-123.html 通常エントリ作成時と同様
entry_sort 数値 表示順を指定(新規追加のみ)。 1 通常エントリ作成時と同様
entry_user_sort 数値 ユーザーを指定して一覧表示する時の表示順を指定(新規追加のみ)。 1 通常エントリ作成時と同様
entry_category_sort 数値 カテゴリーを指定して一覧表示する時の表示順を指定(新規追加のみ)。 1 通常エントリ作成時と同様
entry_status open | close | draft | trash ステータスを指定(open: 公開、close: 非公開、draft: 下書き、trash: ゴミ箱)のいずれかを指定。 open open
entry_title 文字列 タイトルを指定。 テストエントリー CSV_IMPORT-[eid]
entry_link 文字列 リンク先URLを指定。 https://www.a-blogcms.jp/
entry_datetime yyyy-MM-dd H:mm:ss 日付を指定。 2018-12-06 15:08:01 インポート時の日時
entry_start_datetime yyyy-MM-dd H:mm:ss 公開日時を指定。 2018-12-06 15:08:01 1000-01-01 00:00:00
entry_end_datetime yyyy-MM-dd H:mm:ss 掲載期限を指定。 2018-12-06 15:08:01 9999-12-31 23:59:59
entry_posted_datetime yyyy-MM-dd H:mm:ss 作成日を指定。 2018-12-06 15:08:01 インポート時の日時
entry_updated_datetime yyyy-MM-dd H:mm:ss 更新日を指定。 2018-12-06 15:08:01 インポート時の日時
entry_hash 文字列 ハッシュ値を指定(新規追加のみ)。 通常エントリ作成時と同様
entry_summary_range 数値 ユニットの「続きを読む」の位置を指定(例: 3 -> 上から3番目のユニットを一覧で出力)。 3
entry_indexing on | off インデキシング(一覧に出力するかどうか)を設定(on: 出力する、off: 出力しない)。 on on
entry_members_only on | off 会員限定エントリーを設定(on または、off) on off
entry_primary_image 数値 メイン画像のユニットIDを指定。 123
entry_category_id 数値 カテゴリーIDを指定。 1
entry_user_id 数値 エントリー所有者のユーザーIDを指定。 1 インポート実行者のUID
entry_tag 文字列/文字列/文字列 エントリーのタグを指定。 aaa/bbb/ccc
entry_sub_category カンマ区切り数値 サブカテゴリーの数値をカンマ区切りで指定(必ずダブルクウォートで囲むこと)。 "1,2,3"
geo_lat 数値 エントリーの経度を指定。 136.761737
geo_lng 数値 エントリーの緯度を指定。 35.424289
geo_zoom 数値 エントリーのズームを指定。 10
unit@タグセレクト[数値] 文字列 テキストユニットの追加。
タグセレクト: テキストタグセレクトで設定できるもの [p, h2, h3, ul, markdown, none....] 
[]の中の数値: ユニットの順番を指定
テストユニット
unit@block-editor[数値] HTML文字列 ブロックエディターユニットの追加
[]の中の数値: ユニットの順番を指定
<p>ブロックエディターユニット</p>
カスタムフィールド変数 カスタムフィールド としてインポートされます。インポート先のフィールド仕様にあった値を設定ください。
また、保存されるカスタムフィールドの値は、自動的に検索対象となります。

※ エントリーの追加や更新が混ざっている CSV でインポートする際には、新規追加のエントリーID は 空ではなく -1 を設定 ください。

CSVファイルからのインポート手順

  1. インポートするカンマ区切りデータ(csv形式)を用意します。
  2. ログインをして管理ページのインポートにアクセスします。(図1)
  3. インポート先のブログを確認し、インポート先のカテゴリーを必要に応じて選択してください。(図2)
  4. インポート元になるCSVファイルを選択します。
  5. [インポートを実行する]ボタンをクリックすると、インポートを実行します。

(図1)インポート管理トップ

(図1)インポート管理トップ

(図2)CSVインポート画面

(図2)CSVインポート画面

CSVファイルの例

"entry_title","entry_code","zip","tel","address","unit@p[1]","unit@markdown[2]"
"アップルップル","csv-1","450-0002","052-485-8577","名古屋市中村区名駅3-18-5 モンマートビル5F","1つ目のユニット","## 見出し2"
"あっぷるっぷる","csv-2","000-0000","000-000-0000","指定したentry_titleやentry_codeの通りにエントリーが生成されます", "1つ目のユニット","### 見出し3"
"appleple","csv-3","111-1111","111-111-1111","フィールド名は任意の英数字で指定できます","1つ目のユニット","
## 見出し2

ダブルクウォートで囲むことで改行できます。

- リスト1
- リスト2
- リスト3
"
  • entry_title:エントリーのタイトル
  • entry_code:エントリーのコード(既存のエントリーとの重複を避けユニークな文字列を指定してください。拡張子はいりません。)
  • zip:カスタムフィールド、郵便番号として利用
  • tel:カスタムフィールド、電話番号として利用
  • address:カスタムフィールド、住所として利用
  • unit@[1] : 1番目のテキストユニット
  • unit@markdown[2] : 2番目のマークダウンテキストユニット

特殊な入力形式

少し複雑な項目である、画像やカスタムフィールドグループのインポートをする方法を紹介します。

メディアのカスタムフィールド

メディアのIDを指定して、メディアのカスタムフィールドをインポートします。
ポイントは「フィールド名」のカラムと「フィールド名@media」のカラム両方に「メディアID」を設定することです。

"entry_title","hoge","hoge@media"
"メディアのフィールドテスト",41,41
"メディアのフィールドテスト2",36,36

ブロックエディターのカスタムフィールド

登録したいカスタムフィールドのフィールド名の後ろに 「@block-editor」をつけることでカスタムフィールドのブロックエディターをインポートすることができます。

ブロックエディターにて対応しているHTMLの範囲のみ入稿することが可能です。すべてのHTMLの記法に対応しているわけではないため、ご注意ください。利用できるフォーマットはブロックエディターの基本ブロックと同様です。

"entry_title","hoge@block-editor"
"メディアのフィールドテスト","<p>ブロックエディターフィールドの値</p>"
"メディアのフィールドテスト2","<p>ブロックエディターフィールドの値</p>"

画像のカスタムフィールド

画像のカスタムフィールドは archivesディレクトリに画像を別途アップロードする必要がありますが、 CSVにアップロードされたパスを書くことで、CSVインポートすることができます。

画像のカスタムフィールドには、多くの関連変数があります。すべて指定しなくてもよいですが、少なくとも「フィールド名@path」は指定しましょう。

"entry_title","hoge@path","hoge@x","hoge@y","hoge@alt"
"画像のフィールドテスト","001/202012/4e82948f2a5ce6e6a856d61bf0a1057473cf8997e3c7e7f2da9faa0019935d0e.png",300,169,"代替テキスト"
"画像のフィールドテスト2","001/202012/4e82948f2a5ce6e6a856d61bf0a1057473cf8997e3c7e7f2da9faa0019935d0e.png",300,169,"代替テキスト"

指定可能な項目

カラム名

説明

hoge@alt

代替テキストを設定します

hoge@largePath

大きいサイズの画像のパスを指定します

hoge@largeX

大きいサイズの画像の横幅を指定します(整数)

hoge@largeY

大きいサイズの画像の縦幅を指定します(整数)

hoge@largeFileSiz

大きいサイズの画像のファイルサイズをバイト数で指定します(整数)

hoge@path

画像のパスを指定します

hoge@x

画像の横幅を指定します(整数)

hoge@y

画像の縦幅を指定します(整数)

hoge@fileSize

ファイルサイズをバイト数で指定します(整数)

hoge@squarePath

正方形画像のパスを指定します

hoge@squareX

正方形画像の横幅を指定します(整数)

hoge@squareY

正方形画像の縦幅を指定します(整数)

hoge@squareFileSize

正方形画像のファイルサイズをバイト数で指定します(整数)

hoge@tinyPath

小さいサイズの画像のパスを指定します

hoge@tinyX

小さいサイズの画像の横幅を指定します(整数)

hoge@tinyY

小さいサイズの画像の縦幅を指定します(整数)

hoge@tinyFileSize

小さいサイズの画像のファイルサイズをバイト数で指定します(整数)

ファイルのカスタムフィールド

ファイルのカスタムフィールドは archivesディレクトリにファイルを別途アップロードする必要がありますが、 CSVにアップロードされたパスを書くことで、CSVインポートすることができます。

ファイルのカスタムフィールドには、多くの関連変数があります。

"entry_title","hoge@path","hoge@baseName","hoge@fileSize","hoge@originalName"
"ファイルのフィールドテスト","001/202012/aaa.pdf","aaa.pdf",347794,"サンプル.pdf"
"ファイルのフィールドテスト2","001/202012/bbb.pdf","bbb.pdf","サンプル2.pdf"

指定可能な項目

カラム名

説明

hoge@path

ファイルのパスを指定します

hoge@baseName

ファイル名を指定します

hoge@fileSize

ファイルサイズをバイト数で指定します(整数)

hoge@originalName

アップロード時のファイル名を指定します

カスタムフィールドグループ

カスタムフィールドグループは、複数の値を入れないといけないので、複雑ですがCSVでインポートすることができます。
複雑なので、例をだして、それにそって説明していきます。

例の仕様

  • 「testGroup」というカスタムフィールドグループ名

  • 「testGroup」は2つのテキストフィールドを持つ(inputA, inputB)

  • 今回入力したい値は2レコードで、値は下の画像のような値をいれたい


例の仕様を満たすCSV

上記の仕様を満たすCSVは以下のようになります。

"entry_title","@testGroup[1]","@testGroup[2]","inputA[1]","inputA[2]","inputB[1]","inputB[2]"
"フィールドグループのテスト","inputA","inputB","aaaaa","AAAAAA","bbbbbb","BBBBBB"

ポイント

まず「グループ名」を @グループ名[添字] という形で、グループ内のフィールド数分用意します。
今回は、inputA と inputB の2つ なので、 "@testGroup[1]","@testGroup[2]" を追加しています。
この項目の値には、グループ内のフィールド名を指定します。今回の場合は inputA, inputB になります。

グループ名とフィールド名が指定できたら、グループ内のフィールド値を添字を使って、 レコード数分 指定していきます。 今回は、2レコードなので、"inputA[1]","inputA[2]","inputB[1]","inputB[2]" を追加しています。
この項目の値は、それぞれフィールドに入れたい値を設定することになります。

* 添字は「1」から始まるのでご注意ください。

WordPressからのインポート

WordPressのエクスポートデータからa-blog cmsにインポートする事ができます。

記事のインポート

データ数が多い状況ではインポート処理におけるサーバーへの負荷が高くなります。そのため、作業時間・タイミングに注意しておこなってください。

仕様

  • WordPressの「投稿」のみのエクスポートデータを対象とする
  • 現在のブログ&ユーザーでインポートされる
  • WordPressの各投稿における、パスワード保護設定は無視する
  • インポート先カテゴリーを選択してインポートする
  • 記事のユニットをpタグで囲む、ウィジウィグ、マークダウン、自由記入から選択してインポート
  • カスタムフィールドもインポートされます
  • <!--more--> でユニットの分割をし、続きを読むにすることが出来ます
  • 記事内で最初に挿入されているimg要素に設定されている画像URLがカスタムフィールド 「wp_thumbnail_url」 に保存されます

インポート手順

  • WordPressで投稿データのエクスポートをします。(WordPress管理画面 > ツール > エクスポートで投稿を選択)
  • a-blog cmsのログイン後に、管理ページのインポートにアクセスします。(a-blog cms 管理画面 > WordPressインポート)
  • インポート先のブログを確認し、インポート先のカテゴリーを必要に応じて選択してください。
  • WordPressのエクスポートデータ(XML)を選択します。
  • インポートするユニットを選択します。(pタグ | ウィジウィグ | マークダウン| 自由記入)
  • [インポートを実行する]ボタンをクリックすると、インポートを実行します。

WordPress管理画面 > ツール > エクスポート

WordPress管理画面 > ツール > エクスポート


WordPressの記事インポートで投稿を選択

WordPressの記事インポートで投稿を選択


サムネイル画像URLのインポート

Ver. 3.1.0 から WordPressのアイキャッチ画像URLをカスタムフォールドにインポートすることが出来るようになりました。

注意点として、必ず投稿データのインポートを行った後、アイキャッチ画像URLのインポートを行うようにしてください。

仕様

  • 投稿データのインポート後に実行する
  • 「メディア」を選択したエクスポートデータを使用
  • 「wordpress.com」のエクスポートデータには対応していません
  • アイキャッチの画像URLがカスタムフィールド 「wp_thumbnail_url」 に設定されます

インポート手順

  • WordPressでメディアのエクスポートをします。(WordPress管理画面 > ツール > エクスポートでメディアを選択)
  • a-blog cmsのログイン後に、管理ページのインポートにアクセスします。(a-blog cms 管理画面 > WordPressインポート)
  • Wordpressのエクスポートデータ(XML)を選択します。
  • [インポートを実行する]ボタンをクリックすると、インポートを実行します。

WordPress管理画面 > ツール > エクスポートでメディアを選択

WordPress管理画面 > ツール > エクスポートでメディアを選択


WordPressのサムネイル画像URLインポート

WordPressのサムネイル画像URLインポート

Movable Typeからのインポート

Movable Typeのエクスポートデータからa-blog cmsにインポートする事ができます。

実行は慎重に

データ数が多い状況ではインポート処理におけるサーバーへの負荷が高くなります。そのため、作業時間・タイミングに注意しておこなってください。

仕様は以下になります

  • Movable Typeにて、txt形式のエクスポートのみ対象とする。
  • 現在のブログ&ユーザーでインポートされる。
  • Movable Typeのカテゴリーもインポートされる。
  • 記事のユニットをpタグで囲む、ウィジウィグ、マークダウン、自由記入から選ぶ。
  • カスタムフィールドはインポートされない。
  • ユニットの分割をし、続きを読むにすることができる。

インポート手順

  • Movable Typeでtxt形式で投稿データのエクスポートをします。
  • a-blog cmsのログイン後に、管理ページのインポートにアクセスします。(図1)
  • Movable Typeのエクスポートデータ(txt)を選択します。
  • インポートするユニットを選択します。(pタグ | ウィジウィグ | マークダウン| 自由記入)
  • [インポートを実行する]ボタンをクリックすると、インポートを実行します。

図1

図1

CSVファイルからのユーザーのインポート


管理ページから CSV 形式のデータをユーザー情報に変換してインポートできます。エンタープライズライセンスまたは無制限ユーザーオプションが必要です。

カスタムフィールド値での既存ユーザー特定(後述)は プロフェッショナル以上のライセンス で利用できます。

インポート方法

管理ページ > インポート > ユーザー(CSV)から実行します。CSV ファイルを選択し、「インポートを実行する」ボタンを押下します。

CSV ヘッダーとして使える項目名、入力例、デフォルト値の一覧は インポート画面に常時表示されています。一次情報として最新の管理画面をご参照ください。

主な仕様

すべての項目は任意

CSV のヘッダーに必須項目はありません。user_code / user_mail を省略・空欄にした場合は、システム側でデフォルト値が自動的に割り当てられます。

初期パスワードの扱い

新規ユーザー作成時に user_pass を省略・空欄にした場合、推測不可能なランダムな初期パスワード が自動生成されます。インポートされたユーザーはそのままではログインできないため、パスワードリセット案内などで本人に設定してもらう運用となります。

既存ユーザーの更新時に user_pass を省略・空欄にした場合は、これまでどおり既存のパスワードがそのまま維持されます。

カスタムフィールド

CSV のヘッダーに、ユーザー側で定義されているカスタムフィールド名を指定すると、カスタムフィールドとして取り込まれます。複数項目のチェックボックスのように同名で複数値を持つフィールドは、field_check_box[1] のように添字(1 始まり)を指定してください。

詳しくは CSV ファイルからのインポートをご覧ください。

既存ユーザーの上書き

既存ユーザーを上書きしたい場合は、次の 2 つの方法から選べます。

user_id を指定する方法

CSV に user_id 列を含めて対象ユーザーの ID を指定すると、一致するユーザーが上書きされます。

カスタムフィールドの値で特定する方法(プロフェッショナル以上)

CSV のヘッダー名の先頭に *(アスタリスク)を付けることで、そのフィールドの値で既存ユーザーを特定して上書きできます。外部システムの社員番号・会員番号などと紐付けて運用したい場合に便利です。

たとえば *member_id というヘッダーで M-00123 という値を渡した場合、

状況

動作

member_id フィールドが M-00123 のユーザーが 1 件だけ存在

そのユーザーを上書き

該当ユーザーが 0 件

新規ユーザーとして作成

該当ユーザーが 2 件以上存在

エラーで処理を中断

サンプル CSV

最小構成(新規ユーザーを一括登録)

user_code,user_mail,user_pass,cfd_addr,cfd_zip,cfd_tel
appleple,info@example.com,password,名古屋市中村区名駅3-18-5 モンマートビル5F,450-0002,052-485-8577

上記のCSVファイルで取り込まれた項目は以下のようにカスタムフィールドとして取り込まれます。

カスタムフィールド名

cfd_addr

名古屋市中村区名駅3-18-5 モンマートビル5F

cfd_zip

450-0002

cfd_tel

052-485-8577

補足

  • 文字コードは UTF-8 を推奨します。

  • 値の先頭を str-data_ にしたデータは、表計算ソフトで文字列として扱われ、値の自動変換を防止できます。インポート時はこの先頭の文字は無視されます。数値や日付のデータでお使いください。

バックアップ

アクセスログ


* Ver. 2.7.0 より 管理ページ > チェックリストに移動しました。

アクセスログをCSV形式でダウンロードします。期間を指定してダウンロードを行います。 アクセスログの保存設定として、「取得しない」「POSTのみ取得」「全て取得」と3種類あります。 「取得しない」としていた場合はログが保存されません。 アクセスログには保存期間があります。「7日間」「30日間」「90日間」「1年間」と4種類あります。 保存設定、期間設定については、管理ページ > コンフィグ > 機能設定を確認してください。


エクスポート

データ件数が多く実行に失敗する場合は、PHPの実行時間の最大値設定(max_execution_time)やメモリの設定(memory_limit)を調整してください。

データベースをエクスポート

アクセスログとキャッシュ以外のテーブルをzipフィアル形式でダウンロードします。ブログ単位ではなく全てが対象となります。

アーカイブをエクスポート

画像ファイルなどが保存されているarchives ディレクトリのデータをzip形式でダウンロードします。 archives内のファイルをzipにしてダウンロードしている以外特別な処理は行っておりません。SSHやFTPが使える方でしたらそちらを利用していただいても問題ありません。

インポート(データベース)

エクスポートにより作成したzipファイルをもとに、インポートを行います。既存データを残してのデータ追加のインポートではなく、データの置き換えになりますので注意してください。

アーカイブインポート

エクスポートしたアーカイブのzipファイルを展開しインポートをします。/archives/backup/へファイルをアップロードしてから実行します。

MySQLでのエクスポート、インポート

a-blog cmsの機能として提供しているデータのバックアップや、サーバー移転用の機能の他に、DB(MySQL)から直接データ操作をする方法もあります。
※DBの操作方法、phpMyAdminの利用方法はここでは解説しません。

エクスポート

SQLでデータをエクスポートします。phpMyAdminなどのサポートツールを利用すれば容易に実行できます。扱うデータ量が多く、実行中に処理が止まってしまう場合はテーブル単位でエクスポートをするなどして対応します。

インポート

SQLでデータをインポートします。データベースと接続ユーザーの作成は別途行う必要があります。

別のWebサーバーへインポートした場合はconfig.server.phpに設定が必要になります。設定内容を直接変更するか、新規に設置するサーバーの場合はa-blog cmsのインストールを実行してconfig.server.phpを設定することでも対応できます。
新規インストール後にデータベースのテーブルをインポートしたデータに入れ替えるようにします。
サイト移転時はデータベースのインポートとconfig.server.phpに接続設定をする他に、ファイルの移動も必要になります。archives、archives_rev、media、themes/使用しているテーマのデータ移動も行ってください。

エクスポートしたWebサイトのドメインと、インポートしたWebサイトのドメインが違う場合はライセンス違反となります。インポートしたドメイン用の正式ライセンスファイルを設置し、メンテナンス(setup)メニューにあるドメインの修正を実行します。

データ修正

画像サイズ修正

エントリーの画像ユニット、メディアユニットにてアップロードされた画像ファイルは、設定されたサイズの画像にリサイズされて保存されます。後から設定の値を変更しても、既にリサイズされたアップロード済み画像のサイズは変更されることはありません。こういったケースでアップロード済みの画像サイズを変更するために画像サイズ修正があります。


画像サイズ修正画面

画像サイズ修正画面


ユニットサイズ修正

変更したい画像を「ターゲット」にて指定します。「リサイズ」で変更後の画像サイズを指定します。長編は縦長画像の場合は縦を基準に、横長画像の場合は横を基準にリサイズすることを意味しています。
ターゲットに表示されている内容のうち、拡大画像、モバイル画像、正方形画像についてはコンフィグのimage_size_large、image_size_tiny、image_size_squareの値です。
通常画像のプルダウンは、現在のブログ(BID)に登録済みである画像ユニットの全サイズが展開されています。

ユニットのサイズ(画像、マップ、メディア、ビデオ、画像URL)を修正します。「サイズ」はピクセル指定の実際サイズ、「表示サイズ」ではクラスや %指定します。


ユニットサイズ修正画面

ユニットサイズ修正画面


例えば、タイプ=マップ、サイズ/表示サイズ=サイズ、ターゲットで登録されている画像ユニットのサイズが表示されますので変更いたい画像のサイズを選択。その後、変更値を「640x320」のように指定して修正します。
これで指定した地図ユニットのサイズが変更されます。

ユニットグループ修正

ユニットグループに設定してあるクラス(class)を一括で書き換えます。登録済みユニットで使用されているユニットグープがターゲットに表示されます。
変更したいクラス名を記入して「修正」で変更されます。

シーケンス修正

BIC、CIDやEIDなど登録されるたびに自動で割り振られるIDはシーケンスにて管理されています。何らかの問題によりIDの重複が発生するようになってしまった場合などにこちらを実行して、シーケンスの自動修正を行います。

フルテキスト修正

エントリーのタイトル、エントリーユニットのテキストデータや、カスタムフィールドの値などのテキストデータは、検索機能使用時に検索対象とするため、タイトルやユニットなど個々のデータとは別に検索対象用にデータを生成しています(これをフルテキストと呼んでいます)
このフルテキストに何らかの問題が発生した場合や、DBを直接変更するなどした場合に、データ内に存在するはずの文字が検索でヒットしないことがあります。こういった場合にフルテキストの修正を行います。

N-gramインデックスの付与

N-gramインデックスを利用したテキスト検索に使用します。config.system.yamlにて次の値を設定する必要があります(config.system.default.yamlからコピーします)。

ngram  : 2

既存エントリーへのタグ追加

CSVファイルで指定したワードが含まれるエントリーに対して、そのワードでタグを一括追加します。 「プレビュー」で対象のエントリーを事前に確認することができます。

WordPress形式でのエクスポート


WordPressとの連携や移行を容易にするため、WXR(WordPress eXtended RSS)形式でのエントリーエクスポート機能が Ver. 3.2 から利用できます。

  • WXR形式でのエクスポートに対応
    WordPressがサポートするXMLベースのWXR形式でエントリーデータを出力可能。

  • ブログ単位でのエクスポート
    複数ブログを運用している環境でも、特定のブログ単位でデータをエクスポート可能。

  • エントリー、カテゴリー、ユーザー情報を含む
    エクスポートデータには、エントリー本文だけでなく、カテゴリー情報や投稿ユーザー情報も含まれます。

  • メイン画像をサムネイルとして出力
    各エントリーに紐づくメイン画像を、WXRの<wp:postmeta>としてサムネイル情報に含めています。

WXR形式のエクスポート画面
WXR形式のエクスポート画面

この機能追加により、データのポータビリティが向上します。
WXR形式という標準フォーマットでエクスポートできるため、他のCMSやツールとの互換性が高く、柔軟な運用が可能になります。

  • ユーザーの安心感
    将来的なサイト移行やバックアップにも対応できることで、長期的な視点でも安心してご利用いただけます。

  • ベンダーロックインの回避
    特定のCMSに依存しないデータ設計を実現し、ユーザー側での選択肢と自由度を確保します。

  • データ解析や再利用のしやすさ
    XMLベースの形式により、他システムでのデータ解析やフォーマット変換などの再利用にも適しています。