PowerCMS の記事インポートフォーマットを使うと、他のシステムで作成した記事やコメントを登録できます。
読み込みフォーマットでは、記事を --------\n
( - の8文字と改行コード) の文字列によって区切ります。 各記事は、次の2つの主要なセクションから成り、各セクションは、 -----\n
(「 - 」の5文字と改行コードの文字列) によって区切ります。
読み込むデータに HTML が含まれている場合は、HTML エンコードを使用しないでください。読み込みファイルのデータは PowerCMS のデータベースにそのままの形式で読み込まれます。 したがって、読み込むデータは、新しい記事を作成するときに入力するデータとまったく同じ形式にしてください。
メタデータ・セクション
メタデータは、KEY: VALUE の形式で記述し、改行コードによって区切ります。 KEYとVALUEの区切りは、: です。: の後の半角スペースを忘れないでください。また、メタデータの順序に影響は受けません。
AUTHOR: Foo Bar
TITLE: A dummy title
BASENAME: filename
STATUS: Publish
ALLOW COMMENTS: 1
ALLOW PINGS: 1
CONVERT BREAKS: richtext
PRIMARY CATEGORY: News
CATEGORY: News
CATEGORY: Product
DATE: 08/08/2007 03:00:00 PM
TAGS: "PowerCMS",foo,bar
CF50_BASENAME: textdata
- AUTHOR:
-
記事の作成者名です。該当の作成者がシステムに登録されていない場合は、システムに追加し、該当のスペースへの投稿の権限を設定します。
このメタデータを有効にするために、記事の読み込み操作は、システム管理者またはスペース管理者の権限がある方が、記事の作成者を自分にするオプションにチェックを付けて、行ってください。
- TITLE:
-
記事のタイトルです。指定しない場合は、記事本文の先頭から自動的に生成されます。
- BASENAME:
-
記事の出力ファイル名です。特に指定のない場合も構築後にファイル名が入力されます。
- STATUS:
-
記事の状態です。Draft (下書き) または Publish (公開)、Future (指定日公開) のどちらかを設定します。大文字・小文字の区別はありません。STATUS キーが設定されていない場合は、スペースの設定の初期値を適用します。また、設定値に誤りが見つかった場合、処理を終了して記事を登録しません。
- ALLOW COMMENTS:
-
記事のコメントを受信に関するフラグです。0 (受け付けない) または1 (受け付ける) のどちらかを設定します。ALLOW COMMENTSキーが設定されていない場合は、スペースの設定の初期値を適用します。
- ALLOW PINGS:
-
記事のトラックバックを受信に関するフラグです。0 受け付けない) または1 (受け付ける) のどちらかを設定します。ALLOW PINGSキーが設定されていない場合は、スペースの設定の初期値を適用します。
- CONVERT BREAKS:
-
記事の改行設定に関するフラグです。CONVERT BREAKS キーが設定されていない場合は、スペースの設定の初期値を適用します。
- 0 (なし)
- 1 (改行を変換)
- markdown (Markdown)
- markdown_with_smartypants (Markdown with Smartypants)
- richtext (リッチテキスト)
- textile_2 (Textile 2)
- PRIMARY CATEGORY:
-
記事のメインカテゴリです。インポート先に該当のカテゴリが登録されていない場合、自動的に追加されます。
- CATEGORY:
-
記事のサブカテゴリです。複数の CATEGORY キーをメタデータ・セクションに記述することで、複数のカテゴリを設定できます。カテゴリが登録されていない場合、自動的に追加されます。
CATEGORY: Foo CATEGORY: Bar
PRIMARY CATEGORYで指定したカテゴリが、CATEGORYとしても指定されている場合、そのカテゴリは、サブカテゴリのリストから自動削除され、メインカテゴリとして設定されます。また、PRIMARY CATEGORY を指定せず、CATEGORYを使って指定した場合は、最初のCATEGORYの内容を、メインカテゴリとして設定します。
- DATE:
-
記事の投稿日時です。フォーマットは、MM/DD/YYYY hh:mm:ss AM|PM です。AM|PM はオプションで、それがない場合、時刻は24時間制で処理します。
- TAGS:
-
記事に設定したタグです。複数のタグが設定されている場合は
,
(カンマ) で区切ります。もし、半角スペースを含むタグの場合は、
"tag name"
のように、"
(ダブルクォーテーション) でかこみます。 - NO ENTRY:
-
特定の日付の記事について、コメントやトラックバックを読み込むための特別なキーです。このメタデータは、DATE キーで指定した作成日の記事を検索し、記事があった場合のコメントやトラックバックを登録します。
- CF50_BASENAME:
-
記事のカスタムフィールドを記述します。CF50_に加えてカスタムフィールドのベースネームを記述します。
例えば、ベースネームが my_field の場合は、CF50_MY_FIELD: に続けて、カスタムフィールドの値を記述します。記事のインポートフォーマットでは、次の種類カスタムフィールドに対応しています。
- テキスト
- テキスト(複数行)
- チェックボックス
- URL
- 日付と時刻
- ドロップダウン
- ラジオボタン
なお、カスタムフィールド自体の設定は自動ではインポート/エクスポートされないため、インポートするスペースで同じベースネーム、タイプのカスタムフィールドを予め作成する必要があります。
カスタムフィールドは、PowerCMS Pro の機能です。
複数行フィールド・セクション
複数行フィールドは、 -----\n (-の5文字と改行コード) の文字列によって区切ります。 次の例のように、複数行フィールドは、フィールドの型を表示するキーで始まり、その後に改行コード、フィールドの内容、の順で構成します。
BODY:
これは本文です。
----
EXTENDED BODY:
ここに本文の追記が表示されます。
----
EXCERPT:
ここに概要が表示されます。
----
KEYWORDS:
ここにキーワードが表示されます。
-----
COMMENT:
AUTHOR: Foo
DATE: 01/31/2002 15:47:06
ここにこのコメントの本文が来ます。
-----
PING:
TITLE: Foo Bar
URL: <a href="http://www.example.com/baz/archives/000015.html">http://www.example.com/baz/archives/000015.html</a>
DATE: 08/05/2002 04:05:23 PM
ここに ping したトラックバックの概要がきます。
-----
- BODY:
-
記事の内容 (body) を記述します。
- EXTENDED BODY:
-
追記 (more) を記述します。
- EXCERPT:
-
概要 (excerpt) を記述します。
- KEYWORDS:
-
キーワード (keywords) を記述します。
- COMMENT:
-
この記事に対する1つのコメントを示します。 複数のCOMMENTセクションを記述することができます。複数のセクションを記述する場合、複数行フィールド・セパレータ (-----\n) によって区切ります。また、COMMENT セクションでは、次のフィールドを記述できます。
- AUTHOR: コメント投稿者名。
- EMAIL: コメント投稿者の電子メールアドレス。
- URL: コメント投稿者のURL。
- IP: コメント投稿者のIPアドレス。
- DATE: コメントが投稿された日時。DATEキーと同じフォーマットにする必要があります。
上記のキーのうち、どれとも一致しない行から、コメントの本文が始まります。この行からCOMMENT セクションの終わりまでを、コメントの本文として扱います。
- PING:
-
この記事に対する1つのトラックバックを示します。複数のPINGセクションを記述することができます。複数のセクションを記述する場合、複数行フィールド・セパレータ (-----\n) によって区切ります。また、PING セクションでは、次のフィールドを記述できます。
- TITLE: トラックバックのタイトル。
- URL: トラックバック元へのURL。
- IP: トラックバックを送ったサーバーのIPアドレス。
- BLOG NAME: トラックバックの送信元のスペースの名前。
- DATE: トラックバックが送られた日時。DATEキーと同じフォーマットにする必要があります。
上記のキーのうち、どれとも一致しない行からトラックバックの概要が始まります。この行からPING セクションの終わりまでを、トラックバックの概要として扱います。
2件の記事分の記事インポートフォーマットサンプル
2件の記事の内容を含む、記事インポートフォーマットのサンプルです。AUTHOR: Foo Bar
TITLE: A dummy title
BASENAME: filename
STATUS: Publish
ALLOW COMMENTS: 1
ALLOW PINGS: 1
CONVERT BREAKS: richtext
PRIMARY CATEGORY: News
CATEGORY: News
CATEGORY: Product
DATE: 08/08/2007 03:00:00 PM
TAGS: "PowerCMS",foo,bar
-----
BODY:
これは本文です。
-----
EXTENDED BODY:
ここに追記の本文が表示されます。
-----
COMMENT:
AUTHOR: Foo
DATE: 01/31/2002 15:47:06
ここに
このコメントの本文が来ます。
-----
COMMENT:
AUTHOR: Bar
DATE: 02/01/2002 04:02:07 AM
IP: 205.66.1.32
EMAIL: me@bar.com
これは2番目の
コメントです。 これは
ここまで来ます。
-----
PING:
TITLE: My Entry
URL: <a href="http://www.example.com/old/2002/08/">http://www.example.com/old/2002/08/</a>
IP: 206.22.1.53
BLOG NAME: My Weblog
DATE: 08/05/2002 16:09:12
これがトラックバック元の My Entry の概要。
-----
CF50_BASENAME1:
textdata1
textdata2
textdata3
-----
CF50_BASENAME2: 1
--------
AUTHOR: Foo Bar
TITLE: 2件目の記事
BASENAME: filename
STATUS: Publish
ALLOW COMMENTS: 1
ALLOW PINGS: 1
CONVERT BREAKS: richtext
PRIMARY CATEGORY: News
CATEGORY: News
CATEGORY: Product
DATE: 08/08/2007 03:00:00 PM
TAGS: "PowerCMS",foo,bar
CF50_BASENAME: textdata
-----
BODY:
これは2番目の記事の本文です。 これは
複数行から成ります。
-----
EXCERPT:
この記事は追記がありませんが、
概要はあります。 特殊な例です。
-----
COMMENT:
AUTHOR: Quux
URL: <a href="http://www.quux.com/">http://www.quux.com/</a>
DATE: 01/31/2002 04:23:01 PM
この記事に対する最初のコメントを示します。
-----
CF50_BASENAME1:
textdata1
textdata2
textdata3
-----
CF50_BASENAME2: 1
--------
Movable Type 3.x からの記事のインポート
Movable Type 3.x でエクスポートされた記事データにはタグなどの情報が含まれません。その場合、以下のようなテンプレートを Movable Type 3.x のインデックステンプレートに追加し、出力されたデータをインポートすることもできます。
<MTEntries lastn="99999">AUTHOR: <$MTEntryAuthor$>
TITLE: <$MTEntryTitle$>
BASENAME: <$MTEntryBasename$>
STATUS: <$MTEntryStatus$>
ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
CONVERT BREAKS: <$MTEntryFlag flag="convert_breaks"$>
ALLOW PINGS: <$MTEntryFlag flag="allow_pings"$>
PRIMARY CATEGORY: <$MTEntryCategory$>
<MTEntryAdditionalCategories>CATEGORY: <$MTCategoryLabel$>
</MTEntryAdditionalCategories>
DATE: <$MTEntryDate format="%m/%d/%Y %I:%M:%S %p"$>
TAGS: <MTEntryTags glue=",">"<$MTTagName quote="1"$>"</MTEntryTags>
-----
BODY:
<$MTEntryBody$>
-----
EXTENDED BODY:
<$MTEntryMore$>
-----
EXCERPT:
<$MTEntryExcerpt$>
-----
KEYWORDS:
<$MTEntryKeywords$>
-----
<MTIfNonZero tag="MTEntryCommentCount"><MTComments>COMMENT:
AUTHOR: <$MTCommentAuthor default=""$>
EMAIL: <$MTCommenterEmail$>
URL: <$MTCommentURL$>
IP: <$MTCommentIP$>
DATE: <$MTCommentDate format="%m/%d/%Y %I:%M:%S %p"$>
<$MTCommentBody convert_breaks="0"$>
-----
</MTComments></MTIfNonZero><MTIfNonZero tag="MTEntryTrackbackCount"><MTPings>PING:
TITLE: <$MTPingTitle$>
URL: <$MTPingURL$>
IP: <$MTPingIP$>
BLOG NAME: <$MTPingBlogName$>
DATE: <$MTPingDate format="%m/%d/%Y %I:%M:%S %p"$>
<$MTPingExcerpt$>
-----
</MTPings></MTIfNonZero>
--------
</MTEntries>
テンプレートを使用してエクスポートする場合、公開中の記事のみが対象となります。
テンプレートを再構築する時点で公開されていない記事はエクスポートされませんのでご注意ください。
- 一覧へ