問題
- 以下のような手順で操作した場合、各ユーザー毎に表示されるコンテンツが異なります。
手順:
1. 次の設定で、 「ユーザー」へカスタム フィールドを追加入力フィールド2. 手順 1 で作成したカスタム フィールドのアクセス許可設定から、「ユーザー」に「表示」アクセス許可を付与
フィールド名: region
3. グローバルサイトの カテゴリ設定 > カテゴリへ移動し「 region」という名前のボキャブラリを追加
「 region」に、以下の階層構造を持つカテゴリを追加
APAC
|-JP
|-AU
4. 新規サイト (test site) を追加し、ウィジェットページを追加
5. 以下の設定でWebコンテンツを追加します
Webコンテンツ A: メタデータ: "region":APAC
Webコンテンツ B: メタデータ: "region":AU
6. 次の設定でユーザーを追加します。
user1:
メンバーシップ: test site
region (カスタムフィールド): APAC
user2:
メンバーシップ: test site
region (カスタムフィールド): JP
7. ページにアセットパブリッシャーを追加
8. アセットパブリッシャーの設定を以下のように変更
データ取得方法: 動的
ソース: データのエントリタイプ: Webコンテンツ
カスタムユーザー属性: region
9. user1 および user2 としてログインし、アセットパブリッシャーが設定されたページを表示
結果:
user1 の場合:
両方のWebコンテンツが表示されます。
user2 の場合:
Webコンテンツが表示されません。
環境
- DXP 7.0+
解決
- この動作は、期待した動作です。
- user1は、カスタムフィールドに親カテゴリと同じ値を持つため、親カテゴリ、子カテゴリが設定されたWebコンテンツを表示可能です。
- user2は、カスタムフィールドに子カテゴリ「JP」を持ちますが、カテゴリ「JP」が設定されたWebコンテンツがありません。そのため、コンテンツが表示されません。
- この動作は、プロパティ「asset.categories.search.hierarchical」に関連しています。
- デフォルト設定では「true」となっているため、カテゴリの親子関係が有効となります。
- 「asset.categories.search.hierarchical=false」と設定した場合、カテゴリの親子関係が無効となります。
その場合、カスタムフィールドに設定されたカテゴリを持つコンテンツのみが、アセットパブリッシャー上に表示されます。