コミュニティのスコアとバッジ communities-scoring-and-badges
概要 overview
AEM Communitiesのスコアおよびバッジ機能を使用すると、コミュニティメンバーを特定して報酬を付与できます。
スコアとバッジの主な側面は次のとおりです。
-
バッジを割り当てコミュニティ内のメンバーの役割を識別します。
-
メンバーへのバッジの基本付与メンバーの参加を促すためのバッジ(作成されるコンテンツの量)。
-
バッジの高度な授与:メンバーをエキスパートとして識別します(作成されるコンテンツの品質)。
注意 バッジの付与は デフォルトでは有効になっていません。
バッジ badges
バッジはメンバーの名前の下に配置され、メンバーの役割またはコミュニティ内での地位を示します。 バッジは、画像または名前として表示できます。 画像として表示される場合、名前はアクセシビリティの代替テキストとして含まれます。
デフォルトでは、バッジは次の場所にあるリポジトリに格納されます。
/libs/settings/community/badging/images
別の場所に保存されている場合は、すべてのユーザーがアクセス可能な状態で読み取る必要があります。
バッジは、ルールに従って割り当てられたか、獲得したかに応じて、UGC で区別されます。 現在、割り当てられたバッジはテキストとして表示され、獲得したバッジは画像として表示されます。
バッジ管理 UI badge-management-ui
コミュニティ バッジコンソールを使用すると、メンバーが獲得(授与)した際やコミュニティで特定の役割を担った(割り当てられた)際に表示できるカスタムバッジを追加できます。
割り当て済みバッジ assigned-badges
役割ベースのバッジは、コミュニティ内の役割に基づいて、管理者がコミュニティメンバーに割り当てます。
割り当てられた(および授与された)バッジは、選択された SRP に保存され、直接アクセスすることはできません。 GUI が使用可能になるまで、役割ベースのバッジを割り当てる唯一の手段は、コードまたは cURL を使用することです。 cURL の手順については、「バッジの割り当てと失効 というタイトルの節を参照してください。
リリースには、役割ベースのバッジが 3 つ含まれています。
-
調整者
/libs/settings/community/badging/images/moderator/jcr:content/moderator.png
-
グループマネージャー
/libs/settings/community/badging/images/group-manager/jcr:content/group-manager.png
-
特権メンバー
/libs/settings/community/badging/images/privileged-member/jcr:content/privileged-member.png
審査済みバッジ awarded-badges
報酬ベースのバッジは、コミュニティ内のメンバーのアクティビティに適用されるルールに基づいて、スコアリングサービスによってコミュニティメンバーに付与されます。
アクティビティの報酬としてバッジが表示されるようにするには、次の 2 つの処理を行う必要があります。
リリースには、報酬ベースのバッジが 3 つ含まれています。
-
ゴールド
/libs/settings/community/badging/images/gold-badge/jcr:content/gold.png
-
シルバー
/libs/settings/community/badging/images/silver-badge/jcr:content/silver.png
-
ブロンズ
/libs/settings/community/badging/images/bronze-badge/jcr:content/bronze.png
カスタムバッジ custom-badges
カスタムバッジは、 バッジコンソールを使用してインストールでき、バッジルールに割り当てることも、指定することもできます。
バッジコンソールからインストールすると、カスタムバッジがパブリッシュ環境に自動的に複製されます。
スコアリングを有効にする enable-scoring
スコアリングは、デフォルトでは有効になっていません。 バッジのスコアリングと授与を設定して有効にするための基本的な手順は次のとおりです。
-
ポイントを獲得するためのルール( スコアリング ルール)を識別します。
フォーラムとコメントのデフォルトのスコアリングルールおよびバッジルールを使用してコミュニティサイトのスコアリングを有効にするには、 クイックテストの節を参照してください。
コンテンツへのルールの適用 apply-rules-to-content
スコアおよびバッジを有効にするには、サイトのコンテンツツリーの任意のノードにプロパティ scoringRules
と badgingRules
を追加します。
サイトが既に公開されている場合は、すべてのルールを適用してコンポーネントを有効にした後、サイトを再公開します。
バッジが有効になっているコンポーネントに適用されるルールは、現在のノードまたはその上位のノードのルールです。
ノードのタイプが cq:Page
(推奨)の場合は、CRXDE|Lite を使用して、jcr:content
ノードにプロパティを追加します。
コンポーネントのバッジを有効にする enable-badges-for-component
スコアおよびバッディングルールは、(オーサリングモード でコンポーネント設定を編集することでバッジが有効になっているコンポーネントのインスタンスに対してのみ有効なります。
ブール型プロパティ allowBadges
は、コンポーネントインスタンスのバッジの表示を有効または無効にします。 バッジを表示というラベルの付いたチェックボックスを使用して、フォーラムコンポーネント、QnA コンポーネント、コメントコンポーネントの コンポーネント編集ダイアログ で設定できます。
例:フォーラムコンポーネントインスタンスの allowBadges example-allowbadges-for-forum-component-instance
スコアルール scoring-rules
スコアルールは、バッジを付与するためのスコアリングの基礎です。
各スコアルールは、1 つ以上のサブルールのリストです。 スコアルールは、バッジが有効な場合に適用するルールを識別するために、コミュニティサイトのコンテンツに適用されます。
スコアルールは継承されますが、加算はできません。 次に例を示します。
-
page2 にスコアリング・ルール 2 が含まれ、その上位 page1 にスコアリング・ルール 1 が含まれる場合。
-
page2 コンポーネントに対するアクションは、rule1 と rule2 の両方を呼び出します。
-
両方のルールに、同じルー
topic/verb
に適用可能なサブルールが含まれる場合:- ルール 2 のサブルールのみがスコアに影響します。
- 両方のサブルールのスコアは追加されません。
複数のスコアルールがある場合、スコアはルールごとに別々に維持されます。
スコアルールはタイプ cq:Page
のノードで、jcr:content
ノードにプロパティがあり、定義するサブルールのリストを指定します。
スコアは SRP に保存されます。
/libs/settings/community/scoring/rules/site2/forums-scoring
スコアリングサブルール scoring-sub-rules
スコアリングサブルールには、コミュニティに参加するための値の詳細を示すプロパティが含まれています。
各スコアリング・サブルールは、次の項目を識別します。
- 追跡されているアクティビティは何ですか?
- 関与するコミュニティ機能の具体的な種類
- 何点が付与されますか?
デフォルトでは、サブルールがポイントの獲得者としてコンテンツの所有者を指定していない限り、アクションを実行したメンバーにポイントが付与されます(forOwner
)。
各サブルールは、1 つ以上のスコアルールに含めることができます。
通常、サブルールの名前は、subject、object、および verb を使用するパターンに従います。 次に例を示します。
- member-comment-create
- 会員が投票する
サブルールはタイプ cq:Page
のノードで、jcr:content
動詞とトピック を指定するノードにプロパティがあります。
スコアルールとサブルールを含む included-scoring-rules-and-sub-rules
このリリースには、 フォーラム機能の 2 つのスコアルール(フォーラム機能のフォーラム コンポーネントとコメント コンポーネントのそれぞれに 1 つずつ)が含まれています。
-
/libs/settings/community/scoring/rules/comments-scoring
- subRules[] =
/libs/settings/community/scoring/rules/sub-rules/member-comment-create
/libs/settings/community/scoring/rules/sub-rules/member-receive-vote
/libs/settings/community/scoring/rules/sub-rules/member-give-vote
/libs/settings/community/scoring/rules/sub-rules/member-is-moderated
- subRules[] =
-
/libs/settings/community/scoring/rules/forums-scoring
- subRules[] =
/libs/settings/community/scoring/rules/sub-rules/member-forum-create
/libs/settings/community/scoring/rules/sub-rules/member-receive-vote
/libs/settings/community/scoring/rules/sub-rules/member-give-vote
/libs/settings/community/scoring/rules/sub-rules/member-is-moderated
- subRules[] =
メモ:
-
rules
ノードとsub-rules
ノードのタイプはどちらも cq:Page です。 -
subRules
は、ルールのjcr:content
ノードにある [] 文字列型の属性です。 -
sub-rules
は、様々なスコアルールで共有される場合があります。 -
rules
べてのユーザーに対して読み取り権限を持つリポジトリの場所に置く必要があります。- ルール名は、場所に関係なく一意である必要があります。
カスタムスコアルールの有効化 activating-custom-scoring-rules
オーサー環境で行われたスコアルールまたはサブルールに対する変更や追加は、パブリッシュ環境にインストールする必要があります。
バッジルール badging-rules
バッジルールは、次のように指定して、スコアルールをバッジにリンクします。
- スコアルール
- 特定のバッジを授与されるために必要なスコア
バッジルールはタイプ cq:Page
のノードで、jcr:content
ノードにプロパティがあり、スコアルールをスコアおよびバッジに関連付けます。
バッジのルールは、バッジにマッピングされたスコアの順序付きリストである必須の thresholds
プロパティで構成されます。 スコアは、値を増やして並べ替える必要があります。 次に例を示します。
-
1|/libs/settings/community/badging/images/bronze-badge/jcr:content/bronze.png
- ブロンズバッジは 1 点獲得で獲得できます。
-
60|/libs/settings/community/badging/images/silver-badge/jcr:content/silver.png
- シルバーバッジは 60 ポイント貯まると付与されます。
-
80|/libs/settings/community/badging/images/gold-badge/jcr:content/gold.png
- 80 ポイントがたまったらゴールドバッジが付与されます。
バッジルールは、ポイントの蓄積方法を決定するスコアルールとペアになっています。 「 コンテンツへのルールの適用」の節を参照してください。
バッジルールの scoringRules
プロパティは、その特定のバッジルールとペアにできるスコアルールを制限するだけです。
含まれるバッジルール included-badging-rules
リリースには、 フォーラムとコメントのスコアルールに対応する 2 つのバッジルールが含まれています。
-
/libs/settings/community/badging/rules/comments-badging
-
/libs/settings/community/badging/rules/forums-badging
メモ:
-
ノ
rules
ドのタイプは cq:Page です。 -
rules
べてのユーザーに対して読み取り権限を持つリポジトリの場所に置く必要があります。- ルール名は、場所に関係なく一意である必要があります。
カスタムバッジルールのアクティブ化 activating-custom-badging-rules
オーサー環境で行われたバッジルールまたは画像の変更や追加は、すべてパブリッシュ環境にインストールする必要があります。
バッジの割り当てと取り消し assign-and-revoke-badges
バッジは、 メンバーコンソールまたは cURL コマンドを使用したプログラムを使用して、メンバーに割り当てることができます。
次の cURL コマンドは、バッジの割り当てと取り消しに関する HTTP リクエストに必要な操作を示しています。 基本的な形式は次のとおりです。
cURL -i -X POST -H ヘッダー -u サインイン -F 操作 -F バッジ member-profile-url
header = "Accept:application/json"
サーバーに渡すカスタムヘッダー(必須)
signin = administrator-id:password
例:admin:admin
operation = ":operation=social:assignBadge" OR ":operation=social:deleteBadge"
badge = "badgeContentPath=badge-image-file"
badge-image-file = リポジトリ内のバッジ画像ファイルの場所
例:/libs/settings/community/badging/images/moderator/jcr:content/moderator.png
member-profile-url = メンバーのプロファイルの公開時のエンドポイント
例:https://<server>:<port>/home/users/community/riley/profile.social.json
- トンネルサービスが有効になっている場合は、オーサーインスタンスを参照できます。
- 名前が不明瞭でランダムな場合があります。認証可能な ID については、 セキュリティチェックリストを参照してください。
例: examples
モデレータバッジを割り当てる assign-a-moderator-badge
curl -i -X POST -H "Accept:application/json" -u admin:admin -F ":operation=social:assignBadge" -F "badgeContentPath=/libs/settings/community/badging/images/moderator/jcr:content/moderator.png" /home/users/community/updcs9DndLEI74DB9zsB/profile.social.json
割り当てられたシルバーバッジの取り消し revoke-an-assigned-silver-badge
curl -i -X POST -H "Accept:application/json" -u admin:admin -F ":operation=social:deleteBadge" -F "badgeContentPath=/libs/settings/community/badging/images/silver/jcr:content/silver.png" /home/users/community/updcs9DndLEI74DB9zsB/profile.social.json
カスタムコンポーネントのスコアとバッジ scoring-and-badges-for-custom-components
コンポーネント用に作成したイベントトピックを動詞に関連付けることで、カスタムコンポーネントのスコアおよびバッジルールを作成できます。
トピックと動詞 topics-and-verbs
メンバーがコミュニティの機能を操作すると、通知やスコアリングなどの非同期リスナーをトリガーにできるイベントが送信されます。
コンポーネントの SocialEvent インスタンスは、イベントを topic
ージに発生した actions
として記録します。 SocialEvent には、アクションに関連付けられた verb
を返すメソッドが含まれています。 actions
と verbs
の間には n-1 関係があります。
提供されるコミュニティコンポーネントについて、次の表では、 スコアリング verbs
ブルールで使用できる各 topic
に定義されるルールについて説明します。
allowBadges
は、コンポーネントインスタンスのバッジの表示を有効または無効にします。 バッジを表示 **というラベルの付いたチェックボックスを使用して更新された** コンポーネント編集ダイアログ)で設定できます。カレンダーコンポーネント
SocialEvent topic
= com/adobe/cq/social/calendar
コメントコンポーネント
SocialEvent topic
= com/adobe/cq/social/comment
ファイルライブラリコンポーネント
SocialEvent topic
= com/adobe/cq/social/fileLibrary
フォーラムコンポーネント
SocialEvent topic
= com/adobe/cq/social/forum
ジャーナルコンポーネント
SocialEvent topic
= com/adobe/cq/social/journal
QnA コンポーネント
SocialEvent topic
= com/adobe/cq/social/qna
レビューコンポーネント
SocialEvent topic
= com/adobe/cq/social/review
評価コンポーネント
SocialEvent topic
= com/adobe/cq/social/tally/rating
議決権行使書面
SocialEvent topic
= com/adobe/cq/social/tally/voting
モデレートが有効なコンポーネント
SocialEvent topic
= com/adobe/cq/social/moderation
カスタムコンポーネントイベント custom-component-events
カスタムコンポーネントの場合、SocialEvent がインスタンス化され、コンポー topic
ントに発生するイベントとしてコンポーネントのイベント actions
記録されます。
スコアリングをサポートするには、メソッド getVerb()
を SocialEvent で上書きして、各 action
ースに適切な verb
を返す必要があります。 アクションに対して返される verb
は、一般的に使用されるもの(POST
など)や、コンポーネント専用のもの(ADD RATING
など)にすることができます。 actions
と verbs
の間には n-1 関係があります。
トラブルシューティング troubleshooting
バッジが表示されない badges-are-not-appearing
Web サイトのコンテンツにスコアおよびバッジルールが適用されていて、アクティビティに対してバッジが付与されていない場合は、そのコンポーネントのインスタンスに対してバッジが有効になっていることを確認してください。
コンポーネントのバッジの有効化を参照してください。
スコアルールが無効 scoring-rule-has-no-effect
Web サイトのコンテンツにスコアルールとバッジルールが適用されていて、一部のアクションにのみバッジが付与され、他のアクションには付与されない場合は、バッジルールが適用対象のスコアルールを制限していないことを確認します。
バッジルールの scoringRules
プロパティを参照してください。
大文字と小文字を区別するタイプミス case-sensitive-typo
ほとんどのプロパティと値、特に動詞では、大文字と小文字が区別されます。 スコアリング サブルールで使用する場合、動詞はすべて大文字である必要があります。
機能が期待どおりに動作しない場合は、データが正しく入力されていることを確認します。
クイックテスト quick-test
入門チュートリアル(engage)サイトを使用して、スコアリングとバッジをすばやく試すことができます。
-
オーサー環境のCRXDE Liteにアクセスします。
-
ベースページを参照します。
- /content/sites/engage/en/jcr:content
-
badgingrules プロパティを追加します。
- 名前:
badgingRules
- 型:
String
- Multi を選択します。
- 「追加」を選択します
/libs/settings/community/badging/rules/forums-badging
と入力します。- + を選択
/libs/settings/community/badging/rules/comments-badging
と入力します。- 「OK」を選択します。
- 名前:
-
scoringRules プロパティを追加します。
- 名前:
scoringRules
- 型:
String
- Multi を選択します。
- 「追加」を選択します
/libs/settings/community/scoring/rules/forums-scoring
と入力します。- + を選択
/libs/settings/community/scoring/rules/comments-scoring
と入力します。- 「OK」を選択します。
- 名前:
-
「すべて保存」を選択します。
次に、フォーラムおよびコメントのコンポーネントで、バッジを表示できることを確認します。
-
もう一度CRXDE Liteを使用します。
-
フォーラムコンポーネントを参照します
/content/sites/engage/en/forum/jcr:content/content/primary/forum
-
必要に応じて、ブール値プロパティ allowBadges を追加し、そのプロパティが true であることを確認します。
- 名前:
allowBadges
- 型:
Boolean
- 値:
true
- 名前:
次に、コミュニティサイトを 再公開します。
最後に
-
パブリッシュインスタンスでコンポーネントを参照します。
-
コミュニティメンバーとしてログインします(例:weston.mccall@dodgit.com/パスワード)。
-
Post – 新しいフォーラムトピック。
-
バッジを表示するには、ページを更新する必要があります。
- 別のコミュニティメンバーとしてログアウトしてログインします(例:aaron.mcdonald@mailinator.com/password)。
-
フォーラムを選択します。
最初のフォーラムバッジルールの最初のしきい値が 1 のスコアなので、これにより、コミュニティメンバーにはフォーラム投稿に表示されるブロンズバッジが与えられます。
追加情報 additional-information
詳しくは、開発者向けの スコアおよびバッジの基本事項ページを参照してください。
高度なスコアリングエンジンについては、 高度なスコアリングとバッジを参照してください。
設定可能なリーダーボード コンポーネントおよび 関数を使用すると、コミュニティサイトでのメンバーとそのスコアの表示を簡素化できます。