Adobe Campaign でコンテンツ管理を作成するには、次の手順が必要です。
まず、作成するコンテンツを正確に分析する必要があります。表示する要素を識別し、その要素に関連付けられている制約を調べ、各要素のタイプを定義するなどです。静的要素と可変要素を識別する必要もあります。
例えば、次のタイプのコンテンツを含むニュースレターを HTML で作成するとします。
このニュースレターには、3 種類の要素が含まれています。
配信作成時にユーザーが入力フォームからコンテンツを入力または選択する可変要素。
データベースに保存されている情報(この場合は受信者の姓名)に基づいて動的に入力されるパーソナライゼーションフィールド。
すべてのニュースレターで同一の静的要素。
ニュースレターのこれらの要素は、JavaScript テンプレートで定義されているルールに基づいて組み立てられます。このテンプレートは、挿入されるすべての要素を参照し、かつそのレイアウトを概念化します。
これらの要素は、専用スキーマから作成されます。専用スキーマは、名前、ラベル、タイプ、サイズおよび Adobe Campaign での処理に関連するその他の情報などの要素をコンテンツごとに指定します。
データスキーマは、コンテンツに関連付けられた XML ドキュメントです。このコンテンツ内のデータの XML 構造が記述されます。
データスキーマを作成するには、次の手順に従います。
Adobe Campaign エクスプローラーを開き、管理/設定/データスキーマノードを選択します。
データスキーマのリストの上にある新規アイコンをクリックします。
「コンテンツ管理用にスキーマを作成」オプションを選択し、「次へ」をクリックします。
適切なフィールドにスキーマの名前とラベルを入力します。必要に応じて、説明を追加したり、特定の画像をリンクしたりすることもできます。
「次へ」をクリックして確認します。
スキーマ編集ウィンドウにスキーマのコンテンツを入力します。
「挿入」ボタンを使用して、スキーマコンテンツを作成します。
詳しくは、スキーマの編集を参照してください。
コンテンツ内で参照されている要素ごとに、対応するタイプを選択する必要があります。
今回の例では、識別されているコンテンツ、そのフォーマットとタイプは次のようになります。
コンテンツ |
フォーマット |
タイプ |
ラベル |
---|---|---|---|
タイトル |
属性 |
文字列 |
タイトル |
サブタイトル |
属性 |
文字列 |
名前 |
イベントの日付 |
属性 |
日付 |
日付 |
導入部の段落 |
要素 |
HTML |
概要 |
作成者の写真 |
属性 |
文字列 |
URL |
作成者 |
要素 |
メモ |
作成者 |
ヘッダーロゴ(Adobe Campaign のパブリックリソースに保存) |
属性 |
リンク |
画像 |
スキーマには次の情報が含まれます。
<element label="Invitation" name="invitation" template="ncm:content" xmlChildren="true">
<compute-string expr="@name"/>
<attribute label="Title" length="40" name="title" type="string"/>
<element label="Presentation" name="presentation" type="html"/>
<attribute label="Date" name="date" type="date"/>
<attribute label="Name" length="10" name="name" type="string"/>
<attribute label="URL" name="url" type="string"/>
<element label="Author" name="author" type="memo"/>
<element label="Image" name="image" target="xtk:fileRes" type="link"/>
</element>
入力フォームを使用すると、Adobe Campaign のクライアントコンソールから入力インターフェイスを使用してコンテンツインスタンスを編集できます。
フォームは、「xtk:form」形式のスキーマの文法に従って、構造化された XML ドキュメントとして記述します。
コンテンツ管理用の入力フォームを作成するには、次の手順に従います。
Adobe Campaign エクスプローラーを開き、管理/設定/入力フォームノードを選択します。
フォームのリストの上にある新規アイコンをクリックします。
フォームの名前とフォームにリンクするラベルを入力し、コンテンツ管理タイプを選択します。
両方の要素が自動的に一致するように、リンクされているデータスキーマと同じ名前を使用することをお勧めします。入力領域の上の「挿入」ボタンを使用して、フォームにリンクされているスキーマからフィールドを追加します。
エディターの中央のセクションで、入力フォームに表示したいフィールドを指定します。
今回の例では、次のようなタイプの情報を指定します。
<input xpath="@title"/>
<input xpath="@date"/>
<input xpath="presentation"/>
<input xpath="@name"/>
<input xpath="@url"/>
<input xpath="author"/>
<input img="nl:sryimage.png" newEntityFormChoice="true" xpath="image">
<sysFilter>
<condition expr="@isImage = true"/>
</sysFilter>
</input>
「プレビュー」タブを使用して、フォームのレンダリングを編集中に確認できます。
「保存」をクリックして入力フォームを作成します。
XSLT 言語を使用して、XML ドキュメントを別の出力ドキュメントに変換できます。この変換は、スタイルシートというドキュメントに XML で記述します。
今回の例では、JavaScript テンプレートを使用して、生成されるドキュメント内にデータの構成とレイアウトモードを定義します。
ドキュメントの構成(JavaScript テンプレートまたは XSL テンプレート)に関連する制約については、フォーマット設定で詳しく説明しています。
Adobe Campaign で JavaScript テンプレートを使用するには、次の手順に従います。
Adobe Campaign エクスプローラーを開き、管理/設定/JavaScript テンプレートノードを選択します。
テンプレートのリストの上の新規アイコンをクリックします。
テンプレート名を入力し、コンテンツ管理用に作成したスキーマを選択します。
メッセージに表示したいセットコンテンツをインポートします。
JavaScript テンプレートで詳しく説明している構文を順守しつつ、可変要素を追加します。
今回の例のコンテンツを表示するには、JavaScript テンプレートに次の要素を含める必要があります。
<html>
<% eval(xtk.javascript.load("xac:perso").data); %>
<head>
<title>Invitation to an exceptional dedication session</title>
</head>
<body link="#0E59AE" vlink="#0E59AE" alink="#0E59AE" style="background-color:white;">
<table width="546" border="0" align="center" cellpadding="0" cellspacing="0" style="border-left: solid 1px gray;border-top: solid 1px gray;border-right: solid 1px gray;">
<tr>
<td colspan="3">
<%= generateImgTag(content.@["image-id"]) %>
</td>
</tr>
</table>
<table width="546" border="0" align="center" cellpadding="0" cellspacing="0" style="border-left: solid 1px gray;border-right: solid 1px gray;">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="10"> </td>
<td style="padding-top:2em; padding-bottom:2em;" width="730" align="middle">
<b>
<font style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; color:#800080;">
<span style="FONT-VARIANT: small-caps"><%= content.@title %> - <%= content.@name %></span>
</font>
</b>
</td>
<td width="10"> </td>
</tr>
<tr>
<td width="10"> </td>
<td style="padding-top:1em; padding-bottom:1em;" width="730">
<font style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#666666;">
Hello <%= perso('recipient.firstName') %> <%= perso('recipient.lastName') %>,
<p>
<%= content.presentation %>
</p>
<center>
<b><%= formatDate(content.@date, "%2D %Bl %4Y") %></b> come to our Book Fair and meet our favorite authors and illustrators.<br>
<br>
<a href="https://www.site.web.com/registration" target="_blank"><b>REGISTER</b></a>
</center>
</font>
</td>
<td width="10"> </td>
</tr>
<tr>
<td width="10"> </td>
<td style="padding-top:1em; padding-bottom:1em;" width="730">
<font style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#666666;">
<img style="float:left;margin-right:10px" border="0" src="<%= content.@url %>" width="70" height="70">
<b><%= content.author %></b>, will be signing their book between 2
and 5:30PM.
</font>
</td>
<td width="10"> </td>
</tr>
<tr>
<td width="10"> </td>
<td width="730">
<font style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#666666;">
</td>
<td width="10"> </td>
</tr>
<tr>
<td width="10"> </td>
<td>
<font style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#666666;">
<center>
<p>
<a href="https://www.site.web.com/program" target="_blank"><span style="FONT-VARIANT: small-caps"><b>Program</b></span></a>
|
<a href="https://www.site.web.com/information" target="_blank"><span style="FONT-VARIANT: small-caps"><b>Useful information</b></span></a>
|
<a href="https://www.site.web.com/registration" target="_blank"><span style="FONT-VARIANT: small-caps"><b>Register</b></span></a></p>
</center>
</font>
</td>
<td width="10"> </td>
</tr>
</table>
<br>
</td>
</tr>
</table>
</body>
</html>
テンプレートの冒頭で関数を呼び出すことによって、Adobe Campaign データベースからパーソナライゼーションデータを取得する呼び出し(この場合は recipient.firstName と recipient.lastName)を設定でき、配信時にも利用できます。詳しくは、JavaScript テンプレートの取り込みを参照してください。
今回の例では、次のようなコードが関数に含まれます。
function perso(strPerso)
{
var strStart = '<' + '%' + '=';
var strEnd = '%' + '>';
return strStart + strPerso + strEnd;
}
function bloc(strPerso)
{
var strStart = '<' + '%' + '@ include view="';
var strEnd = '" %' + '>';
return strStart + strPerso + strEnd;
}
JavaScript テンプレートを有効にするためには、次に示すツリーの JavaScript コードノードから事前にこの関数を作成しておく必要があります。
次の手順では、スキーマ、フォームおよびコンテンツ構成テンプレートをリンクするためのコンテンツパブリッシュテンプレートを作成します。このパブリッシュテンプレートは、複数の出力フォーマットを持つことができます。
コンテンツパブリッシュテンプレートについて詳しくは、パブリッシュテンプレートを参照してください。
手順は次のとおりです。
管理/設定/パブリッシュテンプレートノードから、新しいパブリッシュテンプレートを作成します。
名前とラベルを入力し、使用するスキーマとフォームを選択します。
テンプレートの名前を入力し、適用するレンダリングモードを選択します。ここでは、上記で作成したテンプレートに基づいて、「JavaScript」タイプのレンダリングを選択します。
「DOM インターフェイス」オプションはデフォルトでオンになっています。これは、E4X 構文を使用している場合はこのドキュメントにアクセスできなくなることを意味します。このオプションがオンになっている場合は DOM インターフェイスを使用する必要があり、これが推奨される構文です。
これまでどおりに E4X 構文を使用することもできます。その場合は、このオプションをオフにしてください。
「追加」ボタンを使用して、他の変換テンプレートを作成します。
「保存」をクリックしてパブリッシュテンプレートを作成します。
このパブリッシュテンプレートをもとに、コンテンツを作成します。
コンテンツの作成について詳しくは、コンテンツテンプレートの使用を参照してください。
配信内で直接コンテンツを作成するには、次の手順に従います。
まず、配信プロパティの「詳細設定」タブからパブリッシュテンプレートを参照します。
コンテンツ管理フォームを使用してコンテンツを定義するためのタブが、配信ウィザードに追加されます。
ニュースレターの可変情報を入力します。
「HTML プレビュー」タブをクリックして、レンダリングを確認します。パーソナライゼーションをテストするには、受信者を選択する必要があります。