対話管理ガイド
![]() |
![]() |
![]() |
![]() |
キャンペーンはパーソナライゼーション用の強力なツールであり、特定の条件およびきめ細かなルールに基づいて、ユーザを特定の Web コンテンツ、電子メール、および割引の対象にすることができます。
次のトピックでは、キャンペーンを作成するプロセスを手順を追って説明します。
キャンペーンでは、各ユーザに以下の機能を提供することができます。
キャンペーンではコードを変更せずにビジネス ロジックを作成できるので、高い柔軟性を発揮します。たとえば、キャンペーンでは、プレースホルダと呼ばれる JSP タグ (<ph:placeholder name="myPlaceholder1"/>
) を使用して Web コンテンツを表示します。JSP プレースホルダ タグ (「name」属性によってユニークに識別される) は、ポータルの JSP のどこに追加してもかまいません。追加したら、既存のプレースホルダを使用するキャンペーンを定義して、各プレースホルダでキャンペーンおよび個々のユーザに対してユニークなコンテンツを表示できます。キャンペーンの変更および追加が発生しても、JSP コードを変更する必要はありません。必要なプレースホルダは、現状のまま維持されます。
高度な柔軟性とパーソナライゼーションに加えて、キャンペーンはその名前が示すように、特定の時期に開始し、特定の目標が達成されたかどうか、または期限切れになったかどうかにかかわらず、条件が満たされた時点で終了します。各訪問者に対して 1 回だけ実行されるようにキャンペーンを設定することもできます。
構造上、キャンペーンは 1 つまたは複数のシナリオで構成され、各シナリオは 1 つまたは複数のアクションで構成されます。シナリオのアクションは、パーソナライズされたコンテンツを表示したり、自動電子メールを送信したり、パーソナライズされた割引を提供したりします。シナリオをアクションのコンテナとして使用すると、シナリオのアクションを提供するときにユーザ セグメントを使用して資格のあるユーザを決定できるという利点があります (ただし、ユーザ セグメントをシナリオに割り当てる必要はありません)。たとえば、2 つのシナリオを含むキャンペーンを作成し、1 つのシナリオでは男性だけにアクションを適用し、もう 1 つのシナリオでは女性だけにアクションを適用することができます。女性を対象にしたシナリオでは、次のようにロジックが展開されます。
次のシナリオは、多彩で幅広い用途があるキャンペーンの例を示しています。
現時点では、追跡の対象外である匿名ユーザに対するキャンペーンと行動追跡はサポートされていません。『ユーザ管理ガイド』の「匿名ユーザ」 (http://edocs.beasys.co.jp/e-docs/wlp/docs81/users/anonymous.html) を参照してください。
キャンペーンのシナリオ ルールは、キャンペーン サービスがリスンしている 1 つのイベントが発生したときにのみ評価されます。
注意 : デフォルトでは、キャンペーンをトリガしないイベントは、DisplayContentEvent、DisplayProductEvent、BuyEvent、SessionBeginEvent、および SessionEndEvent だけです。これらのイベントは、<PortalApplication>/wps.jar/com/bea/campaign/internal/listeners.properties
で表示されます。
キャンペーンの条件でリクエスト、セッション、またはイベントのプロパティを使用した場合、リスンしているイベントがトリガされるとこれらのプロパティが取得されます。イベントは、現在のセッション プロパティ、1 つのリクエスト プロパティ (セッションに含まれる)、イベント プロパティ (リクエストに含まれる) のスナップショットを作成します。スナップショットはリクエスト オブジェクトの形式で作成され、評価のためにキャンペーン サービスに渡されます。スナップショットの値をキャンペーン アクションのルールと照合し、結果が真であれば、キャンペーンのアクションがトリガされます。
セッション、リクエスト、およびイベントのプロパティを使用して、キャンペーンのアクションが期待どおりにトリガされない場合は、一般に次の 1 つまたは複数の原因が考えられます。
WebLogic Workshop で次のキャンペーン アクション ルールが作成されたと考えてください。
ルールが評価されるのは、キャンペーン サービスがリスンしているイベントが発生した場合だけです (このイベントをキャンペーン ルールで直接使用する必要はありません)。たとえば、キャンペーン サービスが BEA 提供の UserRegistrationEvent をリスンするようにコンフィグレーションされている場合 (デフォルトの設定)、UserRegistrationEvent が発生すると、このイベントによってリクエスト オブジェクトのスナップショットが作成され、キャンペーン ルールが評価されます。
前述のキャンペーン アクション ルールは、次のような方法で評価されます。
ルールのすべての条件が真になる必要がありますが、キャンペーン サービスを起動してリクエスト オブジェクトのスナップショットを作成したのは UserRegistrationEvent であるため、キャンペーン アクションはトリガされません。SessionLoginEvent ルールは偽です (キャンペーン サービスを起動したのは UserRegistrationEvent です)。
ルールの定義が異なり、すべての条件ではなく、いずれかの条件が真の場合にアクションをトリガすると定義されていた場合、リクエスト プロパティが真であればキャンペーン アクションがトリガされます。
注意 : キャンペーンで電子メールを使用している場合は、バッチ モードとリアルタイムのどちらで電子メールを送信するかを選択できます (バッチ モードがデフォルトです)。バッチ モードでは、キャンペーンを実行またはテストするときに、電子メールは送信されません。バッチ モードの電子メールの送信方法については、「一括電子メール メッセージの設定」を参照してください。メール送信の動作をリアルタイムに変更する方法については、「キャンペーンの作成」を参照してください。
キャンペーンを作成するには、最初に以下の適切な手順を実行する必要があります。
注意 : 現時点では、追跡の対象外である匿名ユーザに対するキャンペーンと行動追跡はサポートされていません。『ユーザ管理ガイド』の「匿名ユーザ」 (http://edocs.beasys.co.jp/e-docs/wlp/docs81/users/anonymous.html) を参照してください。
WebLogic Workshop ヘルプ システムの「ポータル アプリケーションおよびポータル Web プロジェクトを作成する」を参照してください。
キャンペーンでコンテンツ ルールを使用してパーソナライズされたコンテンツを表示する場合は、BEA の仮想コンテンツ リポジトリからコンテンツを取得し、プレースホルダで表示します。キャンペーンに必要な機能および役に立つ機能を有効にするためにコンテンツに追加できるプロパティが数多くあります。たとえば、プレースホルダに特定のコンテンツ項目が表示される機会を増やすために、コンテンツ項目の adWeight
プロパティを (整数として) 作成します。コンテンツ項目に対して入力した adWeight
値が大きいほど、そのコンテンツがクエリによって取得された場合にプレースホルダで表示される可能性が高くなります。
対話管理で使用するコンテンツの設定の詳細については、このガイドの「コンテンツの設定」を参照してください。
WebLogic Portal のコンテンツ管理の使用方法については、e-docs ホーム ページ (http://edocs.beasys.co.jp/e-docs/wlp/docs81/index.html) の「コンテンツ管理」のトピック リストから選択してください。
キャンペーンの目標設定を使用して、コンテンツ項目が表示された回数、またはクリックされた回数、あるいはその両方の回数に基づいてキャンペーンを終了する場合は、次の値を設定できます。
キャンペーンでは、プレースホルダを使用してパーソナライズされた Web コンテンツを表示します。キャンペーンを使用してパーソナライズされたコンテンツを表示する場合は、キャンペーン クエリを挿入して Web コンテンツを表示するプレースホルダを作成します。
プレースホルダの詳細については、このガイドの「プレースホルダ」を参照してください。特に、「プレースホルダでのデフォルト クエリとキャンペーン クエリの併用」の節を参照してください。
特定の特性に応じて動的にユーザをグループ化し、ユーザ グループに基づいてキャンペーン シナリオをトリガする場合は、ユーザ セグメントを作成します。ユーザ セグメントの詳細については、このガイドの「対話管理の概要」および WebLogic Workshop ヘルプ システムの「ユーザ セグメントを作成する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/CreatingSegments.html) を参照してください。
ユーザ、イベント、HTTP セッション、または HTTP リクエストのプロパティに基づいてキャンペーンをトリガする場合は、WebLogic Workshop ヘルプ システムにある以下の関連手順を実行します。
対話管理でのこれらのプロパティの使用方法の詳細については、このガイドの「対話管理の概要」を参照してください。
キャンペーンで電子メールを自動送信する場合は、以下の操作が完了していることを確認してください。
Email
プロパティがあります。ユーザが受信を希望した場合にのみ、電子メールを自動送信するように指定することもできます。これを指定するには、単値かつ制限付きの値の true および false を使用してユーザ プロファイル プロパティを定義します。定義したら、Campaign Service のコンフィグレーションで、[電子メール オプトイン プロパティ名
] および [オプトイン プロパティの所属先プロパティ セット名
] フィールドに、該当するプリファレンスが含まれているプロパティ セットおよびプロパティ名を入力します。プロパティ値が false に設定されたユーザには電子メールが送信されません。
<PortalWebProject>/campaigns/emails
に格納します。別のディレクトリに電子メール ファイルを格納する場合は、次の手順に従います。キャンペーンで電子メールを使用している場合は、バッチ モードとリアルタイムのどちらで電子メールを送信するかを選択できます (バッチ モードがデフォルトです)。バッチ モードでは、キャンペーンを実行またはテストするときに、電子メールは送信されません。メール送信の動作をリアルタイムに変更する方法については、「一括電子メール メッセージの設定」を参照してください。
キャンペーンで電子メールを自動送信する場合は、ポータル Web プロジェクト内のファイル システムに格納された定義済み電子メール メッセージが使用されます。デフォルトでは、電子メール ファイルが <PortalWebProject>/campaigns/emails
に格納されている場合は、それらのファイルに不正にアクセスできないように設定されています。デフォルトの電子メール セキュリティ コンフィグレーションを変更する必要がある場合は、以下の情報を使用してください。
<PortalApplication>/wps.jar/META-INF/weblogic-ejb-jar.xml
- このファイル内の次の行に、PortalSystemAdministrator グローバル ロールのユーザ名が記述されています。
<run-as-principal-name> portaladmin </run-as-principal-name>
PortalSystemAdministrator グローバル セキュリティ ロールのメンバシップは、サーバ レベルで WebLogic Server Administration Console に定義されています。Configuration Wizard で作成したポータル ドメインで、デフォルトで提供されているグループ「Administrators」および「PortalSystemAdministrators」は、PortalSystemAdministrator グローバル ロールのメンバーとしてコンフィグレーションされています。ユーザ「portaladmin」 (ポータル ドメインでもデフォルトで提供されている) は、ポータルの「Administrators」および「PortalSystemAdministrators」グループのメンバーであるため、「portaladmin」は PortalSystemAdministrator グローバル ロールのメンバーです。
電子メール セキュリティに対して別のユーザを使用する必要がある場合は、1) wps.jar のバックアップを作成します。2) wps.jar を unjar し、weblogic-ejb-jar.xml のユーザ名を変更します。3) そのユーザが存在することを確認します。4) ユーザが PortalSystemAdministrator グローバル セキュリティ ロールのメンバーであることを確認します。5) 再び jar し、古い wps.jar を置換し、アプリケーションを再デプロイします。<run-as-principal-name> に入力したユーザ名が存在しない、または <run-as-principal-name> エントリを変更せずに「portaladmin」ユーザを削除した場合は、wps.jar でデプロイメント エラーが発生します。
<PortalWebProject>/WEB-INF/web.xml
- このファイル内の次の行は、<PortalWebProject>/campaigns/emails
の電子メール ファイルを保護し、キャンペーン サービスだけが (前節で定義した PortalSystemAdministrator ユーザを通じて) 電子メールにアクセスし、送信できるようにします。
<url-pattern>/campaigns/emails/*</url-pattern>
別のディレクトリに電子メール ファイルを格納する必要がある場合は、以下の手順に従います。
1) web.xml の <url-pattern> のパスを変更して、新しいディレクトリのファイルを保護します。
2) WebLogic Administration Portal で、[サービス管理|Campaign Service] を選択し、[電子メール ブラウズ開始ディレクトリ] フィールドのディレクトリを変更します。
3) アプリケーションを再デプロイします。
コマンドを使用して、JSP が WebLogic Portal データ リポジトリに格納するバッチ電子メールを定期的に送信する必要があります。cron またはオペレーティング システムでサポートされているその他のスケジューラを使用して、send-mail
コマンドを発行することもできます。
Windows の場合、send-mail
コマンドは .bat
ファイル ラッパー スクリプト内にあります。UNIX の場合、send-mail
コマンドは .sh
ファイル内にあります。以下の節では、.bat
ファイルを参照します。UNIX ユーザは、.bat
を .sh
で置換する必要があります。
注意 : キャンペーン電子メールを送信する場合、デフォルトはバッチ モード操作を使用する true
に設定されます。バッチ モードでは、<root>/weblogic81/portal/bin
ディレクトリから mailmanager.bat
ファイルを実行して、SMTP サーバを通じて電子メールを送信する必要があります。WebLogic Workshop 8.1.x では、キャンペーン電子メールをリアルタイムで送信するように batch flag
を false
に変更するためのパッチを要求できます。
send-mail
ラッパー スクリプトでは、send-mail
リクエストを処理する WebLogic Portal ホストの名前とリスン ポートを指定します。デフォルトでは、ラッパー スクリプトはホスト名とリスン ポートに localhost:7501
を指定します。ただし、localhost:7501
は、単一ノード環境で WebLogic Portal ホストにログインしているときにスクリプトを実行する場合のみ (また、デフォルトのリスン ポートを変更していない場合のみ) 有効です。send-mail
スクリプトを他のコンフィグレーションから使用する場合は、スクリプトを変更する必要があります。
次の手順を実行して、リモート ホスト (WebLogic Portal ホスト以外のコンピュータ) から send-mail
スクリプトを実行します。
クラスタ化環境で作業している場合は、send-mail
ラッパー スクリプトを変更してクラスタ内のホストの名前を指定する必要があります。デフォルトの localhost
値は、クラスタ化環境の Mail Service に対して有効ではありません。
注意 : 次の手順は、スクリプトを実行する各ホストで実行する必要があります。
クラスタ化環境で send-mail
スクリプトを使用するには、各ホストで次の手順を実行します。
mailmanager
コマンドは、jav.com.bea.p13n.mail.MailManager
クラスを使用するラッパー スクリプトです。
mailmanager.bat [ appName ] [ list | send | send-delete | delete ]
(UNIX では
batch-name ]mailmanager.sh
)
appName
引数のみ指定した場合、mailmanager
コマンドは、アプリケーション内のすべての電子メール バッチと各バッチ内の電子メール数を標準出力に出力します。
表 5-1 に、コマンド引数のリストを示します。
表 5-2 に、mailmanager
コマンドの例を示します。
|
|
|
|
次の手順を実行して、WebLogic Portal ホストにログインしているシェルから電子メールを一括して送信します。
注意 : キャンペーンで電子メールを使用している場合は、バッチ モードとリアルタイムのどちらで電子メールを送信するかを選択できます (バッチ モードがデフォルトです)。バッチ モードでは、キャンペーンを実行またはテストするときに、電子メールは送信されません。バッチ モードの電子メールの送信方法およびメール送信の動作をリアルタイムに変更する方法については、「一括電子メール メッセージの設定」を参照してください。
スケジューリング ユーティリティを使用して、データ リポジトリ内の電子メール バッチを送信できます。mailmanager
コマンドを使用してメールを送信する場合はバッチの名前を指定する必要があるため、各キャンペーン シナリオのメール送信は個別にスケジュールする必要があります。バッチの名前は、シナリオの containerId
に対応します。containerId
は、シナリオが属するキャンペーンの ID を指定します。
スケジューリング ユーティリティの使用については、オペレーティング システムのマニュアルを参照してください。
電子メール バッチは、送信後に削除できます (「電子メールを一括送信する」を参照)。
次の手順を実行して電子メール バッチを削除することもできます。
割引のキャンペーン アクションを作成する場合は、以下の手順を実行します。手順の詳細については、WebLogic Workshop ヘルプ システムの「コマース アプリケーションを構築する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/navCommerce.html) を参照してください。
定期または行動追跡イベントを使用して、イベントとその値に基づいてキャンペーンの開始またはキャンペーン アクションのトリガを行う必要があります。一般に使用されるイベントは、SessionLoginEvent
です。
手順については、「キャンペーンでのイベントの使用」および「キャンペーン用のイベントの登録」を参照してください。「キャンペーンをトリガする方法」も参照してください。
これまでのすべての説明を使用して WebLogic Workshop でキャンペーンを作成する手順については、WebLogic Workshop ヘルプ システムの「キャンペーンを作成する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/createCampaigns.html) を参照してください。
セッションまたはリクエストのプロパティを使用してキャンペーン アクションをトリガするには、以下の操作を実行します。
注意 : キャンペーン電子メールを送信する場合、デフォルトはバッチ モード操作を使用する true
に設定されます。バッチ モードでは、<root>/weblogic81/portal/bin
ディレクトリから mailmanager.bat
ファイルを実行して、SMTP サーバを通じて電子メールを送信する必要があります。WebLogic Workshop 8.1.x では、キャンペーン電子メールをリアルタイムで送信するように batch flag
を false
に変更するためのパッチを要求できます。
キャンペーンのさまざまな要素をリセットできます。たとえば、以下の操作のうち、必要な操作を実行できます。
キャンペーンは、開発環境 (テスト用) またはプロダクション環境のどちらでもリセットできます。
キャンペーン ファイルを開き、[ポータル|キャンペーンのリセット] を選択します。図 5-1 に示す [キャンペーンのリセット] ダイアログ ボックスが表示されます。
テストでのこの機能の使用方法の詳細については、この章の「キャンペーンのテスト」を参照してください。
プロダクション環境でキャンペーンをリセットするには、WebLogic Administration Portal でキャンペーンを選択し、[Reset Campaign] ボタンをクリックします。図 5-2 に示す [キャンペーンのリセット] ダイアログ ボックスが表示されます。
以下のガイドラインに従って、開発サーバ上の開発環境でキャンペーンをテストします。
『パフォーマンス チューニング ガイド』の「キャンペーンのチューニング」を参照してください。
![]() ![]() |
![]() |
![]() |