CSVDataImExporter

目次

主な機能

  • CSV形式でMovable Typeのブログ記事・ウェブページデータのエクスポート・インポートが可能です。
  • インポート時の記事更新は、記事IDによる指定の他、タイトルやベースネームによる指定が可能です。これにより、常にインポートだけを行なう運用が可能です。
  • 一覧画面から記事単位のエクスポートが可能です。
  • カテゴリ・フォルダ・関連アイテム・カスタムフィールドに対応します(グレードによって対応機能が異なります)。
  • Movable Typeクラウド版に対応(4_00以降)。
  • Movable Typeコンテンツデータに対応(5_00以降)。
  • 2018.4.11 MT7に対応しました。

動作確認環境

  • Movable Type 5.02/5.06/5.12/5.2.2(PSGI環境確認済み)/6.x/7.0b3
  • OS:Linux(CentOS)/Windows Vista/Windows 7
  • Perl:5.8.8以上
  • 表計算ツール:Microsoft Excel 2010/Microsoft Excel 2000/OpenOffice Calc/LibreOffice Calc

インストール

ダウンロードアーカイブを展開した中にある「CSVDataImExporter」フォルダをMovable Typeのpluginsディレクトリにアップロードします。アップロード後、システム管理画面の「ツール」→「プラグイン」で「CSVDataImExporter」が表示されていればインストール完了です。

クラウド設定(4_00以降)

AWSなどのクラウド環境でプラグインをご利用の場合、システム管理画面の「ツール」→「プラグイン」→「CSVDataImExporter」→「設定」で「クラウド環境」を選択してください(デフォルトは「非クラウド環境」)。

文字コード設定(4_00以降)

エクスポートデータの文字コードをShift_JIS以外に変更したい場合、ウェブサイトまたはブログ管理画面の「ツール」→「プラグイン」→「CSVDataImExporter」→「設定」で、文字コードを変更してください(デフォルトは「Shift_JIS」)。

CSVデータのエクスポート

注:エクスポートはブログ管理者以上の権限が必要です。

左メニューの「ツール」→「CSVデータのエクスポート」をクリックすれば、エクスポート画面が表示されます。

一覧画面を使えば、記事単位のエクスポートが可能です。

ウェブサイトでウェブページの記事単位のエクスポートを行う場合は、一覧画面にある「フィルタ」を使って「ウェブサイトウェブページ」を選択してください。

CSVデータのインポート

注:インポートはブログ管理者以上の権限が必要です。

MT6版は左メニューの「ツール」→「記事のインポート」をクリックしたあと、「インポート元」のプルダウンから「CSV形式」を選択すれば、インポート画面が表示されます。

MT5版以前は、左メニューの「ツール」→「CSVデータのインポート」をクリックすれば、インポート画面が表示されます。

CSVデータのフォーマット

CSVデータのフォーマットは表の通りになります。

項目 1行目 2行目以降 備考
クラスclassブログ記事:entry
ウェブページ:page
必須項目(注)
A列に設定
1つのCSVファイルに「entry」と「page」の混在可能
記事IDid記事IDを半角数字で入力上書き時は必須項目(注)
B列に設定
ステータス
(公開状態)
status下書き:1
公開:2
指定日:4
必須項目(注)
ユーザーauthor記事投稿者のユーザー名を設定必須項目(注)
公開日authored_on以下のいずれかのフォーマットを設定
YYYYMMDDHHMMSS
例:20140101235959
YYYY-MM-DDTHH:MM:SS.mmm
例:2014-01-01T23:59:59.000
YYYY-MM-DD HH:MM:SS
例:2014-01-01 23:59:59
YYYY/M/D H:MM
例:2014/1/1 23:59
YYYY.M.D H:MM
例:2014.1.1 23:59
更新日modified_onフォーマットは公開日と同じ
公開終了日(MT6以降)unpublished_onフォーマットは公開日と同じ
フォーマットconvert_breaksなし:0
改行を変換:__default__
Markdown:markdown
Markdown + SmartyPants:markdown_with_smartypants
リッチテキスト:richtext
Textile 2:textile_2
タイトルtitleタイトルを設定
本文text本文を設定データに改行やカンマなどを含む場合は全体をダブルクォーテーションで囲む
追記text_more追記を設定同上
概要excerpt概要を設定同上
キーワードkeywordsキーワードを設定カンマで区切る場合は全体をダブルクォーテーションで囲む
カテゴリcategoriesカテゴリまたはフォルダを設定複数設定する場合はカンマで区切る(カンマで区切る場合は全体をダブルクォーテーションで囲む)
サブカテゴリ・サブフォルダは「--」で区切る
タグtagsタグを設定複数設定する場合はカンマで区切る(カンマで区切る場合は全体をダブルクォーテーションで囲む)
コメント許可allow_comments受信しない:0
受信する:1
トラックバック許可allow_pings受信しない:0
受信する:1
アイテムassetsアイテムを設定複数設定する場合はカンマで区切る(カンマで区切る場合は全体をダブルクォーテーションで囲む)
出力ファイル名
(ベースネーム)
basenameシステムで一意となる任意の半角英数字
カスタムフィールドカスタムフィールドのベースネームカスタムフィールドデータを設定アイテム/画像/オーディオ/ビデオについては次のようなフォーマットの設定が必要です(グレード④以外)。
<form mt:asset-id=""1"" class=""mt-enclosure mt-enclosure-image"" style=""display: inline;""><a href=""http://user-domain/test.jpg"">test.jpg</a></form>
「mt-enclosure-image」の部分はオーディオの場合は「mt-enclosure-audio」、ビデオの場合は「mt-enclosure-video」になります。「mt:asset-id」には関連するアイテムのIDを指定してください。登録されていないアイテムとの関連づけは行えません。
グレード④については上記のフォーマットの他、後述する「アイテムのフォーマット」の「パターン2」によるアップロードが可能です。パターン2のフォーマットで指定した後で上書きインポートを行う場合は、パターン2のフォーマットでインポートしたあとのエクスポートしたCSVをご利用ください。パターン2のフォーマットで複数回インポートを行うと、同じアイテムが複数登録されます。

注:「必須項目」は、その項目を設定しないと記事として登録できないことを意味します。記事の上書きを行う場合、カテゴリや本文など「必須」でない部分は、CSVに設定されている内容で上書き登録します。よってCSVに設定がなければ空になるかまたは削除されます(他のシステムでは空でインポートすると現在登録されている内容を残すものもあるようですが、空にしたい(または削除したい)ケースを考慮してこのような仕様にしています)。

カテゴリ・フォルダのフォーマット

CSVに設定するカテゴリ・フォルダのフォーマットは次のいずれかになります。赤色部分がデータ部分になります。

パターン1 ※エクスポート時はこのフォーマットになります
カテゴリ名(カテゴリID:ベースネーム)

パターン2
カテゴリ名(:ベースネーム)

パターン3
カテゴリ名(カテゴリID)

パターン4
カテゴリ名

パターン2とサブカテゴリ指定を組み合わせた例

ニュース(:news)--2013年(:2013)--6月(:06)

カテゴリ名に「--」を使っていて区切り文字に使用できない場合は、ブログ管理画面の「ツール」→「プラグイン」→「CSVDataImExporter」→「設定」で区切り文字を変更することができます。(注:v3_00以降では未提供)

アイテムのフォーマット

CSVに設定するアイテムのフォーマットは次のいずれかになります。赤色部分がデータ部分になります。

パターン1 ※エクスポート時はこのフォーマットになります
アイテム名(アイテムID)

パターン2 未登録のアイテムを関連付ける場合
アイテムのパス(ルートディレクトリからのフルパス)とファイル名
例:/home/user-name/www/sample.jpg

パターン2のフォーマットで指定した場合、指定したファイルを「サイトパス/assets」直下に配置しなおし、Movable Typeのアイテムとして登録して、さらに記事と関連づけを行います。関連づけるファイルはMTと同じサーバに予めアップロードしてください(ファイルのアップロード機能はありません)。

注:アイテムをパターン2のフォーマットで指定した後で上書きインポートを行う場合は、パターン2のフォーマットでインポートしたあとのエクスポートしたCSVをご利用ください。パターン2のフォーマットで複数回インポートを行うと、同じアイテムが複数登録されます。

パターン2でアップロードする場合、assets直下にファイルを配置するため、ファイル名の重複がないようにしてください。元ファイルのパスをアイテムのパスとして利用したい場合、プラグインの改修(有償)を致しますのでご相談ください。

エクスポートデータのサンプル

class,id,status,author,authored_on,modified_on,convert_breaks,title,text,text_more,excerpt,keywords,categories,tags,allow_comments,allow_pings,assets,basename
entry,27,2,mtbook,2013-06-16 17:45:18,2013-10-22 01:26:27,__default__,Movable Type 入門セミナー,"Movable Type 入門セミナーを下記の通り開催します。自分で更新できるウェブサイトジを作りたい、ウェブサイトを使って集客したい、売上を上げたい、成果を出したいという方々へ向けたセミナーです。

日時:2013年8月8日(水) 12:00~17:00
定員:先着50名
料金:2,000円(税込)
セミナーの内容:

<ol>
<li>ブログとは?</li>
<li>Movable Typeとは?</li>
<li>Movable Typeでブログを構築するには</li>
<li>構築後の運用方法</li>
<li>SEO対策</li>
</ol>

※Movable Type は、Six Apart, Ltd.の登録商標です。",,,"セミナー,Movable Type",お知らせ(1:cat)--イベント(2:cat),"CSS,JavaScript,MovableType,PHP,SEO,Web2.0,Webデザイン,XHTML,セミナー",1,1,eyes0016.jpg(4),movable-type
entry,28,2,mtbook,2013-07-25 17:45:40,2013-06-22 01:26:01,__default__,ソリューションセミナー,"本セミナーでは、ソフトウェアの品質向上という課題に取り組み、成功されたお客様の事例をご紹介致します。さらに要件定義から運用まで、ソフトウェア開発におけるライフサイクルのすべてを支援するサービスをご紹介致します。 また、実際にご体感いただく展示コーナーも併設しております。
是非この機会にご参加いただきますようお願い致します。

名称:ソリューションセミナー
開催日程:2013年8月1日(火) 13:30~17:30 (受付開始:13時)
開催場所:コンファレンスセンター
主催:×××株式会社",,,セミナー,お知らせ(1:cat)--イベント(2:cat),"CSS,MovableType,SEO,Web2.0,Webデザイン,XHTML,お知らせ,セミナー",1,1,eyes0723.jpg(5),java
entry,31,2,mtbook,2013-08-10 17:46:00,2013-11-22 01:25:20,__default__,業務提携に関するお知らせ,"株式会社××××××(本社:東京都品川区 代表取締役社長 以下、×××)は、××株式会社(以下、××)と、事業に関する業務提携を行なうことを合意しましたので、下記の通りお知らせ致します。

1.提携の目的

×××は本提携により、××の国内での幅広いネットワークを活用した×××の大手企業の獲得支援、また××の海外でのネットワークを活かした事業の活性化に向けた協業体制を構築することで、ノウハウをフルに活用して顧客満足度の高いサービス提供を目指します。

2.業務提携の主な内容

今回の提携により、今後各社のノウハウ及びネットワークを融合して積極的に事業展開し、事業を日本のみならず世界展開していくことを目指していきます。

本業務提携の締結に基づき、更なる関係強化のため×××は、××の株式10000株(出資比率20.0%)を取得する予定です。",,,"提携,事業",お知らせ(1:cat),"MovableType,Webデザイン,お知らせ,セミナー",1,1,eyes0588.jpg(6),post-8

注意事項

  • CSVデータで、classとidの出現順序が間違ったフォーマットでインポートするとインポートエラーになります。
  • 大量のデータをインポート・エクスポートする場合、サーバ環境・性能によって処理が正常に終了しない場合があります(評価版で事前にご確認ください)。