a-blog cmsにインポート機能ができたよー
今更ながら自己紹介。
今更ながらですがアップルップルにてプログラマの atsu666 (twitter) といいます。
a-blog cmsの開発状況などをblogでアップしていいよと許可を頂きましたので、
これからいろいろと情報をアップしていきたいと思います。
よろしくお願いします!
今回は、1.5より追加されるインポート機能についてです。
a-blog cms本体にインポート機能を追加
メンテナンスツールに、MTやCSVのインポート機能があったのですが、それを本体に移行して仕様も大きく変更しました。大きくはWordpressのインポートが加わった点とCSVでインポートだけではなくアップデートも対応になった点でしょうか。
Wordpressのインポート
Wordpressの記事のインポートができるようになりました。
主な仕様は、
- Wordpressで投稿のみのエクスポートをする。
- 現在のブログ&ユーザーでインポートされる。
- インポート先カテゴリーを選択してインポートする。
- 記事のユニットをpタグで囲む、ウィジウィグ、マークダウン、自由記入から選ぶ。
- カスタムフィールドもインポートされる。
- <!--more-->でユニットの分割をし、続きを読むにすることができる。
インポート先カテゴリーを選択できるようにした理由としては、Wordpressでは特定のカテゴリーのみのエクスポートが可能なので、カテゴリーの重複やカテゴリーコードのつけかたの問題を回避できるためです。
参考までにWordpressでのエクスポートの画像を添付しておきます。
MovableTypeのインポート
MTの記事のみのインポート機能ができました。
主な仕様は、
- MTでtxt形式のエクスポートをする。
- 現在のブログ&ユーザーでインポートされる。
- 記事のユニットをpタグで囲む、ウィジウィグ、マークダウン、自由記入から選ぶ。
- カスタムフィールドはインポートされない。
- ユニットの分割をし、続きを読むにすることができる。
カスタムフィールドは残念ながらインポートされません。これはMTでは標準でカスタムフィールドのエクスポートができない為です。
あと、Wordpressと違う点については、カテゴリーを選択してインポートしない所でしょうか。
これは、標準ではMTでカテゴリーを選択してエクスポートできない為です。これに関しては、MTでカスタマイズすればカテゴリーごとのエクスポートも可能になるので、MTのカテゴリーを無視してWordpressのインポートと同様にカテゴリーを選択してインポートする機能をつけてもよいのかなーって思います。みなさんどうでしょうか?
CSVによるインポート
メンテナンスツールにあったCSVのインポートですが、こちらも本体機能として移行しました。
主な仕様として、
- 現在のブログ&ユーザーでインポートされる。
- エントリーと、エントリーのカスタムフィールドに変換してインポートする。
- entry_id を指定することで既存のエントリーに上書きすることができる。
- entry_idが指定してない場合、エントリー情報は自動で作成されます。
- インポート先カテゴリーを選択してインポートする。
基本的に従来のCSVインポートと同様の使い方です。
変わっている点として、ユニットの追加が汎用的になったのとエントリーのアップデートができるようになった点でしょうか。少しわかりにくいのでエントリーの新規追加とアップデートに分けて説明したいと思います。
エントリー新規追加。
エントリーの追加は従来どおりの使い方で大丈夫だと思います。
まずはCSVのテンプレートですが、
entry_title,entry_code,cfd_zip,cfd_tel,cfd_addr,unit@h3[1],unit@p[2] アップルップル,csv-1.html,460-0003,052-221-7300,名古屋市中区錦2-8-11 セイノー伏見ビル6F,アップルプル1,テストインポートです1 あっぷるっぷる,csv-2.html,000-0000,000-000-0000,指定したentry_titleやentry_codeの通りにエントリーが生成されます,アップルプル2,テストインポートです2 appleple,csv-3.html,111-1111,111-111-1111,フィールド名は任意の英数字で指定できます,アップルプル3,テストインポートです3
こんな感じで書くことができます。エントリー情報(entry_title,entry_code)などは書かなくても自動で作成されます。
また、unit@p[1]などと書くことにより pタグのユニットを追加できます。その後ろの番号はソートの番号です。ここで気をつけることは unit@p などを複数かいた場合、unitが反映されない可能性がありますので必ず後ろの数字はつけてください。
カスタムフィールドもunitと同様になります。ユニークなカスタムフィールドキーなら問題はありませんが複数同じカスタムフィールドを入力したい場合は、カスタムフィールド名[数値]という形で入力してください。
エントリーの情報として指定できるフィールドを列挙しときます。
- entry_id
- entry_code
- entry_status
- entry_title
- entry_link
- entry_datetime
- entry_posted_datetime
- entry_updated_datetime
エントリーのアップデート
CSVでentry_idを指定することによりそのエントリーをアップデートすることができます。
ここで気をつける点として、unitの指定をCSVにしている場合はそのエントリーのテキストユニットが削除されCSVにあるユニットが追加されます。画像ユニットなどは削除されません。指定していない場合エントリーの記事に特に影響はありません。
また、カスタムフィールですがCSVにあるカスタムフィールドのみアップデートされます。
なので、すでにあるカスタムフィールドをいちいちCSVに書かなくても大丈夫です。
CSVには新しく追加するカスタムフィールドやアップデートするカスタムフィールドのみ書いてください。
a-blog cms1.5のインポート機能については以上になります。
ではでは。