[v8 にも適用されます]{class="badge positive" title="Campaign v8 にも適用されます"}
ユースケース:コンテンツ管理の作成 use-case-creating-content-management
Adobe Campaign でコンテンツ管理を作成するには、次の手順が必要です。
手順 1 - 作成するコンテンツを分析する step-1---analyzing-the-content-to-be-produced
まず、作成するコンテンツを正確に分析する必要があります。表示する要素を識別し、その要素に関連付けられている制約を調べ、各要素のタイプを定義するなどです。静的要素と可変要素を識別する必要もあります。
例えば、次のタイプのコンテンツを含むニュースレターを HTML で作成するとします。
このニュースレターには、3 種類の要素が含まれています。
-
配信作成時にユーザーが入力フォームからコンテンツを入力または選択する可変要素。
-
データベースに保存されている情報(この場合は受信者の姓名)に基づいて動的に入力されるパーソナライゼーションフィールド。
-
すべてのニュースレターで同一の静的要素。
ニュースレターのこれらの要素は、JavaScript テンプレートで定義されているルールに基づいて組み立てられます。このテンプレートは、挿入されるすべての要素を参照し、かつそのレイアウトを概念化します。
これらの要素は、専用スキーマから作成されます。専用スキーマは、名前、ラベル、タイプ、サイズおよび Adobe Campaign での処理に関連するその他の情報などの要素をコンテンツごとに指定します。
手順 2 - データスキーマを作成 step-2---creating-the-data-schema
データスキーマは、コンテンツに関連付けられた XML ドキュメントです。このコンテンツ内のデータの XML 構造が記述されます。
データスキーマを作成するには、次の手順に従います。
-
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>
- 「保存」をクリックしてデータスキーマを作成します。
手順 3 - 入力フォームを作成する step-3---creating-the-input-form
入力フォームを使用すると、Adobe Campaign のクライアントコンソールから入力インターフェイスを使用してコンテンツインスタンスを編集できます。
フォームは、「xtk:form」形式のスキーマの文法に従って、構造化された XML ドキュメントとして記述します。
コンテンツ管理用の入力フォームを作成するには、次の手順に従います。
-
Adobe Campaign エクスプローラーを開き、管理/設定/入力フォーム ノードを選択します。
フォームのリストの上にある 新規 アイコンをクリックします。
-
フォームの名前とフォームにリンクするラベルを入力し、コンテンツ管理 タイプを選択します。
note note NOTE 両方の要素が自動的に一致するように、リンクされているデータスキーマと同じ名前を使用することをお勧めします。入力領域の上の「挿入」ボタンを使用して、フォームにリンクされているスキーマからフィールドを追加します。 -
エディターの中央のセクションで、入力フォームに表示したいフィールドを指定します。
今回の例では、次のようなタイプの情報を指定します。
code language-none <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>
「プレビュー」タブを使用して、フォームのレンダリングを編集中に確認できます。
-
「保存」をクリックして入力フォームを作成します。
手順 4 - 構築テンプレートを作成 step-4---creating-the-construction-template
XSLT 言語を使用して、XML ドキュメントを別の出力ドキュメントに変換できます。この変換は、スタイルシートというドキュメントに XML で記述します。
今回の例では、JavaScript テンプレートを使用して、生成されるドキュメント内にデータの構成とレイアウトモードを定義します。
Adobe Campaign で JavaScript テンプレートを使用するには、次の手順に従います。
-
Adobe Campaign エクスプローラーを開き、管理/設定/JavaScript テンプレート ノードを選択します。
テンプレートのリストの上の 新規 アイコンをクリックします。
-
テンプレート名を入力し、コンテンツ管理用に作成したスキーマを選択します。
-
メッセージに表示したいセットコンテンツをインポートします。
JavaScript テンプレートで詳しく説明している構文を順守しつつ、可変要素を追加します。
今回の例のコンテンツを表示するには、JavaScript テンプレートに次の要素を含める必要があります。
code language-none <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 テンプレートの取り込みを参照してください。
今回の例では、次のようなコードが関数に含まれます。
code language-none 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 コード ノードから事前にこの関数を作成しておく必要があります。
手順 5 - パブリッシュテンプレートを作成 step-5---creating-the-publication-template
次の手順では、スキーマ、フォームおよびコンテンツ構成テンプレートをリンクするためのコンテンツパブリッシュテンプレートを作成します。このパブリッシュテンプレートは、複数の出力フォーマットを持つことができます。
手順は次のとおりです。
-
管理/設定/パブリッシュテンプレート ノードから、新しいパブリッシュテンプレートを作成します。
-
名前とラベルを入力し、使用するスキーマとフォームを選択します。
-
テンプレートの名前を入力し、適用するレンダリングモードを選択します。ここでは、上記で作成したテンプレートに基づいて、「JavaScript」タイプのレンダリングを選択します。
note note NOTE 「DOM インターフェイス」オプションはデフォルトでオンになっています。これは、E4X 構文を使用している場合はこのドキュメントにアクセスできなくなることを意味します。このオプションがオンになっている場合は DOM インターフェイスを使用する必要があり、これが推奨される構文です。 これまでどおりに E4X 構文を使用することもできます。その場合は、このオプションをオフにしてください。 「追加」ボタンを使用して、他の変換テンプレートを作成します。
-
「保存」をクリックしてパブリッシュテンプレートを作成します。
手順 6 - コンテンツを作成 step-6---creating-contents
このパブリッシュテンプレートをもとに、コンテンツを作成します。
配信アシスタントでのコンテンツの作成 creating-content-in-the-delivery-assistant
配信内で直接コンテンツを作成するには、次の手順に従います。
-
まず、配信プロパティの「詳細設定」タブからパブリッシュテンプレートを参照します。
コンテンツ管理フォームを使用してコンテンツを定義するためのタブが、配信アシスタントに追加されます。
-
ニュースレターの可変情報を入力します。
-
「HTML プレビュー」タブをクリックして、レンダリングを確認します。パーソナライゼーションをテストするには、受信者を選択する必要があります。